Skip to content
20 changes: 20 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
[versions]
agp = "8.13.0"
appcompat = "1.7.1"
bcprovJdk15to18 = "1.81"
biometric = "1.1.0"
jna = "5.17.0"
kotlin = "2.2.10"
coreKtx = "1.17.0"
junit = "4.13.2"
junitVersion = "1.3.0"
espressoCore = "3.7.0"
kotlinTestJunit = "2.2.10"
kotlinxCoroutinesAndroid = "1.10.2"
kotlinxSerializationJson = "1.9.0"
lifecycleRuntimeKtx = "2.9.3"
activityCompose = "1.10.1"
composeBom = "2025.08.01"
okhttp = "5.1.0"
runner = "1.7.0"

[libraries]
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
androidx-biometric = { module = "androidx.biometric:biometric", version.ref = "biometric" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
androidx-rules = { module = "androidx.test:rules", version.ref = "runner" }
androidx-runner = { module = "androidx.test:runner", version.ref = "runner" }
bcpkix-jdk15to18 = { module = "org.bouncycastle:bcpkix-jdk15to18", version.ref = "bcprovJdk15to18" }
bcprov-jdk15to18 = { module = "org.bouncycastle:bcprov-jdk15to18", version.ref = "bcprovJdk15to18" }
jna = { module = "net.java.dev.jna:jna", version.ref = "jna" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
Expand All @@ -24,6 +40,10 @@ androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-toolin
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest", version = "1.9.0" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinTestJunit" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
Expand Down
46 changes: 29 additions & 17 deletions library/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -74,34 +74,46 @@ android {
kotlinOptions { jvmTarget = "17" }

testOptions { unitTests { isIncludeAndroidResources = true } }

packaging {
resources {
excludes += listOf(
"META-INF/AL2.0",
"META-INF/LGPL2.1"
)
}
}
}

// Set the base name for the AAR file
base { archivesName.set("c2pa") }

dependencies {
implementation("androidx.core:core-ktx:1.17.0")
implementation("androidx.appcompat:appcompat:1.7.1")
implementation("com.google.android.material:material:1.13.0")
implementation("androidx.biometric:biometric:1.1.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
implementation("com.squareup.okhttp3:okhttp:5.1.0")
implementation("net.java.dev.jna:jna:5.17.0@aar")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.biometric)
implementation(libs.kotlinx.coroutines.android)
implementation(libs.kotlinx.serialization.json)
implementation(libs.okhttp)
implementation(libs.jna) {
artifact {
type = "aar"
}
}

// BouncyCastle for CSR generation
implementation("org.bouncycastle:bcprov-jdk18on:1.81")
implementation("org.bouncycastle:bcpkix-jdk18on:1.81")
implementation(libs.bcprov.jdk15to18)
implementation(libs.bcpkix.jdk15to18)

testImplementation("junit:junit:4.13.2")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:2.2.10")
testImplementation(libs.junit)
testImplementation(libs.kotlin.test.junit)

androidTestImplementation(project(":test-shared"))
androidTestImplementation("androidx.test.ext:junit:1.3.0")
androidTestImplementation("androidx.test.espresso:espresso-core:3.7.0")
androidTestImplementation("androidx.test:runner:1.7.0")
androidTestImplementation("androidx.test:rules:1.7.0")
androidTestImplementation("org.jetbrains.kotlin:kotlin-test-junit:2.2.10")
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(libs.androidx.runner)
androidTestImplementation(libs.androidx.rules)
androidTestImplementation(libs.kotlin.test.junit)
}

// JaCoCo configuration
Expand Down
Loading