diff --git a/balancerepository/build.gradle b/balancerepository/build.gradle index 9f64eff53..62c566215 100644 --- a/balancerepository/build.gradle +++ b/balancerepository/build.gradle @@ -10,3 +10,12 @@ dependencies { testImplementation "com.squareup.okhttp3:mockwebserver:$mockWebServerVersion" testImplementation project(':testutils') } + +android { + namespace 'com.hyperwallet.android.ui.balance.repository' +} + +tasks.withType(Test) { + jacoco.includeNoLocationClasses = true + jacoco.excludes = ['jdk.internal.*'] +} \ No newline at end of file diff --git a/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/PrepaidCardBalanceRepositoryFactoryTest.java b/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/PrepaidCardBalanceRepositoryFactoryTest.java index 618cf052d..94d3ea170 100644 --- a/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/PrepaidCardBalanceRepositoryFactoryTest.java +++ b/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/PrepaidCardBalanceRepositoryFactoryTest.java @@ -3,7 +3,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.notNullValue; +import static org.hamcrest.CoreMatchers.notNullValue; import org.junit.Test; diff --git a/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/UserBalanceRepositoryFactoryTest.java b/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/UserBalanceRepositoryFactoryTest.java index 53c5e1fc4..e3fb14923 100644 --- a/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/UserBalanceRepositoryFactoryTest.java +++ b/balancerepository/src/test/java/com/hyperwallet/android/ui/balance/repository/UserBalanceRepositoryFactoryTest.java @@ -3,7 +3,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.notNullValue; +import static org.hamcrest.CoreMatchers.notNullValue; import org.junit.Test; diff --git a/build.gradle b/build.gradle index f8dff1874..0171af1fe 100644 --- a/build.gradle +++ b/build.gradle @@ -1,15 +1,36 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. +// Top-level build file where you can add configuration options common to all sub-projects/modules +apply plugin: 'com.android.library' + +android { + compileSdkVersion 33 + testOptions.unitTests.includeAndroidResources = true + defaultConfig { + minSdkVersion 21 + targetSdkVersion 33 + versionCode 4 + versionName "1.0.0" + buildConfigField 'String', 'VERSION_NAME', "\"${version}\"" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + lintOptions { + abortOnError false + warningsAsErrors false + lintConfig file("config/lint.xml") + } +} + buildscript { repositories { google() - jcenter() + mavenCentral() mavenLocal() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7" + classpath "org.jacoco:org.jacoco.core:0.8.8" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -19,7 +40,7 @@ buildscript { allprojects { repositories { google() - jcenter() + mavenCentral() mavenLocal() } @@ -33,42 +54,41 @@ subprojects { ext { hyperwalletGroupId = 'com.hyperwallet.android.ui' - compileVersion = 30 + compileVersion = 33 minVersion = 21 - targetVersion = 30 + targetVersion = 33 codeVersion = 1 hyperwalletCoreVersion = '1.0.0-beta12' hyperwalletInsightVersion = '1.0.0-beta02' // - androidMaterialVersion = '1.0.0' - appcompatVersion = '1.0.2' + androidMaterialVersion = '1.4.0' + appcompatVersion = '1.3.1' constraintlayoutVersion = '1.1.3' legacySupportV4Version = '1.0.0' - recycleViewVersion = '1.0.0' + recycleViewVersion = '1.2.1' lifecycleExtensionsVersion = '2.0.0' pagingRuntimeVersion = '2.1.0' //Testing - extJunitVerson = '1.1.1' + extJunitVerson = '1.1.3' testRunnerVersion = '1.2.0' testRulesVersion = '1.2.0' - espressoVersion = '3.2.0' + espressoVersion = '3.4.0' mockServerVersion = '3.11.0' leakcanaryVersion = '1.6.3' - mockitoVersion = '2.27.0' + mockitoVersion = '5.15.2' junitParamsVersion = '1.1.1' - robolectricVersion = '4.1' - coreTest = '1.3.0' - mockWebServerVersion = '3.11.0' - coreTest = '1.3.0' + robolectricVersion = '4.14.1' + coreTest = '1.4.0' + mockWebServerVersion = '4.12.0' // - jacocoVersion = "0.8.2" + jacocoVersion = "0.8.8" fileFilter = ['**/BuildConfig.*'] } } -task clean(type: Delete) { +task customClean(type: Delete) { delete rootProject.buildDir } diff --git a/gradle.properties b/gradle.properties index 7c3dc23f6..dcc088c06 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,6 @@ android.useAndroidX=true android.enableJetifier=true sonatypeUsername= -sonatypePassword= \ No newline at end of file +sonatypePassword= +android.disableAutomaticComponentCreation=true +org.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f19f34f5d..8049c684f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Mon Feb 25 20:26:26 PST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-all.zip diff --git a/jacoco-settings.gradle b/jacoco-settings.gradle index d75c8a472..3018d100f 100644 --- a/jacoco-settings.gradle +++ b/jacoco-settings.gradle @@ -36,28 +36,29 @@ task jacocoTestReport(type: JacocoReport, dependsOn: 'testDebugUnitTest') { } } - classDirectories = fileTree( + classDirectories.setFrom(fileTree( dir: "${buildDir}", includes: debugClassPaths, excludes: project.ext.fileFilter ) + ) - additionalSourceDirs = files(coverageSourceDirs) - sourceDirectories = files(coverageSourceDirs) - executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec") + additionalSourceDirs.setFrom(files(coverageSourceDirs)) + sourceDirectories.setFrom(files(coverageSourceDirs)) + executionData.setFrom(files("${buildDir}/jacoco/testDebugUnitTest.exec")) } task jacocoTestCoverageVerification(type: JacocoCoverageVerification, dependsOn: 'jacocoTestReport') { group = 'Verification' - classDirectories = fileTree( + classDirectories.setFrom(fileTree( dir: "${buildDir}", includes: debugClassPaths, excludes: fileFilter - ) - additionalSourceDirs = files(coverageSourceDirs) - sourceDirectories = files(coverageSourceDirs) - executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec") + )) + additionalSourceDirs.setFrom(files(coverageSourceDirs)) + sourceDirectories.setFrom(files(coverageSourceDirs)) + executionData.setFrom(files("${buildDir}/jacoco/testDebugUnitTest.exec")) violationRules { setFailOnViolation(true) diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml new file mode 100644 index 000000000..62ba87ca4 --- /dev/null +++ b/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/userrepository/src/test/java/com/hyperwallet/android/ui/user/repository/UserRepositoryFactoryTest.java b/userrepository/src/test/java/com/hyperwallet/android/ui/user/repository/UserRepositoryFactoryTest.java index a320a6e1a..6d105f45a 100644 --- a/userrepository/src/test/java/com/hyperwallet/android/ui/user/repository/UserRepositoryFactoryTest.java +++ b/userrepository/src/test/java/com/hyperwallet/android/ui/user/repository/UserRepositoryFactoryTest.java @@ -2,8 +2,8 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.notNullValue; import org.junit.Test;