@@ -2,22 +2,23 @@ import java.io.ByteArrayOutputStream
22import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
33
44plugins {
5- id(" com.android.application" )
6- id(" org.jetbrains.kotlin.android" )
7- id(" kotlin-kapt" )
8- id(" com.google.dagger.hilt.android" )
5+ alias(libs.plugins.android.application)
6+ alias(libs.plugins.kotlin.android)
7+ alias(libs.plugins.ksp)
8+ alias(libs.plugins.hilt.android)
9+ alias(libs.plugins.compose.compiler)
910}
1011
11- val localProperties = gradleLocalProperties(rootDir)
12+ val localProperties = gradleLocalProperties(rootDir, providers )
1213
1314android {
1415 namespace = " net.koofr.vault"
15- compileSdk = 34
16+ compileSdk = 35
1617
1718 defaultConfig {
1819 applicationId = " net.koofr.vault"
1920 minSdk = 23
20- targetSdk = 34
21+ targetSdk = 35
2122 versionCode = 116001
2223 versionName = " 0.1.16"
2324
@@ -87,58 +88,64 @@ android {
8788 ndkVersion = localProperties.getProperty(" android.ndkVersion" )
8889 sourceSets {
8990 getByName(" debug" ) {
90- jniLibs.srcDir(file( " $buildDir / rustJniLibs/android" ))
91+ jniLibs.srcDir(layout.buildDirectory.dir( " rustJniLibs/android" ))
9192 }
9293 getByName(" release" ) {
93- jniLibs.srcDir(file( " $buildDir / rustJniLibs/android" ))
94+ jniLibs.srcDir(layout.buildDirectory.dir( " rustJniLibs/android" ))
9495 }
9596 }
9697}
9798
9899dependencies {
99- implementation(" androidx.core:core-ktx:1.12.0" )
100- implementation(" androidx.lifecycle:lifecycle-runtime-ktx:2.6.2" )
101- implementation(" androidx.activity:activity-compose:1.7.2" )
102- implementation(platform(" androidx.compose:compose-bom:2023.10.00" ))
103- implementation(" androidx.compose.ui:ui" )
104- implementation(" androidx.compose.ui:ui-graphics" )
105- implementation(" androidx.compose.ui:ui-tooling-preview" )
106- implementation(" androidx.compose.material3:material3" )
107- implementation(" androidx.compose.material:material-icons-extended" )
108- implementation(" androidx.browser:browser:1.6.0" )
109- implementation(" androidx.security:security-crypto:1.1.0-alpha06" )
110- implementation(" androidx.navigation:navigation-compose:2.7.4" )
111- implementation(" net.java.dev.jna:jna:5.13.0@aar" )
112- implementation(" com.google.dagger:hilt-android:2.46.1" )
113- implementation(" androidx.hilt:hilt-navigation-compose:1.1.0-beta01" )
114- implementation(" androidx.appcompat:appcompat:1.6.1" )
115- implementation(" androidx.biometric:biometric:1.1.0" )
116- implementation(" com.google.accompanist:accompanist-permissions:0.30.1" )
117- implementation(" io.coil-kt:coil-compose-base:2.4.0" )
118- implementation(" io.coil-kt:coil-gif:2.4.0" )
119- implementation(" io.coil-kt:coil-svg:2.4.0" )
120- implementation(" com.github.chrisbanes:PhotoView:565505d5cb" )
121- // implementation("com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0")
122- implementation(" androidx.media3:media3-exoplayer:1.1.1" )
123- implementation(" androidx.media3:media3-ui:1.1.1" )
124- kapt(" com.google.dagger:hilt-compiler:2.48" )
125- testImplementation(" junit:junit:4.13.2" )
126- androidTestImplementation(" androidx.test.ext:junit:1.1.5" )
127- androidTestImplementation(" androidx.test.espresso:espresso-core:3.5.1" )
128- androidTestImplementation(platform(" androidx.compose:compose-bom:2023.10.00" ))
129- androidTestImplementation(" androidx.compose.ui:ui-test-junit4" )
130- androidTestImplementation(" androidx.test.uiautomator:uiautomator:2.3.0-alpha04" )
131- debugImplementation(" androidx.compose.ui:ui-tooling" )
132- debugImplementation(" androidx.compose.ui:ui-test-manifest" )
133- }
100+ implementation(libs.androidx.core.ktx)
101+ implementation(libs.androidx.lifecycle.runtime.ktx)
102+ implementation(libs.androidx.activity.compose)
103+
104+ implementation(platform(libs.androidx.compose.bom))
105+ implementation(libs.androidx.compose.ui)
106+ implementation(libs.androidx.compose.ui.graphics)
107+ implementation(libs.androidx.compose.ui.tooling.preview)
108+ implementation(libs.androidx.compose.material3)
109+ implementation(libs.androidx.compose.material.icons)
110+
111+ implementation(libs.androidx.browser)
112+ implementation(libs.androidx.security.crypto)
113+ implementation(libs.androidx.navigation.compose)
114+ implementation(variantOf(libs.jna) { artifactType(" aar" ) })
115+
116+ implementation(libs.hilt.android)
117+ ksp(libs.hilt.compiler)
118+ implementation(libs.androidx.hilt.navigation.compose)
119+
120+ implementation(libs.androidx.appcompat)
121+
122+ implementation(libs.androidx.biometric)
134123
135- kapt {
136- correctErrorTypes = true
124+ implementation(libs.accompanist.permissions)
125+
126+ implementation(libs.coil.compose.base)
127+ implementation(libs.coil.gif)
128+ implementation(libs.coil.svg)
129+
130+ implementation(libs.photoview)
131+
132+ implementation(libs.androidx.media3.exoplayer)
133+ implementation(libs.androidx.media3.ui)
134+
135+ testImplementation(libs.junit)
136+ androidTestImplementation(libs.androidx.junit)
137+ androidTestImplementation(libs.androidx.espresso.core)
138+ androidTestImplementation(platform(libs.androidx.compose.bom))
139+ androidTestImplementation(libs.androidx.compose.ui.test.junit4)
140+ androidTestImplementation(libs.androidx.uiautomator)
141+
142+ debugImplementation(libs.androidx.compose.ui.tooling)
143+ debugImplementation(libs.androidx.compose.ui.test.manifest)
137144}
138145
139- val uniFFIBindingsDir = " ${buildDir} / generated/source/uniffi/java"
146+ val uniFFIBindingsDir = layout.buildDirectory.dir( " generated/source/uniffi/java" )
140147
141- task <Exec >(" generateUniFFIBindings" ) {
148+ tasks.register <Exec >(" generateUniFFIBindings" ) {
142149 inputs.file(" ${project.projectDir} /../../vault-mobile/src/vault-mobile.udl" )
143150 outputs.dir(uniFFIBindingsDir)
144151
@@ -151,7 +158,7 @@ task<Exec>("generateUniFFIBindings") {
151158 " --language" ,
152159 " kotlin" ,
153160 " --out-dir" ,
154- uniFFIBindingsDir
161+ uniFFIBindingsDir.get().asFile
155162 )
156163
157164 doLast {
@@ -212,15 +219,17 @@ extensions.configure(com.nishtahir.CargoExtension::class) {
212219// }
213220// }
214221
222+ val mergedJniLibsDir = layout.buildDirectory.dir(" intermediates/merged_jni_libs" )
223+
215224// mergeDebugNativeLibs and mergeReleaseNativeLibs don't update the .so files in
216225// build/intermediates/merged_jni_libs. if we manually delete this folder before
217226// cargoBuild the new libraries will be copied correctly without needing to run
218227// clean task
219- task <Delete >(" cleanupMergedJniLibs" ) {
220- delete(file( " ${buildDir} /intermediates/merged_jni_libs " ) )
228+ tasks.register <Delete >(" cleanupMergedJniLibs" ) {
229+ delete(mergedJniLibsDir )
221230
222231 doLast {
223- println (" Deleted '${buildDir} /intermediates/merged_jni_libs '" )
232+ println (" Deleted '${mergedJniLibsDir.get().asFile} '" )
224233 }
225234}
226235
0 commit comments