diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6d1b2c86ba..4cd3a7bade 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,12 +9,6 @@ registries: gradle-plugin-portal: type: maven-repository url: "https://plugins.gradle.org/m2" - sonatype: - type: maven-repository - url: "https://oss.sonatype.org/content/repositories/snapshots" - commonsware: - type: maven-repository - url: "https://s3.amazonaws.com/repo.commonsware.com" simmatcher: type: maven-repository url: "https://maven.pkg.github.com/simprints/lib-android-simmatcher" @@ -34,8 +28,6 @@ updates: - google - maven-central - gradle-plugin-portal - - sonatype - - commonsware - simmatcher - roc-wrapper @@ -47,7 +39,5 @@ updates: - google - maven-central - gradle-plugin-portal - - sonatype - - commonsware - simmatcher - roc-wrapper diff --git a/build-logic/convention/src/main/kotlin/common/KotlinAndroid.kt b/build-logic/convention/src/main/kotlin/common/KotlinAndroid.kt index 19c54c7963..1f34de416a 100644 --- a/build-logic/convention/src/main/kotlin/common/KotlinAndroid.kt +++ b/build-logic/convention/src/main/kotlin/common/KotlinAndroid.kt @@ -9,11 +9,9 @@ internal fun Project.configureKotlinCompiler() { tasks.withType(KotlinCompile::class.java).configureEach { compilerOptions { freeCompilerArgs.addAll( - "-Xnew-inference", "-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", "-opt-in=kotlinx.coroutines.FlowPreview", - "-opt-in=kotlin.Experimental", ) } } diff --git a/fingerprint/capture/build.gradle.kts b/fingerprint/capture/build.gradle.kts index 1b3f69fe9a..f9e70a2543 100644 --- a/fingerprint/capture/build.gradle.kts +++ b/fingerprint/capture/build.gradle.kts @@ -27,7 +27,6 @@ dependencies { implementation(project(":fingerprint:infra:bio-sdk")) // Kotlin - runtimeOnly(libs.kotlin.reflect) runtimeOnly(libs.kotlin.serialization) // Android X diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ecd5d91602..0961891758 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,9 +16,7 @@ androidx_room_version = "2.8.5" androidx_datastore_version = "1.2.1" androidx_camerax_version = "1.6.1" androidx_test_orchestrator_version = "1.6.1" -androidx_dex_version = "2.0.1" androidx_constraint_version = "2.2.2" -androidx_coordinator_version = "1.3.0" androidx_cardview_version = "1.0.0" androidx_preferences_version = "1.2.1" androidx_viewpager_version = "1.1.0" @@ -64,7 +62,6 @@ libsimprints_version = "2026.1.0" simmatcher_version = "1.3.0" roc_wrapper_version = "1.23.0" roc_wrapper-v3_version = "3.1.0" -secugen_version = "1.1.0" simface = "2026.2.0" junit_version = "4.13.2" @@ -76,7 +73,6 @@ turbine_version = "1.2.1" robolectric_version = "4.17" espresso_version = "3.7.0" espresso_accessibility_version = "4.1.1" -barista_version = "4.3.0" uiAutomator_version = "2.4.0" jacoco_version = "0.8.15" @@ -96,9 +92,7 @@ kotlin-serialization = {module="org.jetbrains.kotlinx:kotlinx-serialization-json #AndroidX androidX-core = { module = "androidx.core:core-ktx", version.ref = "androidx_core_version" } -androidX-multidex = { module = "androidx.multidex:multidex", version.ref = "androidx_dex_version" } androidX-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx_app_compat_version" } -androidX-appcompat-resource = { module = "androidx.appcompat:appcompat-resources", version.ref = "androidx_app_compat_version" } androidX-Room-core = { module = "androidx.room:room-runtime", version.ref = "androidx_room_version" } androidX-Room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx_room_version" } androidX-Room-ktx = { module = "androidx.room:room-ktx", version.ref = "androidx_room_version" } @@ -110,7 +104,6 @@ androidX-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", #UI androidX-ui-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx_constraint_version" } -androidX-ui-coordinatorlayout = { module = "androidx.coordinatorlayout:coordinatorlayout", version.ref = "androidx_coordinator_version" } androidX-ui-cardview = { module = "androidx.cardview:cardview", version.ref = "androidx_cardview_version" } androidX-ui-fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx_fragment_version" } androidX-ui-preference = { module = "androidx.preference:preference", version.ref = "androidx_preferences_version" } @@ -126,7 +119,6 @@ androidX-cameraX-view = { module = "androidx.camera:camera-view", version.ref = #Navigation androidX-navigation-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx_navigation_version" } -androidX-navigation-ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx_navigation_version" } #Annotation androidX-annotation-annotation = { module = "androidx.annotation:annotation", version.ref = "androidx_annotation_version" } @@ -199,8 +191,6 @@ simmatcher = { module = "com.simprints:libsimmatcher", version.ref = "simmatcher roc-v1 = { module = "com.simprints:rocwrapper", version.ref = "roc_wrapper_version" } # roc v3 sdk hosted in https://github.com/Simprints/lib-roc-wrapper-v3 roc-v3 = { module = "com.simprints:roc-v3", version.ref = "roc_wrapper-v3_version" } -# secugen sdk hosted in https://github.com/Simprints/secugen-wrapper -secugen = { module = "com.simprints:secugenwrapper", version.ref = "secugen_version" } simface = { module = "com.simprints.biometrics:simface", version.ref = "simface" } #hilt @@ -224,7 +214,6 @@ tink-core = { module = "com.google.crypto.tink:tink-android", version.ref = "tin testing-junit = { module = "junit:junit", version.ref = "junit_version" } testing-truth = { module = "com.google.truth:truth", version.ref = "truth_version" } testing-work = { module = "androidx.work:work-testing", version.ref = "androidx_work_version" } -testing-retrofit = { module = "com.squareup.retrofit2:retrofit-mock", version.ref = "retrofit_version" } testing-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okttp_version" } testing-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin_coroutine_version" } testing-live-data = { module = "com.jraska.livedata:testing-ktx", version.ref = "livedata_testing_version" } @@ -233,7 +222,6 @@ testing-fragment = { module = "androidx.fragment:fragment-testing", version.ref testing-navigation = { module = "androidx.navigation:navigation-testing", version.ref = "androidx_navigation_version" } #Testing-Robolectric testing-Robolectric-core = { module = "org.robolectric:robolectric", version.ref = "robolectric_version" } -testing-Robolectric-annotation = { module = "org.robolectric:annotations", version.ref = "robolectric_version" } #Testing-Mockk testing-Mockk-core = { module = "io.mockk:mockk", version.ref = "mockk_version" } testing-Mockk-android = { module = "io.mockk:mockk-android", version.ref = "mockk_version" } @@ -242,7 +230,6 @@ testing-Espresso-core = { module = "androidx.test.espresso:espresso-core", versi testing-Espresso-contrib = { module = "androidx.test.espresso:espresso-contrib", version.ref = "espresso_version" } testing-Espresso-accessibility = { module = "com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework", version.ref = "espresso_accessibility_version" } testing-Espresso-intents = { module = "androidx.test.espresso:espresso-intents", version.ref = "espresso_version" } -testing-Espresso-barista = { module = "com.adevinta.android:barista", version.ref = "barista_version" } #Used to grant permissions in AndroidTests #Testing-AndroidX testing-AndroidX-ext-junit = { module = "androidx.test.ext:junit", version.ref = "junit_ext_version" } testing-AndroidX-core = { module = "androidx.arch.core:core-testing", version.ref = "androidx_arch_core_version" } diff --git a/infra/core/build.gradle.kts b/infra/core/build.gradle.kts index 6d1b7e81c2..d3f70fc93f 100644 --- a/infra/core/build.gradle.kts +++ b/infra/core/build.gradle.kts @@ -17,7 +17,6 @@ dependencies { api(project(":infra:security")) api(libs.androidX.appcompat) - api(libs.androidX.multidex) api(libs.androidX.annotation.annotation) api(libs.androidX.lifecycle.process) diff --git a/infra/core/src/main/java/com/simprints/core/CoreApplication.kt b/infra/core/src/main/java/com/simprints/core/CoreApplication.kt index d53557e794..63e32d7143 100644 --- a/infra/core/src/main/java/com/simprints/core/CoreApplication.kt +++ b/infra/core/src/main/java/com/simprints/core/CoreApplication.kt @@ -1,12 +1,12 @@ package com.simprints.core +import android.app.Application import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig -import androidx.multidex.MultiDexApplication @ExcludedFromGeneratedTestCoverageReports("Abstract base class") open class CoreApplication : - MultiDexApplication(), + Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig = Camera2Config.defaultConfig() } diff --git a/infra/events/src/test/java/com/simprints/infra/events/event/local/EventLocalDataSourceTest.kt b/infra/events/src/test/java/com/simprints/infra/events/event/local/EventLocalDataSourceTest.kt index 5eee36e19f..ac11d4ad90 100644 --- a/infra/events/src/test/java/com/simprints/infra/events/event/local/EventLocalDataSourceTest.kt +++ b/infra/events/src/test/java/com/simprints/infra/events/event/local/EventLocalDataSourceTest.kt @@ -17,7 +17,6 @@ import com.simprints.infra.events.event.local.models.fromDomainToDb import com.simprints.infra.events.sampledata.SampleDefaults.GUID1 import com.simprints.infra.events.sampledata.createSessionScope import com.simprints.testtools.common.syntax.assertThrows -import com.simprints.testtools.unit.robolectric.ShadowAndroidXMultiDex import dagger.hilt.android.testing.HiltTestApplication import io.mockk.* import io.mockk.impl.annotations.* @@ -35,7 +34,7 @@ import org.robolectric.annotation.Config import java.io.IOException @RunWith(AndroidJUnit4::class) -@Config(application = HiltTestApplication::class, shadows = [ShadowAndroidXMultiDex::class]) +@Config(application = HiltTestApplication::class) internal class EventLocalDataSourceTest { private lateinit var db: EventRoomDatabase private lateinit var eventDao: EventRoomDao diff --git a/infra/events/src/test/java/com/simprints/infra/events/event/local/migrations/EventMigration1to2Test.kt b/infra/events/src/test/java/com/simprints/infra/events/event/local/migrations/EventMigration1to2Test.kt index 7b2d463e54..05dff4bfed 100644 --- a/infra/events/src/test/java/com/simprints/infra/events/event/local/migrations/EventMigration1to2Test.kt +++ b/infra/events/src/test/java/com/simprints/infra/events/event/local/migrations/EventMigration1to2Test.kt @@ -11,7 +11,6 @@ import com.simprints.core.tools.extensions.getStringWithColumnName import com.simprints.core.tools.utils.randomUUID import com.simprints.infra.events.event.local.EventRoomDatabase import com.simprints.infra.events.event.local.migrations.MigrationTestingTools.retrieveCursorWithEventById -import com.simprints.testtools.unit.robolectric.ShadowAndroidXMultiDex import dagger.hilt.android.testing.HiltTestApplication import org.json.JSONObject import org.junit.Rule @@ -21,7 +20,7 @@ import org.robolectric.annotation.Config import java.io.IOException @RunWith(AndroidJUnit4::class) -@Config(application = HiltTestApplication::class, shadows = [ShadowAndroidXMultiDex::class]) +@Config(application = HiltTestApplication::class) class EventMigration1to2Test { @get:Rule val helper = MigrationTestHelper( diff --git a/infra/network/build.gradle.kts b/infra/network/build.gradle.kts index 95a94a7fbb..062bf534ee 100644 --- a/infra/network/build.gradle.kts +++ b/infra/network/build.gradle.kts @@ -23,9 +23,7 @@ dependencies { implementation(project(":infra:logging-persistent")) implementation(project(":infra:security")) - debugImplementation(libs.chuck.debug) { - exclude("androidx.lifecycle", "lifecycle-viewmodel-ktx") - } + debugImplementation(libs.chuck.debug) implementation(libs.chuck.release) runtimeOnly(libs.kotlin.coroutinesAndroid) diff --git a/infra/resources/build.gradle.kts b/infra/resources/build.gradle.kts index 5275c5da32..9232066568 100644 --- a/infra/resources/build.gradle.kts +++ b/infra/resources/build.gradle.kts @@ -11,7 +11,5 @@ dependencies { implementation(libs.androidX.appcompat) implementation(libs.androidX.ui.constraintlayout) - implementation(libs.androidX.ui.preference) { - exclude("androidx.lifecycle", "lifecycle-viewmodel-ktx") - } + implementation(libs.androidX.ui.preference) } diff --git a/infra/test-tools/build.gradle.kts b/infra/test-tools/build.gradle.kts index f65be31c20..d529e08970 100644 --- a/infra/test-tools/build.gradle.kts +++ b/infra/test-tools/build.gradle.kts @@ -11,7 +11,6 @@ dependencies { api(project(":infra:core")) api(libs.testing.androidX.core) - api(libs.androidX.multidex) api(libs.androidX.appcompat) api(libs.testing.fragment) api(libs.testing.androidX.ext.junit) diff --git a/infra/test-tools/src/main/java/com/simprints/testtools/unit/robolectric/ShadowAndroidXMultiDex.kt b/infra/test-tools/src/main/java/com/simprints/testtools/unit/robolectric/ShadowAndroidXMultiDex.kt deleted file mode 100644 index 5462b94b0d..0000000000 --- a/infra/test-tools/src/main/java/com/simprints/testtools/unit/robolectric/ShadowAndroidXMultiDex.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.simprints.testtools.unit.robolectric - -import android.content.Context -import androidx.multidex.MultiDex -import org.robolectric.annotation.Implementation -import org.robolectric.annotation.Implements - -@Implements(MultiDex::class) -object ShadowAndroidXMultiDex { - @JvmStatic - @Implementation - fun install(context: Context) {} -} diff --git a/infra/ui-base/build.gradle.kts b/infra/ui-base/build.gradle.kts index 0aca93f0db..f10088fdeb 100644 --- a/infra/ui-base/build.gradle.kts +++ b/infra/ui-base/build.gradle.kts @@ -31,7 +31,6 @@ dependencies { api(libs.androidX.ui.fragment) api(libs.androidX.ui.constraintlayout) - api(libs.androidX.ui.coordinatorlayout) api(libs.androidX.ui.cardview) api(libs.androidX.navigation.fragment) diff --git a/settings.gradle.kts b/settings.gradle.kts index 103324d264..d39db66153 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,7 +2,6 @@ pluginManagement { includeBuild("build-logic") repositories { - maven(url = "https://repo1.maven.org/maven2/") google() mavenCentral() gradlePluginPortal() @@ -21,8 +20,13 @@ dependencyResolutionManagement { google() mavenCentral() gradlePluginPortal() - maven(url = "https://oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://s3.amazonaws.com/repo.commonsware.com") + // Sonatype Central Portal snapshots, used to test unreleased LibSimprints builds in SID + maven { + name = "CentralPortalSnapshots" + url = uri("https://central.sonatype.com/repository/maven-snapshots/") + mavenContent { snapshotsOnly() } + content { includeModule("com.simprints", "libsimprints") } + } maven { name = "SimMatcherGitHubPackages" @@ -44,26 +48,6 @@ dependencyResolutionManagement { } } - maven { - name = "NECWrapperGitHubPackages" - url = uri("https://maven.pkg.github.com/simprints/NEC-wrapper") - credentials { - username = - properties.getProperty("GITHUB_USERNAME", System.getenv("GITHUB_USERNAME")) - password = properties.getProperty("GITHUB_TOKEN", System.getenv("GITHUB_TOKEN")) - } - } - - maven { - name = "SecugenWrapperGitHubPackages" - url = uri("https://maven.pkg.github.com/simprints/secugen-wrapper") - credentials { - username = - properties.getProperty("GITHUB_USERNAME", System.getenv("GITHUB_USERNAME")) - password = properties.getProperty("GITHUB_TOKEN", System.getenv("GITHUB_TOKEN")) - } - } - maven { url = uri("https://maven.pkg.github.com/Simprints/Biometrics-SimFace") credentials {