From 587686476eb29a3c791356bfe7a2fef3cfc6d786 Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 14:16:50 +0900 Subject: [PATCH 1/7] jitpack: use JDK 11 --- jitpack.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 jitpack.yml 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 From a4b43a2e544dfdef15d20b0eed0c7787b9ef80a4 Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 14:37:25 +0900 Subject: [PATCH 2/7] fix jitpack: add maven-publish plugin --- example/build.gradle | 3 --- library/build.gradle | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/example/build.gradle b/example/build.gradle index e014956..5875ddd 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -29,9 +29,6 @@ android { keyPassword "android" } } - dexOptions { - preDexLibraries false - } buildTypes { debug { applicationIdSuffix '.debug' diff --git a/library/build.gradle b/library/build.gradle index 1c81b3b..75364e5 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 From 58ee05a12d9101127deb33d2d2626fdd5a963291 Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 15:00:30 +0900 Subject: [PATCH 3/7] fix jitpack: fix signing --- build.gradle | 5 ++--- buildSrc/build.gradle.kts | 4 ++-- example/build.gradle | 10 +--------- gradle.properties | 3 +-- 4 files changed, 6 insertions(+), 16 deletions(-) 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/example/build.gradle b/example/build.gradle index 5875ddd..f5d312a 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -21,14 +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" - } - } buildTypes { debug { applicationIdSuffix '.debug' @@ -39,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/gradle.properties b/gradle.properties index 1c46fe6..47a56de 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,3 @@ org.gradle.jvmargs=-Xmx1536m -android.databinding.enableV2=true android.useAndroidX=true -android.enableJetifier=true \ No newline at end of file +android.enableJetifier=true From d655dbb70e438452d900526210ed84bb98b222a9 Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 15:06:12 +0900 Subject: [PATCH 4/7] fix circleci --- .circleci/config.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8475309..ae6ef83 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2 jobs: build: docker: - - image: circleci/android:api-26-alpha + - image: circleci/android@1.0 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 From 9928d60ea727499cb4893ca8235c02f0b712f4f3 Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 15:18:14 +0900 Subject: [PATCH 5/7] fix maven publish settings --- library/build.gradle | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/library/build.gradle b/library/build.gradle index 75364e5..715b9a1 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -30,7 +30,18 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } +} +afterEvaluate { + publishing { + publications { + release(MavenPublication) { + from components.release + artifactId = "validatable-textinput-layout" + artifact(sourcesJar) + } + } + } } dependencies { @@ -47,7 +58,6 @@ dependencies { testImplementation Depends.Test.robolectric } -// build a jar with source files task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' From 25db3830c25ceb88ae75c8a4ad172e8565adae3e Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 15:46:09 +0900 Subject: [PATCH 6/7] fix circleci settings --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ae6ef83..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@1.0 + - image: circleci/android:api-30 working_directory: ~/repo From b2d309a94652e1749801bffe2c34a7fe8a506e8a Mon Sep 17 00:00:00 2001 From: irgaly Date: Fri, 6 Aug 2021 16:30:54 +0900 Subject: [PATCH 7/7] fix: robolectrics Tests --- buildSrc/src/main/java/dependencies/Depends.kt | 6 +++--- .../kyash/vtl/example/testing/RxImmediateSchedulerRule.kt | 6 +++--- .../validators/MaterialDesignColorsValidatorTest.kt | 8 +++++--- gradle.properties | 1 - library/build.gradle | 4 ++++ .../java/co/kyash/vtl/testing/RxImmediateSchedulerRule.kt | 6 +++--- .../co/kyash/vtl/validators/AlphabetOnlyValidatorTest.kt | 6 ++++-- .../co/kyash/vtl/validators/AsciiOnlyValidatorTest.kt | 6 ++++-- .../java/co/kyash/vtl/validators/EmailValidatorTest.kt | 6 ++++-- .../co/kyash/vtl/validators/HiraganaOnlyValidatorTest.kt | 6 ++++-- .../co/kyash/vtl/validators/KatakanaOnlyValidatorTest.kt | 6 ++++-- .../co/kyash/vtl/validators/MinLengthValidatorTest.kt | 6 ++++-- .../vtl/validators/NoSpecialCharacterValidatorTest.kt | 4 +++- .../co/kyash/vtl/validators/NumberOnlyValidatorTest.kt | 6 ++++-- .../java/co/kyash/vtl/validators/RequiredValidatorTest.kt | 6 ++++-- 15 files changed, 53 insertions(+), 30 deletions(-) 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/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 47a56de..5e2afb4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,2 @@ org.gradle.jvmargs=-Xmx1536m android.useAndroidX=true -android.enableJetifier=true diff --git a/library/build.gradle b/library/build.gradle index 715b9a1..0c79a5a 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -30,6 +30,10 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + + testOptions { + unitTests.includeAndroidResources = true + } } afterEvaluate { 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 +}