- Move 5 diagnostics files into src/main/.../diagnostics/ (DiagnosticsTypes, DiagnosticsClient, BreadcrumbTrail, DeviceStateCollector, NetworkInterceptor) - Move 3 API clients (BLBroadcastClient, BLSurveyClient, BLFeedbackClient) — fix toMediaType, serializer pattern, coroutine imports - Move 2 pure Kotlin files (DeepLinkRouter, BLPasskeyManager) - Move 3 Compose UI files into src/main/.../ui/ (BLAuthUI, SurveyUI, BroadcastUI) - Move 2 test files (DiagnosticsTypesTest, BLAuthClientSmartAuthTest) — fix JUnit5, Device JSON, serializer - Add coil-compose dependency for AsyncImage - Add appVersion/osVersion fields to BLPlatformConfig - Fix OkHttp Headers iteration (name/value indexed access) - Fix BroadcastUI string comparisons for status/style/priority - Remove _deferred_ui/ directory — all files now compile in src/ - 57 tests total, 56 pass (1 pre-existing BLKillSwitchClientTest failure)
78 lines
2.4 KiB
Plaintext
78 lines
2.4 KiB
Plaintext
plugins {
|
|
id("com.android.library") version "8.7.3"
|
|
id("org.jetbrains.kotlin.android") version "2.1.0"
|
|
id("org.jetbrains.kotlin.plugin.serialization") version "2.1.0"
|
|
id("org.jetbrains.kotlin.plugin.compose") version "2.1.0"
|
|
}
|
|
|
|
android {
|
|
namespace = "com.bytelyst.platform"
|
|
compileSdk = 35
|
|
|
|
defaultConfig {
|
|
minSdk = 26
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
consumerProguardFiles("consumer-rules.pro")
|
|
}
|
|
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
|
|
buildFeatures {
|
|
compose = true
|
|
}
|
|
}
|
|
|
|
group = "com.bytelyst.platform"
|
|
version = "0.1.0"
|
|
|
|
dependencies {
|
|
// HTTP
|
|
api("com.squareup.okhttp3:okhttp:4.12.0")
|
|
|
|
// Serialization
|
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3")
|
|
|
|
// Coroutines
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
|
|
|
|
// Compose UI (for SurveyUI, InAppMessageUI, BroadcastUI)
|
|
implementation(platform("androidx.compose:compose-bom:2024.12.01"))
|
|
implementation("androidx.compose.ui:ui")
|
|
implementation("androidx.compose.material3:material3")
|
|
implementation("androidx.compose.material:material-icons-extended")
|
|
implementation("androidx.compose.foundation:foundation")
|
|
|
|
// Image loading (for BroadcastUI AsyncImage)
|
|
implementation("io.coil-kt:coil-compose:2.7.0")
|
|
|
|
// Android
|
|
implementation("androidx.security:security-crypto:1.0.0")
|
|
implementation("androidx.biometric:biometric:1.1.0")
|
|
implementation("androidx.core:core-ktx:1.15.0")
|
|
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
|
|
|
|
// Credential Manager (Passkeys)
|
|
implementation("androidx.credentials:credentials:1.5.0-beta01")
|
|
implementation("androidx.credentials:credentials-play-services-auth:1.5.0-beta01")
|
|
|
|
// Testing
|
|
testImplementation("org.junit.jupiter:junit-jupiter-api:5.11.4")
|
|
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.11.4")
|
|
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
|
|
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
|
|
testImplementation("org.robolectric:robolectric:4.14.1")
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|