diff --git a/.circleci/config.yml b/.circleci/config.yml index 8475309..a02720e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,8 +1,8 @@ -version: 2 +version: 2.1 jobs: build: docker: - - image: circleci/android:api-26-alpha + - image: circleci/android:api-30 working_directory: ~/repo @@ -29,14 +29,6 @@ jobs: name: Run Tests command: ./gradlew testDebug - - run: - name: Check - command: | - if [ ! $CIRCLE_BRANCH = 'master' ]; then - ./gradlew --stacktrace lintDebug - ./gradlew --stacktrace ktlintDebugCheck - fi - - store_artifacts: path: app/build/outputs destination: outputs diff --git a/build.gradle b/build.gradle index 87b7834..73ad7bd 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,8 @@ import dependencies.Depends buildscript { repositories { google() - jcenter() mavenCentral() - maven { url "https://plugins.gradle.org/m2/" } + gradlePluginPortal() maven { url "https://jitpack.io" } } dependencies { @@ -17,7 +16,7 @@ buildscript { allprojects { repositories { google() - jcenter() + mavenCentral() maven { url "https://jitpack.io" } } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 15b61a2..aebe261 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -2,5 +2,5 @@ plugins { `kotlin-dsl` } repositories { - jcenter() -} \ No newline at end of file + mavenCentral() +} diff --git a/buildSrc/src/main/java/dependencies/Depends.kt b/buildSrc/src/main/java/dependencies/Depends.kt index d22786c..4920282 100644 --- a/buildSrc/src/main/java/dependencies/Depends.kt +++ b/buildSrc/src/main/java/dependencies/Depends.kt @@ -8,10 +8,10 @@ object Depends { } object Test { - const val junit = "junit:junit:4.12" - const val testRunner = "androidx.test:runner:1.1.0" + const val junit = "junit:junit:4.13.2" + const val testRunner = "androidx.test:runner:1.4.0" const val mockitoKotlin = "com.nhaarman.mockitokotlin2:mockito-kotlin:2.0.0" - const val robolectric = "org.robolectric:robolectric:3.5.1" + const val robolectric = "org.robolectric:robolectric:4.6.1" object Espresso { const val core = "androidx.test.espresso:espresso-core:3.1.0-alpha4" diff --git a/example/build.gradle b/example/build.gradle index e014956..f5d312a 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -21,17 +21,6 @@ android { versionCode versionMajor * 10000 + versionMinor * 100 + versionPatch versionName "$versionMajor.$versionMinor.$versionPatch" } - signingConfigs { - release { - storeFile file("debug.keystore") - storePassword "android" - keyAlias "androiddebugkey" - keyPassword "android" - } - } - dexOptions { - preDexLibraries false - } buildTypes { debug { applicationIdSuffix '.debug' @@ -42,7 +31,7 @@ android { zipAlignEnabled true minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - signingConfig signingConfigs.release + signingConfig signingConfigs.debug } } testOptions { diff --git a/example/src/test/java/co/kyash/vtl/example/testing/RxImmediateSchedulerRule.kt b/example/src/test/java/co/kyash/vtl/example/testing/RxImmediateSchedulerRule.kt index 1471032..d682509 100644 --- a/example/src/test/java/co/kyash/vtl/example/testing/RxImmediateSchedulerRule.kt +++ b/example/src/test/java/co/kyash/vtl/example/testing/RxImmediateSchedulerRule.kt @@ -1,7 +1,7 @@ package co.kyash.vtl.example.testing -import io.reactivex.plugins.RxJavaPlugins -import io.reactivex.schedulers.Schedulers +import io.reactivex.rxjava3.plugins.RxJavaPlugins +import io.reactivex.rxjava3.schedulers.Schedulers import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement @@ -26,4 +26,4 @@ class RxImmediateSchedulerRule : TestRule { } } -} \ No newline at end of file +} diff --git a/example/src/test/java/co/kyash/vtl/example/validators/MaterialDesignColorsValidatorTest.kt b/example/src/test/java/co/kyash/vtl/example/validators/MaterialDesignColorsValidatorTest.kt index a764a7a..7440f29 100644 --- a/example/src/test/java/co/kyash/vtl/example/validators/MaterialDesignColorsValidatorTest.kt +++ b/example/src/test/java/co/kyash/vtl/example/validators/MaterialDesignColorsValidatorTest.kt @@ -6,7 +6,7 @@ import co.kyash.vtl.example.testing.RxImmediateSchedulerRule import co.kyash.vtl.validators.VtlValidator import com.nhaarman.mockitokotlin2.doReturn import com.nhaarman.mockitokotlin2.mock -import io.reactivex.Single +import io.reactivex.rxjava3.core.Single import org.junit.Before import org.junit.Ignore import org.junit.Rule @@ -67,8 +67,10 @@ class MaterialDesignColorsValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/gradle.properties b/gradle.properties index 1c46fe6..5e2afb4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,2 @@ org.gradle.jvmargs=-Xmx1536m -android.databinding.enableV2=true android.useAndroidX=true -android.enableJetifier=true \ No newline at end of file diff --git a/jitpack.yml b/jitpack.yml new file mode 100644 index 0000000..adb3fe1 --- /dev/null +++ b/jitpack.yml @@ -0,0 +1,2 @@ +jdk: + - openjdk11 diff --git a/library/build.gradle b/library/build.gradle index 1c81b3b..0c79a5a 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -3,6 +3,7 @@ import dependencies.Versions apply plugin: 'com.android.library' apply plugin: 'kotlin-android' +apply plugin: 'maven-publish' def versionMajor = 1 def versionMinor = 1 @@ -30,6 +31,21 @@ android { } } + testOptions { + unitTests.includeAndroidResources = true + } +} + +afterEvaluate { + publishing { + publications { + release(MavenPublication) { + from components.release + artifactId = "validatable-textinput-layout" + artifact(sourcesJar) + } + } + } } dependencies { @@ -46,7 +62,6 @@ dependencies { testImplementation Depends.Test.robolectric } -// build a jar with source files task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' diff --git a/library/src/test/java/co/kyash/vtl/testing/RxImmediateSchedulerRule.kt b/library/src/test/java/co/kyash/vtl/testing/RxImmediateSchedulerRule.kt index f7e1636..0fea24b 100644 --- a/library/src/test/java/co/kyash/vtl/testing/RxImmediateSchedulerRule.kt +++ b/library/src/test/java/co/kyash/vtl/testing/RxImmediateSchedulerRule.kt @@ -1,7 +1,7 @@ package co.kyash.vtl.testing -import io.reactivex.plugins.RxJavaPlugins -import io.reactivex.schedulers.Schedulers +import io.reactivex.rxjava3.plugins.RxJavaPlugins +import io.reactivex.rxjava3.schedulers.Schedulers import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement @@ -26,4 +26,4 @@ class RxImmediateSchedulerRule : TestRule { } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/AlphabetOnlyValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/AlphabetOnlyValidatorTest.kt index 37037ee..dca713d 100644 --- a/library/src/test/java/co/kyash/vtl/validators/AlphabetOnlyValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/AlphabetOnlyValidatorTest.kt @@ -68,8 +68,10 @@ class AlphabetOnlyValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/AsciiOnlyValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/AsciiOnlyValidatorTest.kt index d1144de..1098b01 100644 --- a/library/src/test/java/co/kyash/vtl/validators/AsciiOnlyValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/AsciiOnlyValidatorTest.kt @@ -65,8 +65,10 @@ class AsciiOnlyValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/EmailValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/EmailValidatorTest.kt index 843594d..ef5cf59 100644 --- a/library/src/test/java/co/kyash/vtl/validators/EmailValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/EmailValidatorTest.kt @@ -61,8 +61,10 @@ class EmailValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/HiraganaOnlyValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/HiraganaOnlyValidatorTest.kt index 2f168bb..0d44065 100644 --- a/library/src/test/java/co/kyash/vtl/validators/HiraganaOnlyValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/HiraganaOnlyValidatorTest.kt @@ -62,8 +62,10 @@ class HiraganaOnlyValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/KatakanaOnlyValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/KatakanaOnlyValidatorTest.kt index 8002801..c84dce2 100644 --- a/library/src/test/java/co/kyash/vtl/validators/KatakanaOnlyValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/KatakanaOnlyValidatorTest.kt @@ -62,8 +62,10 @@ class KatakanaOnlyValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/MinLengthValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/MinLengthValidatorTest.kt index d41c54f..8233cb1 100644 --- a/library/src/test/java/co/kyash/vtl/validators/MinLengthValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/MinLengthValidatorTest.kt @@ -64,8 +64,10 @@ class MinLengthValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/NoSpecialCharacterValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/NoSpecialCharacterValidatorTest.kt index 9386465..b3e8f5b 100644 --- a/library/src/test/java/co/kyash/vtl/validators/NoSpecialCharacterValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/NoSpecialCharacterValidatorTest.kt @@ -71,7 +71,9 @@ class NoSpecialCharacterValidatorTest( if (errorMessage == null) { validator.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - validator.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + validator.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } } diff --git a/library/src/test/java/co/kyash/vtl/validators/NumberOnlyValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/NumberOnlyValidatorTest.kt index 84c2ae2..25226a5 100644 --- a/library/src/test/java/co/kyash/vtl/validators/NumberOnlyValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/NumberOnlyValidatorTest.kt @@ -59,8 +59,10 @@ class NumberOnlyValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +} diff --git a/library/src/test/java/co/kyash/vtl/validators/RequiredValidatorTest.kt b/library/src/test/java/co/kyash/vtl/validators/RequiredValidatorTest.kt index 1cade35..61b0ae3 100644 --- a/library/src/test/java/co/kyash/vtl/validators/RequiredValidatorTest.kt +++ b/library/src/test/java/co/kyash/vtl/validators/RequiredValidatorTest.kt @@ -63,8 +63,10 @@ class RequiredValidatorTest( if (errorMessage == null) { subject.validateAsCompletable(context, text).test().assertNoErrors().assertComplete() } else { - subject.validateAsCompletable(context, text).test().assertErrorMessage(errorMessage) + subject.validateAsCompletable(context, text).test().assertError { it -> + it.message == errorMessage + } } } -} \ No newline at end of file +}