1/*
2 * Copyright 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * This file was created using the `create_project.py` script located in the
19 * `<AndroidX root>/development/project-creator` directory.
20 *
21 * Please use that script when creating a new project, rather than copying an existing project and
22 * modifying its settings.
23 */
24import androidx.build.SoftwareType
25
26plugins {
27    id("AndroidXPlugin")
28    id("com.android.library")
29    id("org.jetbrains.kotlin.android")
30}
31
32dependencies {
33    api(libs.jspecify)
34    api("androidx.lifecycle:lifecycle-common:2.0.0")
35    api("androidx.annotation:annotation:1.8.1")
36    api(project(":camera:camera-core"))
37    api(project(":camera:camera-video"))
38
39    implementation(project(":camera:camera-lifecycle"))
40    implementation("androidx.annotation:annotation-experimental:1.4.1")
41    implementation(libs.guavaListenableFuture)
42    implementation("androidx.core:core:1.3.2")
43    implementation("androidx.concurrent:concurrent-futures:1.0.0")
44    implementation(libs.autoValueAnnotations)
45    implementation("androidx.appcompat:appcompat:1.1.0")
46
47    annotationProcessor(libs.autoValue)
48
49    testImplementation(libs.testRunner)
50    testImplementation(libs.mockitoCore4)
51    testImplementation(libs.robolectric)
52    testImplementation(libs.kotlinStdlib)
53    testImplementation(libs.truth)
54    testImplementation(libs.testRules)
55    testImplementation(libs.testCore)
56    testImplementation(project(":camera:camera-camera2"))
57    testImplementation(project(":camera:camera-testing"))
58
59    androidTestImplementation(libs.mockitoCore)
60    androidTestImplementation(libs.testExtJunit)
61    androidTestImplementation(libs.testCore)
62    androidTestImplementation(libs.testRunner)
63    androidTestImplementation(libs.testRules)
64    androidTestImplementation(libs.testUiautomator)
65    androidTestImplementation(libs.kotlinStdlib)
66    androidTestImplementation(libs.truth)
67    androidTestImplementation(project(":camera:camera-camera2"))
68    androidTestImplementation(project(":camera:camera-testing")) {
69        // Ensure camera-testing does not pull in androidx.test dependencies
70        exclude(group:"androidx.test")
71    }
72    androidTestImplementation(project(":camera:camera-camera2-pipe-integration"))
73    androidTestImplementation(project(":internal-testutils-truth"))
74    androidTestImplementation(libs.mockitoCore)
75    androidTestImplementation(libs.dexmakerMockito)
76    androidTestImplementation("androidx.test.espresso:espresso-core:3.3.0")
77}
78android {
79    compileSdk = 35
80
81    lint {
82        enable.add("CameraXQuirksClassDetector")
83    }
84
85    testOptions.unitTests.includeAndroidResources = true
86    namespace = "androidx.camera.view"
87}
88androidx {
89    name = "Camera View"
90    type = SoftwareType.PUBLISHED_LIBRARY
91    inceptionYear = "2019"
92    description = "UI tools for the Jetpack Camera Library, a library providing a consistent and " +
93            "reliable camera foundation that enables great camera driven experiences across all " +
94            "of Android."
95}
96