Skip to content

Commit

Permalink
Merge pull request #46 from WellingtonCosta/development
Browse files Browse the repository at this point in the history
Releasing version 3.0.0.
  • Loading branch information
wellingtoncosta authored Jan 14, 2019
2 parents 35efab1 + 03c1ef0 commit 3645b72
Show file tree
Hide file tree
Showing 78 changed files with 2,043 additions and 1,070 deletions.
4 changes: 4 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ jobs:

steps:
- checkout

- run:
name: Chmod permissions
command: sudo chmod +x ./gradlew

- run:
name: Install Codecov
Expand Down
31 changes: 28 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,40 @@
# Convalida [![API](https://img.shields.io/badge/API-14%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=14) [![CircleCI Build Status](https://circleci.com/gh/circleci/circleci-docs.svg?style=shield)](https://circleci.com/gh/WellingtonCosta/convalida) [![codecov](https://codecov.io/gh/WellingtonCosta/convalida/branch/master/graph/badge.svg)](https://codecov.io/gh/WellingtonCosta/convalida) [![](https://jitpack.io/v/WellingtonCosta/convalida.svg)](https://jitpack.io/#WellingtonCosta/convalida) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Convalida-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/6289) [![Android Weekly](https://img.shields.io/badge/Android%20Weekly-%23305-brightgreen.svg)](https://androidweekly.net/issues/issue-305)
# Convalida [![API](https://img.shields.io/badge/API-14%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=14) [![CircleCI Build Status](https://circleci.com/gh/circleci/circleci-docs.svg?style=shield)](https://circleci.com/gh/WellingtonCosta/convalida) [![codecov](https://codecov.io/gh/WellingtonCosta/convalida/branch/master/graph/badge.svg)](https://codecov.io/gh/WellingtonCosta/convalida) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.wellingtoncosta/convalida-runtime/badge.png)](https://maven-badges.herokuapp.com/maven-central/io.github.wellingtoncosta/convalida-runtime)
[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Convalida-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/6289) [![Android Weekly](https://img.shields.io/badge/Android%20Weekly-%23305-brightgreen.svg)](https://androidweekly.net/issues/issue-305)

![Logo](logo.png)

**Convalida** - (Italian for "validation")

Convalida is a simple, lightweight and powerful field validation library for Android.

## Documentation
### Documentation

Go to the [website][1] for more information.

## License
### Download

To use Convalida with annotations or Data Binding support, and compile-time code generation:

```groovy
dependencies {
implementation 'io.github.wellingtoncosta:convalida-runtime:3.0.0-beta02'
annotationProcessor 'io.github.wellingtoncosta:convalida-compiler:3.0.0-beta02'
}
```

*If you are using Kotlin, replace `annotationProcessor` with `kapt`.*

Or if you want to use only the Convalida Kotlin Dsl:

```groovy
dependencies {
implementation 'io.github.wellingtoncosta:convalida-ktx:3.0.0-beta02'
}
```

*Snapshots of the development version are available in [Sonatype's `snapshots` repository][2].*

### License

Copyright 2017 Wellington Costa

Expand All @@ -27,3 +51,4 @@ Go to the [website][1] for more information.
limitations under the License.

[1]: https://wellingtoncosta.github.io/convalida
[2]: https://oss.sonatype.org/content/repositories/snapshots/
140 changes: 91 additions & 49 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,75 +1,117 @@
apply plugin: 'com.github.ben-manes.versions'

version = '2.1.0'

buildscript {
ext.versions = [
'minSdk': 14,
'compileSdk': 27,
'buildTools': '27.0.3',
'supportLibrary': '27.1.1',
'androidPlugin': '3.1.1'
android: [
plugin: [
gradle: '3.2.1',
jacoco: '0.1.3'
],
sdk: [
compile: 28,
min: 14
]
],
androidx: [
annotations: '1.0.1',
appcompat: '1.0.2',
constraintlayout: '1.1.3',
core: '1.0.1',
databinding: '3.2.1',
test: [
espresso: '3.1.1',
ext: [
junit: '1.1.0'
],
rules: '1.1.1',
runner: '1.1.1'
]
],
google: [
android: '4.1.1.4',
autoservice: '1.0-rc4',
material: '1.0.0'
],
java: 1.7,
javapoet: '1.10.0',
kotlin: '1.3.11',
test: [
junit: '4.12',
mockito: '2.23.4'
]
]

ext.deps = [
android: [
'runtime': 'com.google.android:android:4.1.1.4',
'gradlePlugin': "com.android.tools.build:gradle:${versions.androidPlugin}",
'mavenPlugin': 'com.github.dcendents:android-maven-gradle-plugin:2.1'
],
support: [
'annotations': "com.android.support:support-annotations:${versions.supportLibrary}",
'compat': "com.android.support:support-compat:${versions.supportLibrary}",
'design': "com.android.support:design:${versions.supportLibrary}"
],
javapoet: 'com.squareup:javapoet:1.10.0',
autoService: 'com.google.auto.service:auto-service:1.0-rc4',
junit: 'junit:junit:4.12'
android: [
plugin: [
gradle: "com.android.tools.build:gradle:$versions.android.plugin.gradle",
jacoco: "com.dicedmelon.gradle:jacoco-android:$versions.android.plugin.jacoco"
]
],
androidx: [
annotations: "androidx.annotation:annotation:$versions.androidx.annotations",
appcompat: "androidx.appcompat:appcompat:$versions.androidx.appcompat",
constraintlayout: "androidx.constraintlayout:constraintlayout:$versions.androidx.constraintlayout",
core: "androidx.core:core:$versions.androidx.core",
databinding: [
common: "androidx.databinding:databinding-common:$versions.androidx.databinding",
compiler: "androidx.databinding:databinding-compiler:$versions.androidx.databinding"
],
test: [
espresso: "androidx.test.espresso:espresso-core:$versions.androidx.test.espresso",
ext: [
junit: "androidx.test.ext:junit:$versions.androidx.test.ext.junit"
],
rules: "androidx.test:rules:$versions.androidx.test.rules",
runner: "androidx.test:runner:$versions.androidx.test.runner"
]
],
google: [
android: "com.google.android:android:$versions.google.android",
autoservice: "com.google.auto.service:auto-service:$versions.google.autoservice",
material: "com.google.android.material:material:$versions.google.material"
],
javapoet: "com.squareup:javapoet:$versions.javapoet",
kotlin: [
plugin: [
gradle: "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"
],
stdlib: "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlin"
],
test: [
junit: "junit:junit:$versions.test.junit",
mockito: [
android: "org.mockito:mockito-android:$versions.test.mockito",
core: "org.mockito:mockito-core:$versions.test.mockito"
]
]
]

repositories {
mavenCentral()
google()
maven { url "https://plugins.gradle.org/m2/" }
jcenter()
mavenCentral()
}

dependencies {
classpath deps.android.gradlePlugin
classpath('com.dicedmelon.gradle:jacoco-android:0.1.2') {
classpath deps.android.plugin.gradle
classpath deps.kotlin.plugin.gradle
classpath(deps.android.plugin.jacoco) {
exclude group: 'org.codehaus.groovy', module: 'groovy-all'
}
classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
}
}

allprojects {
repositories {
mavenCentral()
google()
maven { url "https://plugins.gradle.org/m2/" }
maven { url 'https://jitpack.io' }
classpath 'com.github.ben-manes:gradle-versions-plugin:0.20.0'
classpath 'com.vanniktech:gradle-maven-publish-plugin:0.6.0'
}
}

subprojects { project ->
project.version = rootProject.version
group = GROUP
version = VERSION_NAME

repositories {
mavenCentral()
google()
maven { url "https://plugins.gradle.org/m2/" }
jcenter()
mavenCentral()
}

buildscript {
repositories {
mavenCentral()
google()
maven { url "https://plugins.gradle.org/m2/" }
}

dependencies {
classpath deps.android.gradlePlugin
classpath deps.android.mavenPlugin
}
}
}
24 changes: 7 additions & 17 deletions convalida-annotations/build.gradle
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
import com.android.build.gradle.internal.LoggerWrapper
import com.android.build.gradle.internal.SdkHandler

apply plugin: 'java'
apply plugin: 'maven'
group = 'com.github.WellingtonCosta'
apply plugin: 'java-library'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

task sourcesJar(type: Jar) {
from sourceSets.main.java.srcDirs
classifier = 'sources'
}

artifacts {
archives sourcesJar
}
sourceCompatibility = versions.java
targetCompatibility = versions.java

def logger = new LoggerWrapper(project.logger)
def sdkHandler = new SdkHandler(project, logger)
Expand All @@ -26,6 +15,7 @@ for (File file : sdkHandler.sdkLoader.repositories) {
}

dependencies {
compileOnly deps.android.runtime
implementation deps.support.annotations
}
api deps.androidx.annotations
}

apply plugin: 'com.vanniktech.maven.publish'
3 changes: 3 additions & 0 deletions convalida-annotations/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
POM_NAME=Convalida Annotations
POM_ARTIFACT_ID=convalida-annotations
POM_PACKAGING=jar
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
package convalida.annotations;

import android.support.annotation.StringRes;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import androidx.annotation.StringRes;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.SOURCE;

/**
* @author Wellington Costa on 25/04/18.
*/
public @interface BetweenValidation {
public @interface Between {

@Target(FIELD)
@Retention(SOURCE)
@interface Start {

int key();

@StringRes int errorMessage();
@StringRes int errorMessageResId() default -1;

String errorMessage() default "";

boolean autoDismiss() default true;

Expand All @@ -31,7 +33,9 @@

int key();

@StringRes int errorMessage();
@StringRes int errorMessageResId() default -1;

String errorMessage() default "";

boolean autoDismiss() default true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.CLASS;
import static java.lang.annotation.RetentionPolicy.SOURCE;

/**
* @author Wellington Costa on 19/01/2018.
*/
@Target(FIELD)
@Retention(SOURCE)
public @interface ClearValidationsOnClick {
}
public @interface ClearValidationsOnClick { }
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
package convalida.annotations;

import android.support.annotation.StringRes;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import androidx.annotation.StringRes;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.CLASS;
import static java.lang.annotation.RetentionPolicy.SOURCE;

/**
* @author Wellington Costa on 07/02/18.
*/
@Target(FIELD)
@Retention(SOURCE)
public @interface ConfirmEmailValidation {
public @interface ConfirmEmail {

@StringRes int errorMessageResId() default -1;

@StringRes int errorMessage();
String errorMessage() default "";

boolean autoDismiss() default true;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
package convalida.annotations;

import android.support.annotation.StringRes;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import androidx.annotation.StringRes;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.CLASS;
import static java.lang.annotation.RetentionPolicy.SOURCE;

/**
* @author Wellington Costa on 27/06/2017.
*/
@Target(FIELD)
@Retention(SOURCE)
public @interface ConfirmPasswordValidation {
public @interface ConfirmPassword {

@StringRes int errorMessageResId() default -1;

@StringRes int errorMessage();
String errorMessage() default "";

boolean autoDismiss() default true;

Expand Down
Loading

0 comments on commit 3645b72

Please sign in to comment.