xref: /aosp_15_r20/external/jetpack-camera-app/feature/settings/build.gradle.kts (revision 7e7863dab8204bb545ead586e736dea632e06846)
1*7e7863daSAndroid Build Coastguard Worker /*
2*7e7863daSAndroid Build Coastguard Worker  * Copyright (C) 2023 The Android Open Source Project
3*7e7863daSAndroid Build Coastguard Worker  *
4*7e7863daSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*7e7863daSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*7e7863daSAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*7e7863daSAndroid Build Coastguard Worker  *
8*7e7863daSAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*7e7863daSAndroid Build Coastguard Worker  *
10*7e7863daSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*7e7863daSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*7e7863daSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*7e7863daSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*7e7863daSAndroid Build Coastguard Worker  * limitations under the License.
15*7e7863daSAndroid Build Coastguard Worker  */
16*7e7863daSAndroid Build Coastguard Worker 
<lambda>null17*7e7863daSAndroid Build Coastguard Worker plugins {
18*7e7863daSAndroid Build Coastguard Worker     alias(libs.plugins.android.library)
19*7e7863daSAndroid Build Coastguard Worker     alias(libs.plugins.kotlin.android)
20*7e7863daSAndroid Build Coastguard Worker     alias(libs.plugins.kotlin.kapt)
21*7e7863daSAndroid Build Coastguard Worker     alias(libs.plugins.dagger.hilt.android)
22*7e7863daSAndroid Build Coastguard Worker }
23*7e7863daSAndroid Build Coastguard Worker 
<lambda>null24*7e7863daSAndroid Build Coastguard Worker android {
25*7e7863daSAndroid Build Coastguard Worker     namespace = "com.google.jetpackcamera.settings"
26*7e7863daSAndroid Build Coastguard Worker     compileSdk = libs.versions.compileSdk.get().toInt()
27*7e7863daSAndroid Build Coastguard Worker     compileSdkPreview = libs.versions.compileSdkPreview.get()
28*7e7863daSAndroid Build Coastguard Worker 
29*7e7863daSAndroid Build Coastguard Worker     defaultConfig {
30*7e7863daSAndroid Build Coastguard Worker         minSdk = libs.versions.minSdk.get().toInt()
31*7e7863daSAndroid Build Coastguard Worker         testOptions.targetSdk = libs.versions.targetSdk.get().toInt()
32*7e7863daSAndroid Build Coastguard Worker         lint.targetSdk = libs.versions.targetSdk.get().toInt()
33*7e7863daSAndroid Build Coastguard Worker 
34*7e7863daSAndroid Build Coastguard Worker         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
35*7e7863daSAndroid Build Coastguard Worker     }
36*7e7863daSAndroid Build Coastguard Worker 
37*7e7863daSAndroid Build Coastguard Worker     flavorDimensions += "flavor"
38*7e7863daSAndroid Build Coastguard Worker     productFlavors {
39*7e7863daSAndroid Build Coastguard Worker         create("stable") {
40*7e7863daSAndroid Build Coastguard Worker             dimension = "flavor"
41*7e7863daSAndroid Build Coastguard Worker             isDefault = true
42*7e7863daSAndroid Build Coastguard Worker         }
43*7e7863daSAndroid Build Coastguard Worker 
44*7e7863daSAndroid Build Coastguard Worker         create("preview") {
45*7e7863daSAndroid Build Coastguard Worker             dimension = "flavor"
46*7e7863daSAndroid Build Coastguard Worker             targetSdkPreview = libs.versions.targetSdkPreview.get()
47*7e7863daSAndroid Build Coastguard Worker         }
48*7e7863daSAndroid Build Coastguard Worker     }
49*7e7863daSAndroid Build Coastguard Worker 
50*7e7863daSAndroid Build Coastguard Worker     compileOptions {
51*7e7863daSAndroid Build Coastguard Worker         sourceCompatibility = JavaVersion.VERSION_17
52*7e7863daSAndroid Build Coastguard Worker         targetCompatibility = JavaVersion.VERSION_17
53*7e7863daSAndroid Build Coastguard Worker     }
54*7e7863daSAndroid Build Coastguard Worker     kotlin {
55*7e7863daSAndroid Build Coastguard Worker         jvmToolchain(17)
56*7e7863daSAndroid Build Coastguard Worker     }
57*7e7863daSAndroid Build Coastguard Worker     buildFeatures {
58*7e7863daSAndroid Build Coastguard Worker         buildConfig = true
59*7e7863daSAndroid Build Coastguard Worker         compose = true
60*7e7863daSAndroid Build Coastguard Worker     }
61*7e7863daSAndroid Build Coastguard Worker     composeOptions {
62*7e7863daSAndroid Build Coastguard Worker         kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
63*7e7863daSAndroid Build Coastguard Worker     }
64*7e7863daSAndroid Build Coastguard Worker 
65*7e7863daSAndroid Build Coastguard Worker     @Suppress("UnstableApiUsage")
66*7e7863daSAndroid Build Coastguard Worker     testOptions {
67*7e7863daSAndroid Build Coastguard Worker         managedDevices {
68*7e7863daSAndroid Build Coastguard Worker             localDevices {
69*7e7863daSAndroid Build Coastguard Worker                 create("pixel2Api28") {
70*7e7863daSAndroid Build Coastguard Worker                     device = "Pixel 2"
71*7e7863daSAndroid Build Coastguard Worker                     apiLevel = 28
72*7e7863daSAndroid Build Coastguard Worker                 }
73*7e7863daSAndroid Build Coastguard Worker                 create("pixel8Api34") {
74*7e7863daSAndroid Build Coastguard Worker                     device = "Pixel 8"
75*7e7863daSAndroid Build Coastguard Worker                     apiLevel = 34
76*7e7863daSAndroid Build Coastguard Worker                     systemImageSource = "aosp_atd"
77*7e7863daSAndroid Build Coastguard Worker                 }
78*7e7863daSAndroid Build Coastguard Worker             }
79*7e7863daSAndroid Build Coastguard Worker         }
80*7e7863daSAndroid Build Coastguard Worker     }
81*7e7863daSAndroid Build Coastguard Worker }
82*7e7863daSAndroid Build Coastguard Worker 
<lambda>null83*7e7863daSAndroid Build Coastguard Worker dependencies {
84*7e7863daSAndroid Build Coastguard Worker     // Compose
85*7e7863daSAndroid Build Coastguard Worker     val composeBom = platform(libs.compose.bom)
86*7e7863daSAndroid Build Coastguard Worker     implementation(composeBom)
87*7e7863daSAndroid Build Coastguard Worker     androidTestImplementation(composeBom)
88*7e7863daSAndroid Build Coastguard Worker 
89*7e7863daSAndroid Build Coastguard Worker     // Compose - Material Design 3
90*7e7863daSAndroid Build Coastguard Worker     implementation(libs.compose.material3)
91*7e7863daSAndroid Build Coastguard Worker 
92*7e7863daSAndroid Build Coastguard Worker     // Compose - Android Studio Preview support
93*7e7863daSAndroid Build Coastguard Worker     implementation(libs.compose.ui.tooling.preview)
94*7e7863daSAndroid Build Coastguard Worker     debugImplementation(libs.compose.ui.tooling)
95*7e7863daSAndroid Build Coastguard Worker 
96*7e7863daSAndroid Build Coastguard Worker     // Compose - Integration with ViewModels with Navigation and Hilt
97*7e7863daSAndroid Build Coastguard Worker     implementation(libs.hilt.navigation.compose)
98*7e7863daSAndroid Build Coastguard Worker 
99*7e7863daSAndroid Build Coastguard Worker     // Compose - Testing
100*7e7863daSAndroid Build Coastguard Worker     androidTestImplementation(libs.compose.junit)
101*7e7863daSAndroid Build Coastguard Worker 
102*7e7863daSAndroid Build Coastguard Worker     // Testing
103*7e7863daSAndroid Build Coastguard Worker     testImplementation(libs.junit)
104*7e7863daSAndroid Build Coastguard Worker     testImplementation(libs.mockito.core)
105*7e7863daSAndroid Build Coastguard Worker     testImplementation(libs.kotlinx.coroutines.test)
106*7e7863daSAndroid Build Coastguard Worker     androidTestImplementation(libs.androidx.junit)
107*7e7863daSAndroid Build Coastguard Worker     androidTestImplementation(libs.androidx.espresso.core)
108*7e7863daSAndroid Build Coastguard Worker     androidTestImplementation(libs.truth)
109*7e7863daSAndroid Build Coastguard Worker 
110*7e7863daSAndroid Build Coastguard Worker     implementation(libs.androidx.core.ktx)
111*7e7863daSAndroid Build Coastguard Worker 
112*7e7863daSAndroid Build Coastguard Worker     // Futures
113*7e7863daSAndroid Build Coastguard Worker     implementation(libs.futures.ktx)
114*7e7863daSAndroid Build Coastguard Worker 
115*7e7863daSAndroid Build Coastguard Worker     // Hilt
116*7e7863daSAndroid Build Coastguard Worker     implementation(libs.dagger.hilt.android)
117*7e7863daSAndroid Build Coastguard Worker     kapt(libs.dagger.hilt.compiler)
118*7e7863daSAndroid Build Coastguard Worker 
119*7e7863daSAndroid Build Coastguard Worker     // Proto Datastore
120*7e7863daSAndroid Build Coastguard Worker     implementation(libs.androidx.datastore)
121*7e7863daSAndroid Build Coastguard Worker     implementation(libs.protobuf.kotlin.lite)
122*7e7863daSAndroid Build Coastguard Worker 
123*7e7863daSAndroid Build Coastguard Worker     implementation(project(":data:settings"))
124*7e7863daSAndroid Build Coastguard Worker }
125*7e7863daSAndroid Build Coastguard Worker 
126*7e7863daSAndroid Build Coastguard Worker // Allow references to generated code
127*7e7863daSAndroid Build Coastguard Worker kapt {
128*7e7863daSAndroid Build Coastguard Worker     correctErrorTypes = true
129*7e7863daSAndroid Build Coastguard Worker }