[go: nahoru, domu]

blob: 56106438474fa5297aaab33b65c9c0af21447116 [file] [log] [blame]
/*
* Copyright 2019 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.
*/
/**
* This file was created using the `create_project.py` script located in the
* `<AndroidX root>/development/project-creator` directory.
*
* Please use that script when creating a new project, rather than copying an existing project and
* modifying its settings.
*/
import androidx.build.LibraryType
plugins {
id("AndroidXPlugin")
id("com.android.library")
id("kotlin-android")
}
dependencies {
api("androidx.annotation:annotation:1.2.0")
api("androidx.lifecycle:lifecycle-livedata:2.1.0")
api(libs.guavaListenableFuture)
api("androidx.annotation:annotation-experimental:1.4.0")
api(libs.kotlinStdlib) // Added for annotation-experimental
api("androidx.core:core:1.1.0")
implementation(libs.kotlinCoroutinesAndroid)
implementation("androidx.exifinterface:exifinterface:1.3.2")
implementation("androidx.concurrent:concurrent-futures:1.1.0")
implementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
implementation("androidx.lifecycle:lifecycle-common:2.1.0")
implementation(libs.autoValueAnnotations)
androidTestImplementation project(path: ':camera:camera-camera2')
compileOnly(project(":external:libyuv"))
annotationProcessor(libs.autoValue)
testImplementation(libs.kotlinCoroutinesAndroid)
testImplementation(libs.kotlinCoroutinesTest)
testImplementation(libs.kotlinStdlib)
testImplementation(libs.testCore)
testImplementation(libs.testRunner)
testImplementation(libs.junit)
testImplementation(libs.truth)
testImplementation(libs.robolectric)
testImplementation(libs.mockitoCore4)
testImplementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
testImplementation(project(":internal-testutils-truth"))
testImplementation(project(":camera:camera-camera2"))
testImplementation(project(":camera:camera-testing"), {
exclude group: "androidx.camera", module: "camera-core"
})
testImplementation(project(":camera:camera-lifecycle"))
testImplementation("androidx.exifinterface:exifinterface:1.3.2")
androidTestImplementation(libs.multidex)
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
androidTestImplementation(libs.testRunner)
androidTestImplementation(libs.testRules)
androidTestImplementation(libs.truth)
androidTestImplementation(libs.mockitoCore, excludes.bytebuddy) // DexMaker has it's own MockMaker
androidTestImplementation(libs.dexmakerMockito, excludes.bytebuddy) // DexMaker has it's own MockMaker
androidTestImplementation(project(":camera:camera-testing")) {
// Ensure camera-testing does not pull in androidx.test dependencies
exclude(group:"androidx.test")
}
androidTestImplementation(libs.kotlinStdlib)
androidTestImplementation(libs.kotlinCoroutinesAndroid)
androidTestImplementation("androidx.concurrent:concurrent-futures-ktx:1.1.0")
androidTestImplementation(project(":internal-testutils-truth"))
}
android {
defaultConfig {
multiDexEnabled = true
externalNativeBuild {
def versionScript = file("src/main/cpp/jni.lds").getAbsolutePath()
cmake {
cppFlags "-std=c++17", "-O3", "-flto", "-fPIC", "-fno-exceptions", "-fno-rtti",
"-fomit-frame-pointer", "-fdata-sections", "-ffunction-sections"
arguments "-DCMAKE_VERBOSE_MAKEFILE=ON",
"-DCMAKE_SHARED_LINKER_FLAGS=-Wl,--gc-sections " +
"-Wl,--version-script=${versionScript}"
}
}
}
buildTypes.configureEach {
consumerProguardFiles "proguard-rules.pro"
}
buildFeatures.prefab = true
externalNativeBuild {
cmake {
version libs.versions.cmake.get()
path "src/main/cpp/CMakeLists.txt"
}
}
lintOptions {
enable 'CameraXQuirksClassDetector'
}
// Use Robolectric 4.+
testOptions.unitTests.includeAndroidResources = true
packagingOptions {
pickFirst "META-INF/support.camera_camera-core.version"
}
namespace "androidx.camera.core"
}
tasks.withType(Test).configureEach { test ->
test.maxParallelForks(2)
}
androidx {
name = "Camera Core"
type = LibraryType.PUBLISHED_LIBRARY
inceptionYear = "2019"
description = "Core components for the Jetpack Camera Library, a library providing a " +
"consistent and reliable camera foundation that enables great camera driven " +
"experiences across all of Android."
metalavaK2UastEnabled = true
legacyDisableKotlinStrictApiMode = true
extraLicense {
name = "BSD License"
url = "https://chromium.googlesource.com/libyuv/libyuv/+/refs/heads/main/README.chromium"
}
}