blob: a86e1be3cc1e4447c158b3092b2aefae45fbbb78 [file] [log] [blame]
Trevor McGuire4f33bce2020-05-05 16:15:20 -07001/*
2 * Copyright 2020 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
Tiem Songee0da742024-01-03 14:08:46 -080017/**
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 */
Omar Ismail86e66062024-05-03 16:10:50 +010024import androidx.build.LibraryType
Trevor McGuire4f33bce2020-05-05 16:15:20 -070025
Trevor McGuire4f33bce2020-05-05 16:15:20 -070026plugins {
27 id("AndroidXPlugin")
28 id("com.android.library")
29 id("kotlin-android")
Aurimas Liutikasf95ab4d2024-04-24 23:19:40 +000030 id("com.google.devtools.ksp")
Trevor McGuire4f33bce2020-05-05 16:15:20 -070031}
32
Trevor McGuire4f33bce2020-05-05 16:15:20 -070033dependencies {
husaynhakeem3e6596c2021-04-30 10:48:01 -070034 implementation("androidx.core:core:1.3.2")
Aurimas Liutikas7ce1fa52020-10-26 16:05:03 -070035
Paul Rohdeb6a86f72020-11-05 15:29:52 -080036 // Classes and types that are needed at compile & runtime
Aurimas Liutikas96f0b302024-07-25 15:49:23 -070037 api("androidx.annotation:annotation:1.8.1")
Trevor McGuire4f33bce2020-05-05 16:15:20 -070038 api(project(":camera:camera-core"))
Paul Rohdeb6a86f72020-11-05 15:29:52 -080039
40 // Classes and types that are only needed at runtime
Ian Lake6b6bf162021-08-25 22:23:04 -070041 implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.3.1")
Jasmine Chen1cbb7102023-05-24 15:37:51 -070042 implementation(libs.atomicFu)
43 implementation(libs.dagger)
Aurimas Liutikase26aaba2021-05-24 16:38:00 -070044 implementation(libs.kotlinStdlib)
Jasmine Chen1cbb7102023-05-24 15:37:51 -070045 implementation(libs.kotlinCoroutinesAndroid)
46 implementation(project(":camera:camera-camera2-pipe"))
WenHung_Tengd0dfaa52022-06-02 21:41:11 +080047 implementation(project(":concurrent:concurrent-futures-ktx"))
Trevor McGuire4f33bce2020-05-05 16:15:20 -070048
Aurimas Liutikasf95ab4d2024-04-24 23:19:40 +000049 ksp(libs.daggerCompiler)
Paul Rohdeb6a86f72020-11-05 15:29:52 -080050
Aurimas Liutikase26aaba2021-05-24 16:38:00 -070051 testImplementation(libs.testCore)
52 testImplementation(libs.testRunner)
53 testImplementation(libs.junit)
54 testImplementation(libs.truth)
Aurimas Liutikas759f9682022-10-05 07:01:37 -070055 testImplementation(libs.mockitoCore4)
Paul Rohde51d7c402023-01-13 16:30:15 -080056 testImplementation(libs.mockitoKotlin4)
Aurimas Liutikas4e41da22023-12-13 15:38:28 -080057 testImplementation(libs.byteBuddy)
Aurimas Liutikase26aaba2021-05-24 16:38:00 -070058 testImplementation(libs.robolectric)
59 testImplementation(libs.kotlinCoroutinesTest)
Tahsin Masrur8c23de12023-06-08 11:38:22 +080060 testImplementation(libs.kotlinTestJunit)
Sushil Nath65f1fab2021-04-06 12:49:03 -070061 testImplementation(project(":camera:camera-camera2-pipe-testing"))
WenHung_Teng32533ab2021-05-21 17:59:26 +080062 testImplementation(project(":camera:camera-testing"))
63 testImplementation(project(":internal-testutils-ktx"))
Sushil Nath65f1fab2021-04-06 12:49:03 -070064 testImplementation(project(":internal-testutils-truth"))
WenHung_Teng8fd4f192022-12-01 19:01:38 +080065 testImplementation("androidx.exifinterface:exifinterface:1.0.0")
WenHung_Tengd87b8b12021-12-03 16:12:13 +080066 testImplementation("androidx.lifecycle:lifecycle-runtime-testing:2.3.1")
David Jiaf699e442022-09-13 15:11:27 -070067 testImplementation(project(":camera:camera-video"))
Sushil Nath65f1fab2021-04-06 12:49:03 -070068
Aurimas Liutikase26aaba2021-05-24 16:38:00 -070069 androidTestImplementation(libs.testExtJunit)
Tahsin Masrur068199ff2023-06-01 12:20:32 +080070 androidTestImplementation(libs.testRules)
Aurimas Liutikase26aaba2021-05-24 16:38:00 -070071 androidTestImplementation(libs.testRunner)
72 androidTestImplementation(libs.kotlinCoroutinesAndroid)
73 androidTestImplementation(libs.kotlinStdlib)
74 androidTestImplementation(libs.truth)
Jinseong Jeon89e05332024-07-04 18:35:02 -070075 androidTestImplementation("androidx.annotation:annotation-experimental:1.4.1")
Trevor McGuire4f33bce2020-05-05 16:15:20 -070076 androidTestImplementation(project(":camera:camera-lifecycle"))
Tahsin Masrur068199ff2023-06-01 12:20:32 +080077 androidTestImplementation(project(":camera:camera-testing")) {
78 // Ensure camera-testing does not pull in androidx.test dependencies
79 exclude(group:"androidx.test")
80 }
WenHung_Tengab9be6f2023-01-18 14:49:46 +080081 androidTestImplementation(project(":camera:camera-video"))
Trevor McGuire4f33bce2020-05-05 16:15:20 -070082 androidTestImplementation(project(":concurrent:concurrent-futures-ktx"))
WenHung_Tenge83e7782021-08-09 11:28:24 +080083 androidTestImplementation(project(":internal-testutils-truth"))
WenHung_Tengbccb4a72022-08-29 21:14:32 +080084 androidTestImplementation("androidx.test.espresso:espresso-core:3.3.0")
Trevor McGuire4f33bce2020-05-05 16:15:20 -070085}
86
87android {
Aurimas Liutikas04bd5062025-01-07 13:40:09 -080088 compileSdk = 35
CharcoalChenaf13cf572024-12-23 17:07:32 +080089
System Administratorc4ab0a12022-04-13 12:05:20 -070090 lintOptions {
Aurimas Liutikas77952822024-12-04 18:00:17 -080091 enable("CameraXQuirksClassDetector")
System Administratorc4ab0a12022-04-13 12:05:20 -070092 }
Aurimas Liutikas77952822024-12-04 18:00:17 -080093 namespace = "androidx.camera.camera2.pipe.integration"
Trevor McGuire4f33bce2020-05-05 16:15:20 -070094}
95
Aurimas Liutikas634a5bb2023-05-26 13:41:02 -070096tasks.withType(Test).configureEach { test ->
Aurimas Liutikas77952822024-12-04 18:00:17 -080097 test.maxParallelForks = 2
Aurimas Liutikas634a5bb2023-05-26 13:41:02 -070098}
99
Aurimas Liutikasf95ab4d2024-04-24 23:19:40 +0000100ksp {
101 arg("dagger.fastInit", "enabled")
102 arg("dagger.fullBindingGraphValidation", "ERROR")
Paul Rohdeb6a86f72020-11-05 15:29:52 -0800103}
104
Trevor McGuire4f33bce2020-05-05 16:15:20 -0700105androidx {
Alan Viverettec9e1fd72023-05-08 17:36:59 -0400106 name = "Camera2 Pipe Integration"
Omar Ismail86e66062024-05-03 16:10:50 +0100107 type = LibraryType.PUBLISHED_LIBRARY
Trevor McGuire4f33bce2020-05-05 16:15:20 -0700108 inceptionYear = "2020"
Alan Viverettec9e1fd72023-05-08 17:36:59 -0400109 description = "A Camera2 Pipe implementation of CameraX, a library providing a consistent " +
110 "and reliable camera foundation that enables great camera driven experiences across " +
111 "all of Android."
Julia McClellanf37eb982024-02-02 10:43:51 -0500112 doNotDocumentReason = "Not shipped externally"
Trevor McGuire4f33bce2020-05-05 16:15:20 -0700113}