mirror of
https://github.com/mollyim/monero-wallet-sdk.git
synced 2025-04-14 04:53:06 -04:00
build: convert modules to kts and update deps
This commit is contained in:
parent
9b71aae6c5
commit
181b3dc442
@ -1,7 +1,9 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.android.library) apply false
|
||||
alias(libs.plugins.androidx.room) apply false
|
||||
alias(libs.plugins.kotlin.android) apply false
|
||||
alias(libs.plugins.kotlin.compose) apply false
|
||||
alias(libs.plugins.kotlin.parcelize) apply false
|
||||
alias(libs.plugins.ksp) apply false
|
||||
}
|
||||
|
@ -1,89 +0,0 @@
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'org.jetbrains.kotlin.android'
|
||||
apply plugin: 'com.google.devtools.ksp'
|
||||
|
||||
ext {
|
||||
composeVersion = '1.6.2'
|
||||
composeCompilerVersion = '1.5.3'
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "im.molly.monero.demo"
|
||||
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId "im.molly.monero.demo"
|
||||
minSdk 26
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
useSupportLibrary true
|
||||
}
|
||||
|
||||
ksp {
|
||||
arg("room.schemaLocation", "$projectDir/schemas")
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
compose true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion composeCompilerVersion
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
resources {
|
||||
excludes += '/META-INF/{AL2.0,LGPL2.1}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation libs.core.ktx
|
||||
implementation "androidx.compose.ui:ui:$composeVersion"
|
||||
implementation "androidx.compose.material3:material3:1.2.0"
|
||||
implementation "androidx.compose.ui:ui-tooling-preview:$composeVersion"
|
||||
implementation libs.accompanist.systemuicontroller
|
||||
implementation libs.androidx.lifecycle.viewmodel.compose
|
||||
implementation libs.androidx.lifecycle.runtime.compose
|
||||
implementation libs.androidx.lifecycle.service
|
||||
implementation libs.androidx.activity.compose
|
||||
implementation libs.androidx.datastore.preferences
|
||||
implementation libs.androidx.room.runtime
|
||||
implementation libs.androidx.room.ktx
|
||||
implementation libs.androidx.navigation.compose
|
||||
ksp libs.androidx.room.compiler
|
||||
|
||||
implementation project(':lib')
|
||||
|
||||
testImplementation testLibs.junit4
|
||||
|
||||
androidTestImplementation testLibs.androidx.test.ext.junit
|
||||
androidTestImplementation testLibs.androidx.test.espresso.core
|
||||
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$composeVersion"
|
||||
|
||||
debugImplementation "androidx.compose.ui:ui-tooling:$composeVersion"
|
||||
debugImplementation "androidx.compose.ui:ui-test-manifest:$composeVersion"
|
||||
}
|
84
demo/android/build.gradle.kts
Normal file
84
demo/android/build.gradle.kts
Normal file
@ -0,0 +1,84 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.androidx.room)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.compose)
|
||||
alias(libs.plugins.ksp)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "im.molly.monero.demo"
|
||||
compileSdk = 35
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "im.molly.monero.demo"
|
||||
minSdk = 26
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = false
|
||||
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
compose = true
|
||||
}
|
||||
|
||||
packaging {
|
||||
resources {
|
||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||
merges += "META-INF/LICENSE.md"
|
||||
merges += "META-INF/LICENSE-notice.md"
|
||||
}
|
||||
}
|
||||
|
||||
room {
|
||||
schemaDirectory("$projectDir/schemas")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":lib"))
|
||||
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(platform(libs.androidx.compose.bom))
|
||||
implementation(libs.androidx.core.ktx)
|
||||
implementation(libs.androidx.datastore.preferences)
|
||||
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||||
implementation(libs.androidx.lifecycle.service)
|
||||
implementation(libs.androidx.material3)
|
||||
implementation(libs.androidx.navigation.compose)
|
||||
implementation(libs.androidx.ui)
|
||||
implementation(libs.androidx.ui.graphics)
|
||||
implementation(libs.androidx.ui.tooling.preview)
|
||||
|
||||
implementation(libs.androidx.room.ktx)
|
||||
runtimeOnly(libs.androidx.room.runtime)
|
||||
ksp(libs.androidx.room.compiler)
|
||||
|
||||
testImplementation(testLibs.junit)
|
||||
|
||||
androidTestImplementation(testLibs.androidx.test.core)
|
||||
androidTestImplementation(testLibs.androidx.test.junit)
|
||||
androidTestImplementation(testLibs.androidx.test.runner)
|
||||
}
|
@ -7,12 +7,12 @@ import android.content.ServiceConnection
|
||||
import android.os.Bundle
|
||||
import android.os.IBinder
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.SystemBarStyle
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.core.view.WindowCompat
|
||||
import com.google.accompanist.systemuicontroller.rememberSystemUiController
|
||||
import im.molly.monero.demo.service.SyncService
|
||||
import im.molly.monero.demo.ui.DemoApp
|
||||
import im.molly.monero.demo.ui.theme.AppTheme
|
||||
@ -27,15 +27,19 @@ class MainActivity : ComponentActivity() {
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
|
||||
setContent {
|
||||
val systemUiController = rememberSystemUiController()
|
||||
val darkTheme = isSystemInDarkTheme()
|
||||
|
||||
DisposableEffect(systemUiController, darkTheme) {
|
||||
systemUiController.setSystemBarsColor(
|
||||
color = Color.Transparent,
|
||||
darkIcons = !darkTheme,
|
||||
DisposableEffect(darkTheme) {
|
||||
enableEdgeToEdge(
|
||||
statusBarStyle = SystemBarStyle.auto(
|
||||
android.graphics.Color.TRANSPARENT,
|
||||
android.graphics.Color.TRANSPARENT,
|
||||
) { darkTheme },
|
||||
navigationBarStyle = SystemBarStyle.auto(
|
||||
lightScrim,
|
||||
darkScrim,
|
||||
) { darkTheme },
|
||||
)
|
||||
|
||||
onDispose {}
|
||||
}
|
||||
|
||||
@ -67,3 +71,7 @@ class MainActivity : ComponentActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val lightScrim = android.graphics.Color.argb(0xe6, 0xFF, 0xFF, 0xFF)
|
||||
|
||||
private val darkScrim = android.graphics.Color.argb(0x80, 0x1b, 0x1b, 0x1b)
|
||||
|
@ -1,37 +1,42 @@
|
||||
[versions]
|
||||
accompanist = "0.32.0"
|
||||
android-gradle-plugin = "8.8.0"
|
||||
androidx-activity = "1.8.2"
|
||||
androidx-datastore = "1.0.0"
|
||||
androidx-lifecycle = "2.5.1"
|
||||
androidx-navigation = "2.7.7"
|
||||
core-ktx = "1.9.0"
|
||||
kotlin = "1.9.10"
|
||||
kotlinx-coroutines = '1.6.4'
|
||||
ksp = "1.9.10-1.0.13"
|
||||
agp = "8.8.0"
|
||||
androidx-activity = "1.10.0"
|
||||
androidx-core-ktx = "1.15.0"
|
||||
androidx-datastore = "1.1.2"
|
||||
androidx-lifecycle = "2.8.7"
|
||||
androidx-navigation = "2.8.5"
|
||||
compose-bom = "2025.01.00"
|
||||
kotlin = "2.1.0"
|
||||
kotlinx-coroutines = '1.9.0'
|
||||
ksp = "2.1.0-1.0.29"
|
||||
okhttp = "4.10.0"
|
||||
room = "2.6.1"
|
||||
|
||||
[libraries]
|
||||
accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" }
|
||||
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
|
||||
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }
|
||||
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core-ktx" }
|
||||
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
|
||||
androidx-lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
|
||||
androidx-lifecycle-service = { module = "androidx.lifecycle:lifecycle-service", version.ref = "androidx-lifecycle" }
|
||||
androidx-material3 = { module = "androidx.compose.material3:material3" }
|
||||
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "androidx-navigation" }
|
||||
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
|
||||
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
|
||||
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
|
||||
core-ktx = { module = "androidx.core:core-ktx", version.ref = "core-ktx" }
|
||||
androidx-ui = { module = "androidx.compose.ui:ui" }
|
||||
androidx-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
|
||||
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
|
||||
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines"}
|
||||
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
|
||||
okhttp = { module = "com.squareup.okhttp3:okhttp" }
|
||||
okhttp-bom = { module = "com.squareup.okhttp3:okhttp-bom", version.ref = "okhttp" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
|
||||
android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
android-library = { id = "com.android.library", version.ref = "agp" }
|
||||
androidx-room = { id = "androidx.room", version.ref = "room" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
|
@ -1,21 +1,18 @@
|
||||
[versions]
|
||||
androidx-test-core = "1.4.0"
|
||||
androidx-test-espresso = "3.5.1"
|
||||
androidx-test-ext-junit = "1.1.3"
|
||||
androidx-test-ext-truth = "1.4.0"
|
||||
junit4 = "4.13.2"
|
||||
mockk = "1.12.5"
|
||||
androidx-test-core = "1.6.1"
|
||||
androidx-test-junit = "1.2.1"
|
||||
androidx-test-runner = "1.6.2"
|
||||
androidx-test-truth = "1.6.0"
|
||||
junit = "4.13.2"
|
||||
mockk = "1.13.2"
|
||||
truth = "1.1.3"
|
||||
|
||||
[libraries]
|
||||
androidx-test-core = { module = "androidx.test:core", version.ref = "androidx-test-core" }
|
||||
androidx-test-core-ktx = { module = "androidx.test:core-ktx", version.ref = "androidx-test-core" }
|
||||
androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-test-espresso" }
|
||||
androidx-test-ext-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-ext-junit" }
|
||||
androidx-test-ext-junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "androidx-test-ext-junit" }
|
||||
androidx-test-ext-truth = { module = "androidx.test.ext:truth", version.ref = "androidx-test-ext-truth" }
|
||||
androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-test-junit" }
|
||||
androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidx-test-core" }
|
||||
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-core" }
|
||||
junit4 = { module = "junit:junit", version.ref = "junit4" }
|
||||
androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-test-runner" }
|
||||
androidx-test-truth = { module = "androidx.test.ext:truth", version.ref = "androidx-test-truth" }
|
||||
junit = { module = "junit:junit", version.ref = "junit" }
|
||||
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
|
||||
truth = { module = "com.google.truth:truth", version.ref = "truth" }
|
||||
|
@ -1,101 +0,0 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'org.jetbrains.kotlin.android'
|
||||
apply plugin: 'org.jetbrains.kotlin.plugin.parcelize'
|
||||
//apply from: 'deploy.gradle' // FIXME
|
||||
|
||||
android {
|
||||
namespace = "im.molly.monero"
|
||||
|
||||
buildToolsVersion '35.0.1'
|
||||
compileSdk 33
|
||||
|
||||
ndkVersion '23.1.7779620'
|
||||
|
||||
defaultConfig {
|
||||
minSdk 26
|
||||
targetSdk 33
|
||||
|
||||
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
||||
|
||||
consumerProguardFiles 'consumer-rules.pro'
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments "-DVENDOR_DIR=${rootDir}/vendor"
|
||||
arguments "-DDOWNLOAD_CACHE=${buildDir}/downloads"
|
||||
cppFlags ''
|
||||
}
|
||||
}
|
||||
|
||||
ndk {
|
||||
// abiFilters /*'armeabi-v7a', 'arm64-v8a',*/ 'x86_64' // FIXME
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path file('src/main/cpp/CMakeLists.txt')
|
||||
version '3.22.1'
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
aidl true
|
||||
buildConfig true
|
||||
}
|
||||
|
||||
// testOptions {
|
||||
// managedDevices {
|
||||
// devices {
|
||||
// // run with ../gradlew nexusOneApi30DebugAndroidTest
|
||||
// nexusOneApi30(ManagedVirtualDevice) {
|
||||
// // A lower resolution device is used here for better emulator performance
|
||||
// device = "Nexus One"
|
||||
// apiLevel = 30
|
||||
// // Also use the AOSP ATD image for better emulator performance
|
||||
// systemImageSource = "aosp-atd"
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api platform(libs.okhttp.bom)
|
||||
api libs.okhttp
|
||||
|
||||
implementation libs.core.ktx
|
||||
implementation libs.kotlinx.coroutines.android
|
||||
implementation libs.androidx.lifecycle.runtime.ktx
|
||||
implementation libs.androidx.lifecycle.service
|
||||
|
||||
testImplementation testLibs.junit4
|
||||
testImplementation testLibs.mockk
|
||||
testImplementation testLibs.truth
|
||||
|
||||
androidTestImplementation testLibs.androidx.test.core
|
||||
androidTestImplementation testLibs.androidx.test.core.ktx
|
||||
androidTestImplementation testLibs.androidx.test.ext.junit
|
||||
androidTestImplementation testLibs.androidx.test.ext.junit.ktx
|
||||
androidTestImplementation testLibs.androidx.test.ext.truth
|
||||
androidTestImplementation testLibs.androidx.test.rules
|
||||
androidTestImplementation testLibs.androidx.test.runner
|
||||
androidTestImplementation testLibs.mockk
|
||||
}
|
113
lib/android/build.gradle.kts
Normal file
113
lib/android/build.gradle.kts
Normal file
@ -0,0 +1,113 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.library)
|
||||
alias(libs.plugins.kotlin.android)
|
||||
alias(libs.plugins.kotlin.parcelize)
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(21)
|
||||
}
|
||||
|
||||
val vendorDir = File(rootDir, "vendor")
|
||||
val downloadCacheDir = layout.buildDirectory.dir("downloads").get().asFile
|
||||
|
||||
android {
|
||||
namespace = "im.molly.monero"
|
||||
compileSdk = 35
|
||||
ndkVersion = "23.1.7779620"
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 26
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
testHandleProfiling = true
|
||||
testFunctionalTest = true
|
||||
|
||||
consumerProguardFiles("consumer-rules.pro")
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments += "-DVENDOR_DIR=${vendorDir.path}"
|
||||
arguments += "-DDOWNLOAD_CACHE=${downloadCacheDir.path}"
|
||||
}
|
||||
}
|
||||
|
||||
ndk {
|
||||
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
getByName("release") {
|
||||
isMinifyEnabled = false
|
||||
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android.txt"),
|
||||
"proguard-rules.pro",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path = file("src/main/cpp/CMakeLists.txt")
|
||||
version = "3.22.1"
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "11"
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
aidl = true
|
||||
buildConfig = true
|
||||
}
|
||||
|
||||
packaging {
|
||||
resources {
|
||||
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||||
merges += "META-INF/LICENSE.md"
|
||||
merges += "META-INF/LICENSE-notice.md"
|
||||
}
|
||||
}
|
||||
|
||||
testOptions {
|
||||
managedDevices {
|
||||
localDevices {
|
||||
create("pixel2api30") {
|
||||
device = "Pixel 2"
|
||||
apiLevel = 30
|
||||
systemImageSource = "aosp-atd"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(platform(libs.okhttp.bom))
|
||||
api(libs.okhttp)
|
||||
|
||||
implementation(libs.androidx.core.ktx)
|
||||
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||||
implementation(libs.androidx.lifecycle.service)
|
||||
implementation(libs.kotlinx.coroutines.android)
|
||||
|
||||
testImplementation(testLibs.junit)
|
||||
testImplementation(testLibs.mockk)
|
||||
testImplementation(testLibs.truth)
|
||||
|
||||
androidTestImplementation(libs.kotlinx.coroutines.test)
|
||||
androidTestImplementation(testLibs.androidx.test.core)
|
||||
androidTestImplementation(testLibs.androidx.test.junit)
|
||||
androidTestImplementation(testLibs.androidx.test.truth)
|
||||
androidTestImplementation(testLibs.androidx.test.rules)
|
||||
androidTestImplementation(testLibs.androidx.test.runner)
|
||||
androidTestImplementation(testLibs.mockk)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user