import java.util.Properties import java.io.FileInputStream plugins { id("com.android.application") kotlin("android") } val keystoreProperties = Properties() val keystorePropertiesFile = rootProject.file("keystore.properties") if (keystorePropertiesFile.exists()) { keystoreProperties.load(FileInputStream(keystorePropertiesFile)) } android { namespace = "com.illusionware.npsbrowser" compileSdk = 33 defaultConfig { applicationId = "com.illusionware.npsbrowser" minSdk = 23 targetSdk = 33 versionCode = 1 versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } } buildFeatures { compose = true aidl = false renderScript = false shaders = false } signingConfigs { create("release") { keyAlias = keystoreProperties["keyAlias"] as String? keyPassword = keystoreProperties["keyPassword"] as String? storeFile = keystoreProperties["storeFile"]?.let { file(it) } storePassword = keystoreProperties["storePassword"] as String? } } buildTypes { named("release") { signingConfig = signingConfigs.getByName("release") isMinifyEnabled = true isShrinkResources = true proguardFiles("proguard-android-optimize.txt", "proguard-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } composeOptions { kotlinCompilerExtensionVersion = "1.4.4" } buildToolsVersion = "33.0.1" kotlinOptions { jvmTarget = "17" } } repositories { google() mavenCentral() } dependencies { implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") implementation("androidx.activity:activity-compose:1.7.2") implementation(platform("androidx.compose:compose-bom:2022.10.00")) implementation("androidx.compose.ui:ui") implementation("androidx.compose.ui:ui-graphics") androidTestImplementation(platform("androidx.compose:compose-bom:2022.10.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") // Jetpack Compose val composeBom = platform("androidx.compose:compose-bom:2023.04.01") implementation(composeBom) androidTestImplementation(composeBom) // Material 3 implementation("androidx.compose.material3:material3:1.1.0") implementation("androidx.compose.material:material-icons-extended:1.4.3") // Android Studio Preview support implementation("androidx.compose.ui:ui-tooling-preview") debugImplementation("androidx.compose.ui:ui-tooling") // Preferences DataStore (alternative to SharedPreferences) implementation("androidx.datastore:datastore-preferences:1.0.0") // Compose extras library for controlling system ui and etc. implementation("com.google.accompanist:accompanist-systemuicontroller:0.31.2-alpha") implementation("com.github.doyaaaaaken:kotlin-csv-jvm:1.9.1") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") implementation("com.google.android.material:material:1.9.0") implementation("com.github.bumptech.glide:glide:4.14.2") annotationProcessor("com.github.bumptech.glide:compiler:4.14.2") debugImplementation("androidx.compose.ui:ui-test-manifest") implementation("androidx.core:core-splashscreen:1.0.1") implementation("androidx.navigation:navigation-compose:2.6.0") implementation("io.coil-kt:coil:2.4.0") implementation("io.coil-kt:coil-compose:2.4.0") }