blob: e028d4d133351f3874d788ba998b23ab5a829d31 [file] [log] [blame]
/*
* Copyright 2020 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.
*/
import androidx.build.BundleInsideHelper
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.Publish
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import static androidx.build.dependencies.DependenciesKt.*
plugins {
id("AndroidXPlugin")
id("com.android.library")
id("kotlin-android")
id("kotlin-kapt")
}
apply from: "../camera-camera2-pipe/dependencies.gradle"
BundleInsideHelper.forInsideAar(
project,
/* from = */ "androidx.camera.camera2.pipe",
/* to = */ "androidx.camera.camera2.pipe"
)
dependencies {
implementation("androidx.concurrent:concurrent-listenablefuture-callback:1.0.0-beta01")
releaseBundleInside(project(path: ":camera:camera-camera2-pipe", configuration: "exportRelease"))
debugBundleInside(project(path: ":camera:camera-camera2-pipe", configuration: "exportDebug"))
// Classes and types that are needed at compile & runtime
api("androidx.annotation:annotation:1.1.0")
api(project(":camera:camera-core"))
// Classes and types that are only needed at runtime
implementation(project(":lifecycle:lifecycle-livedata-ktx"))
implementation("androidx.concurrent:concurrent-futures:1.0.0")
implementation(KOTLIN_COROUTINES_GUAVA)
implementation(KOTLIN_STDLIB)
// Since we jarjar CameraPipe, include the transitive dependencies as implementation
implementation(CAMERA_PIPE_DEPS.API)
implementation(CAMERA_PIPE_DEPS.IMPLEMENTATION)
kapt(DAGGER_COMPILER)
testImplementation(ANDROIDX_TEST_CORE)
testImplementation(ANDROIDX_TEST_RUNNER)
testImplementation(JUNIT)
testImplementation(TRUTH)
testImplementation(ROBOLECTRIC)
testImplementation(KOTLIN_COROUTINES_TEST)
testImplementation(project(":camera:camera-camera2-pipe-testing"))
testImplementation(project(":internal-testutils-truth"))
androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
androidTestImplementation(ANDROIDX_TEST_RUNNER)
androidTestImplementation(KOTLIN_COROUTINES_ANDROID)
androidTestImplementation(KOTLIN_STDLIB)
androidTestImplementation(TRUTH)
androidTestImplementation(project(":annotation:annotation-experimental"))
androidTestImplementation(project(":camera:camera-lifecycle"))
androidTestImplementation(project(":concurrent:concurrent-futures-ktx"))
}
android {
defaultConfig {
minSdkVersion 21
}
}
kapt {
javacOptions {
option("-Adagger.fastInit=enabled")
option("-Adagger.fullBindingGraphValidation=ERROR")
}
}
// Allow usage of Kotlin's @OptIn.
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
freeCompilerArgs += ["-Xopt-in=kotlin.RequiresOptIn"]
}
}
androidx {
name = "Jetpack Camera Camera Pipe Integration Library"
publish = Publish.NONE
mavenGroup = LibraryGroups.CAMERA
mavenVersion = LibraryVersions.CAMERA_PIPE
inceptionYear = "2020"
description = "A CameraPipe implementation of CameraX, a library providing a consistent and " +
"reliable camera foundation that enables great camera driven experiences across all " +
"of Android."
}