From 3d47ecd698e582934cae7e54ecb42eb2fb4d8db9 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 27 Feb 2023 21:26:21 +0530 Subject: refactor(format-common): migrate to `uri-kmp` and convert to JVM library --- .idea/kotlinc.xml | 2 +- format-common/build.gradle.kts | 11 ++--------- .../main/kotlin/app/passwordstore/util/totp/UriTotpFinder.kt | 2 +- .../app/passwordstore/data/passfile/PasswordEntryTest.kt | 3 --- .../kotlin/app/passwordstore/util/totp/UriTotpFinderTest.kt | 5 ----- gradle/libs.versions.toml | 1 + 6 files changed, 5 insertions(+), 19 deletions(-) diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index 2b8a50fc..0fc31131 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/format-common/build.gradle.kts b/format-common/build.gradle.kts index 487d0bc1..8382436c 100644 --- a/format-common/build.gradle.kts +++ b/format-common/build.gradle.kts @@ -5,27 +5,20 @@ @file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage") plugins { - id("com.github.android-password-store.android-library") - id("com.github.android-password-store.kotlin-android") + kotlin("jvm") id("com.github.android-password-store.kotlin-library") } -android { - namespace = "app.passwordstore.format.common" - compileOptions { isCoreLibraryDesugaringEnabled = true } -} - dependencies { api(libs.kotlin.coroutines.core) api(libs.thirdparty.kotlinResult) - coreLibraryDesugaring(libs.android.desugarJdkLibs) implementation(projects.coroutineUtils) implementation(libs.androidx.annotation) implementation(libs.dagger.hilt.core) implementation(libs.thirdparty.commons.codec) + implementation(libs.thirdparty.uri) testImplementation(projects.coroutineUtilsTesting) testImplementation(libs.bundles.testDependencies) testImplementation(libs.kotlin.coroutines.test) - testImplementation(libs.testing.robolectric) testImplementation(libs.testing.turbine) } diff --git a/format-common/src/main/kotlin/app/passwordstore/util/totp/UriTotpFinder.kt b/format-common/src/main/kotlin/app/passwordstore/util/totp/UriTotpFinder.kt index 741a21a7..bb97c90c 100644 --- a/format-common/src/main/kotlin/app/passwordstore/util/totp/UriTotpFinder.kt +++ b/format-common/src/main/kotlin/app/passwordstore/util/totp/UriTotpFinder.kt @@ -1,6 +1,6 @@ package app.passwordstore.util.totp -import android.net.Uri +import com.eygraber.uri.Uri import javax.inject.Inject /** [Uri] backed TOTP URL parser. */ diff --git a/format-common/src/test/kotlin/app/passwordstore/data/passfile/PasswordEntryTest.kt b/format-common/src/test/kotlin/app/passwordstore/data/passfile/PasswordEntryTest.kt index 31ced9f3..73e55b34 100644 --- a/format-common/src/test/kotlin/app/passwordstore/data/passfile/PasswordEntryTest.kt +++ b/format-common/src/test/kotlin/app/passwordstore/data/passfile/PasswordEntryTest.kt @@ -23,11 +23,8 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay import kotlinx.coroutines.test.runTest import org.junit.Rule -import org.junit.runner.RunWith -import org.robolectric.RobolectricTestRunner @OptIn(ExperimentalCoroutinesApi::class, ExperimentalTime::class) -@RunWith(RobolectricTestRunner::class) class PasswordEntryTest { @get:Rule val coroutineTestRule: CoroutineTestRule = CoroutineTestRule() diff --git a/format-common/src/test/kotlin/app/passwordstore/util/totp/UriTotpFinderTest.kt b/format-common/src/test/kotlin/app/passwordstore/util/totp/UriTotpFinderTest.kt index c62df0e7..e462c490 100644 --- a/format-common/src/test/kotlin/app/passwordstore/util/totp/UriTotpFinderTest.kt +++ b/format-common/src/test/kotlin/app/passwordstore/util/totp/UriTotpFinderTest.kt @@ -7,12 +7,7 @@ package app.passwordstore.util.totp import kotlin.test.Test import kotlin.test.assertEquals -import org.junit.runner.RunWith -import org.robolectric.RobolectricTestRunner -import org.robolectric.annotation.Config -@RunWith(RobolectricTestRunner::class) -@Config(sdk = [23]) class UriTotpFinderTest { private val totpFinder = UriTotpFinder() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3b8a12d3..5de0a9fd 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -92,6 +92,7 @@ thirdparty-pgpainless = "org.pgpainless:pgpainless-core:1.4.4" thirdparty-plumber = { module = "com.squareup.leakcanary:plumber-android-startup", version.ref = "leakcanary" } # TODO: Remove the explicit bcpkix dependency when upgrading this to a BC 1.71 compatible version thirdparty-sshj = "com.hierynomus:sshj:0.35.0" +thirdparty-uri = "com.eygraber:uri-kmp:0.0.11" thirdparty-whatthestack = "com.github.haroldadmin:WhatTheStack:1.0.0-alpha04" [bundles] -- cgit v1.2.3