diff options
Diffstat (limited to 'feature/preview/build.gradle.kts')
-rw-r--r-- | feature/preview/build.gradle.kts | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/feature/preview/build.gradle.kts b/feature/preview/build.gradle.kts new file mode 100644 index 0000000..121ac17 --- /dev/null +++ b/feature/preview/build.gradle.kts @@ -0,0 +1,113 @@ +/* + * 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.feature.preview" + compileSdk = 34 + + defaultConfig { + minSdk = 21 + targetSdk = 34 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = true + 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" + } + testOptions { + unitTests { + isReturnDefaultValues = true + } + } +} + +dependencies { + // Compose + val composeBom = platform("androidx.compose:compose-bom:2023.08.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") + + // Guava + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.4.1") + + // CameraX + val camerax_version = "1.4.0-SNAPSHOT" + implementation("androidx.camera:camera-core:${camerax_version}") + implementation("androidx.camera:camera-view:${camerax_version}") + + // Hilt + implementation("com.google.dagger:hilt-android:2.44") + kapt("com.google.dagger:hilt-compiler:2.44") + + // Project dependencies + implementation(project(":data:settings")) + implementation(project(":domain:camera")) + implementation(project(":camera-viewfinder-compose")) + implementation(project(":feature:quicksettings")) +} + +// Allow references to generated code +kapt { + correctErrorTypes = true +}
\ No newline at end of file |