| /* |
| * Copyright (C) 2023 The Android Open Source Project |
| * |
| * 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 |
| * |
| * http://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 { |
| id("com.android.library") |
| id("org.jetbrains.kotlin.android") |
| id("kotlin-kapt") |
| id("com.google.dagger.hilt.android") |
| } |
| |
| android { |
| namespace = "com.google.jetpackcamera.settings" |
| compileSdk = 34 |
| |
| defaultConfig { |
| minSdk = 21 |
| targetSdk = 34 |
| |
| testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" |
| consumerProguardFiles("consumer-rules.pro") |
| } |
| |
| buildTypes { |
| release { |
| isMinifyEnabled = false |
| proguardFiles( |
| getDefaultProguardFile("proguard-android-optimize.txt"), |
| "proguard-rules.pro" |
| ) |
| } |
| } |
| compileOptions { |
| sourceCompatibility = JavaVersion.VERSION_17 |
| targetCompatibility = JavaVersion.VERSION_17 |
| } |
| kotlin { |
| jvmToolchain(17) |
| } |
| buildFeatures { |
| compose = true |
| } |
| composeOptions { |
| kotlinCompilerExtensionVersion = "1.4.0" |
| } |
| } |
| |
| dependencies { |
| // Compose |
| val composeBom = platform("androidx.compose:compose-bom:2022.12.00") |
| implementation(composeBom) |
| androidTestImplementation(composeBom) |
| |
| // Compose - Material Design 3 |
| implementation("androidx.compose.material3:material3") |
| |
| // Compose - Android Studio Preview support |
| implementation("androidx.compose.ui:ui-tooling-preview") |
| debugImplementation("androidx.compose.ui:ui-tooling") |
| |
| // Compose - Integration with ViewModels with Navigation and Hilt |
| implementation("androidx.hilt:hilt-navigation-compose:1.0.0") |
| |
| // Compose - Testing |
| androidTestImplementation("androidx.compose.ui:ui-test-junit4") |
| |
| // Testing |
| testImplementation("junit:junit:4.13.2") |
| androidTestImplementation("androidx.test.ext:junit:1.1.3") |
| androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0") |
| testImplementation("org.mockito:mockito-core:5.2.0") |
| testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6") |
| implementation("androidx.test:core-ktx:1.5.0") |
| |
| // Guava |
| implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.4.1") |
| |
| // Hilt |
| implementation("com.google.dagger:hilt-android:2.44") |
| kapt("com.google.dagger:hilt-compiler:2.44") |
| |
| // Proto Datastore |
| implementation("androidx.datastore:datastore:1.0.0") |
| implementation("com.google.protobuf:protobuf-kotlin-lite:3.21.12") |
| |
| implementation(project(":data:settings")) |
| } |
| |
| // Allow references to generated code |
| kapt { |
| correctErrorTypes = true |
| } |