| /* |
| * 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. |
| */ |
| |
| |
| import androidx.build.LibraryGroups |
| import androidx.build.Publish |
| |
| 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.1.0") |
| api(libs.kotlinStdlib) // Added for annotation-experimental |
| implementation("androidx.exifinterface:exifinterface:1.3.2") |
| implementation("androidx.core:core:1.1.0") |
| implementation("androidx.concurrent:concurrent-futures:1.0.0") |
| implementation("androidx.lifecycle:lifecycle-common:2.1.0") |
| implementation(libs.autoValueAnnotations) |
| compileOnly(project(":external:libyuv")) |
| |
| annotationProcessor(libs.autoValue) |
| |
| testImplementation(libs.kotlinStdlib) |
| testImplementation(libs.testCore) |
| testImplementation(libs.testRunner) |
| testImplementation(libs.junit) |
| testImplementation(libs.truth) |
| testImplementation(libs.robolectric) |
| testImplementation(libs.mockitoCore) |
| testImplementation(project(":camera:camera-testing"), { |
| exclude group: "androidx.camera", module: "camera-core" |
| }) |
| 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")) |
| 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}" |
| } |
| } |
| } |
| |
| buildFeatures.prefab = true |
| |
| externalNativeBuild { |
| cmake { |
| version "3.10.2" |
| path "src/main/cpp/CMakeLists.txt" |
| } |
| } |
| |
| // Use Robolectric 4.+ |
| testOptions.unitTests.includeAndroidResources = true |
| |
| packagingOptions { |
| pickFirst "META-INF/support.camera_camera-core.version" |
| } |
| } |
| |
| androidx { |
| name = "Jetpack Camera Core Library" |
| publish = Publish.SNAPSHOT_AND_RELEASE |
| mavenGroup = LibraryGroups.CAMERA |
| 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." |
| } |
| |