/* * Copyright 2022 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) } android { compileSdk = libs.versions.compileSdk.get().toInt() namespace = "com.cbnu.cats" defaultConfig { applicationId = "com.cbnu.cats" minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() versionCode = 1 versionName = "1.0" vectorDrawables.useSupportLibrary = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { // We use a bundled debug keystore, to allow debug builds from CI to be upgradable named("debug") { storeFile = rootProject.file("debug.keystore") storePassword = "android" keyAlias = "androiddebugkey" keyPassword = "android" } } buildTypes { getByName("debug") { signingConfig = signingConfigs.getByName("debug") } getByName("release") { isMinifyEnabled = true signingConfig = signingConfigs.getByName("debug") proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } testOptions { unitTests { isReturnDefaultValues = true isIncludeAndroidResources = true } } // Tests can be Robolectric or instrumented tests sourceSets { val sharedTestDir = "src/sharedTest/java" getByName("test") { java.srcDir(sharedTestDir) } getByName("androidTest") { java.srcDir(sharedTestDir) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get() } } dependencies { implementation(libs.androidx.tools.core) val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) implementation(libs.androidx.core.ktx) implementation(libs.kotlin.stdlib) implementation(libs.kotlinx.coroutines.android) implementation(libs.androidx.compose.ui.tooling.preview) debugImplementation(libs.androidx.compose.ui.tooling) implementation(libs.androidx.compose.material3) implementation("com.google.accompanist:accompanist-adaptive:0.26.2-beta") implementation(libs.androidx.compose.materialWindow) implementation(libs.androidx.compose.material.iconsExtended) implementation(libs.androidx.lifecycle.runtime) implementation(libs.androidx.lifecycle.viewModelCompose) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.navigation.compose) implementation("io.ak1:drawbox:1.0.3") implementation(libs.androidx.activity.compose) implementation(libs.androidx.window) implementation("de.hdodenhof:circleimageview:3.1.0") implementation("com.github.Dhaval2404:ColorPicker:2.3") androidTestImplementation(libs.junit) androidTestImplementation(libs.androidx.test.core) androidTestImplementation(libs.androidx.test.runner) androidTestImplementation(libs.androidx.test.espresso.core) androidTestImplementation(libs.androidx.test.rules) androidTestImplementation(libs.androidx.test.ext.junit) androidTestImplementation(libs.kotlinx.coroutines.test) androidTestImplementation(libs.androidx.compose.ui.test) androidTestImplementation(libs.androidx.compose.ui.test.junit4) implementation("com.google.android.material:material:1.4.0") debugImplementation(libs.androidx.compose.ui.test.manifest) }