Comprehensive fixes to achieve 100% CI/CD success rate: 🚀 Android Dependencies: - Add JitPack repository for MPAndroidChart support - Replace problematic WebRTC with working Stream WebRTC alternative - Fix dependency resolution in both androidApp and shared modules 🏗️ Kotlin Microservices: - Add missing SpringDoc OpenAPI and WebFlux dependencies - Create complete model classes (BackupJob, RestoreJob, BackupSnapshot) - Implement missing repository interfaces and service clients - Rewrite BackupOrchestrator with proper type safety ⚡ Rust Services: - Create comprehensive compression benchmark suite - Add performance tests for ZSTD, LZ4, Brotli, GZIP algorithms - Include parallel vs sequential compression benchmarks 🔧 Native Module Build: - Create missing CMakeLists.txt for all native components - Fix snapshot_manager, fs_monitor, hw_acceleration builds - Establish proper library linking structure 🔒 Security Workflows: - Add conditional Docker image building with proper error handling - Make FOSSA scan conditional on API key availability - Enhance infrastructure scanning with directory validation - Improve SARIF file generation and upload reliability 📱 Node.js Services: - Add encryption-service to testing matrix alongside sync-coordinator - Ensure comprehensive test coverage for TypeScript services Created by: Wiktor (overspend1) Version: 2.0.0 - Production Ready CI/CD
164 lines
5.5 KiB
Kotlin
164 lines
5.5 KiB
Kotlin
plugins {
|
|
id("com.android.application")
|
|
kotlin("android")
|
|
kotlin("kapt")
|
|
id("com.google.dagger.hilt.android")
|
|
id("kotlin-parcelize")
|
|
}
|
|
|
|
android {
|
|
namespace = "com.corestate.androidApp"
|
|
compileSdk = 34
|
|
|
|
defaultConfig {
|
|
applicationId = "com.corestate.androidApp"
|
|
minSdk = 26
|
|
targetSdk = 34
|
|
versionCode = 1
|
|
versionName = "2.0.0"
|
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
vectorDrawables {
|
|
useSupportLibrary = true
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
getByName("release") {
|
|
isMinifyEnabled = true
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
}
|
|
getByName("debug") {
|
|
isDebuggable = true
|
|
applicationIdSuffix = ".debug"
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
compose = true
|
|
dataBinding = true
|
|
viewBinding = true
|
|
}
|
|
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion = "1.5.4"
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
freeCompilerArgs = listOf(
|
|
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
|
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi"
|
|
)
|
|
}
|
|
|
|
packaging {
|
|
resources {
|
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":apps:android:shared"))
|
|
|
|
// Android Core
|
|
implementation("androidx.core:core-ktx:1.12.0")
|
|
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.7.0")
|
|
implementation("androidx.activity:activity-compose:1.8.1")
|
|
implementation("androidx.fragment:fragment-ktx:1.6.2")
|
|
|
|
// Compose BOM
|
|
implementation(platform("androidx.compose:compose-bom:2023.10.01"))
|
|
implementation("androidx.compose.ui:ui")
|
|
implementation("androidx.compose.ui:ui-graphics")
|
|
implementation("androidx.compose.ui:ui-tooling-preview")
|
|
implementation("androidx.compose.material3:material3")
|
|
implementation("androidx.compose.material:material-icons-extended")
|
|
|
|
// Navigation
|
|
implementation("androidx.navigation:navigation-compose:2.7.5")
|
|
implementation("androidx.hilt:hilt-navigation-compose:1.1.0")
|
|
|
|
// Lifecycle
|
|
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0")
|
|
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.7.0")
|
|
|
|
// Dependency Injection
|
|
implementation("com.google.dagger:hilt-android:2.48")
|
|
kapt("com.google.dagger:hilt-compiler:2.48")
|
|
|
|
// Networking
|
|
implementation("com.squareup.retrofit2:retrofit:2.9.0")
|
|
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
|
|
implementation("com.squareup.okhttp3:okhttp:4.12.0")
|
|
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
|
|
|
|
// gRPC
|
|
implementation("io.grpc:grpc-okhttp:1.58.0")
|
|
implementation("io.grpc:grpc-protobuf-lite:1.58.0")
|
|
implementation("io.grpc:grpc-stub:1.58.0")
|
|
|
|
// Coroutines
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.3")
|
|
|
|
// Local Storage
|
|
implementation("androidx.room:room-runtime:2.6.0")
|
|
implementation("androidx.room:room-ktx:2.6.0")
|
|
kapt("androidx.room:room-compiler:2.6.0")
|
|
|
|
// DataStore
|
|
implementation("androidx.datastore:datastore-preferences:1.0.0")
|
|
|
|
// WorkManager
|
|
implementation("androidx.work:work-runtime-ktx:2.8.1")
|
|
implementation("androidx.hilt:hilt-work:1.1.0")
|
|
kapt("androidx.hilt:hilt-compiler:1.1.0")
|
|
|
|
// Biometric Authentication
|
|
implementation("androidx.biometric:biometric:1.1.0")
|
|
|
|
// File Management
|
|
implementation("com.github.bumptech.glide:glide:4.16.0")
|
|
implementation("androidx.documentfile:documentfile:1.0.1")
|
|
|
|
// Charts and UI
|
|
implementation("com.github.PhilJay:MPAndroidChart:v3.1.0")
|
|
implementation("com.airbnb.android:lottie-compose:6.1.0")
|
|
|
|
// Security
|
|
implementation("androidx.security:security-crypto:1.1.0-alpha06")
|
|
|
|
// WebRTC (for P2P sync) - Using Stream's WebRTC which is actively maintained
|
|
implementation("io.getstream:stream-webrtc-android:1.0.8")
|
|
|
|
// Permissions
|
|
implementation("com.google.accompanist:accompanist-permissions:0.32.0")
|
|
|
|
// System UI Controller
|
|
implementation("com.google.accompanist:accompanist-systemuicontroller:0.32.0")
|
|
|
|
// Testing
|
|
testImplementation("junit:junit:4.13.2")
|
|
testImplementation("org.mockito:mockito-core:5.6.0")
|
|
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
|
|
testImplementation("androidx.arch.core:core-testing:2.2.0")
|
|
|
|
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
|
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
|
androidTestImplementation(platform("androidx.compose:compose-bom:2023.10.01"))
|
|
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
|
|
|
|
debugImplementation("androidx.compose.ui:ui-tooling")
|
|
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
|
} |