/* * Copyright 2023 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 * * https://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. */ @file:Suppress("UnstableApiUsage") plugins { id(libs.plugins.android.library.get().pluginId) id(libs.plugins.android.kotlin.get().pluginId) id(libs.plugins.jetbrains.dokka.get().pluginId) id(libs.plugins.gradle.metalava.get().pluginId) id(libs.plugins.vanniktech.maven.publish.get().pluginId) } kotlin { explicitApi() } android { namespace = "com.google.accompanist.navigation.animation" compileSdk = 34 defaultConfig { minSdk = 21 // targetSdkVersion has no effect for libraries. This is only used for the test APK targetSdk = 33 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } buildFeatures { buildConfig = false compose = true } composeOptions { kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() } lint { textReport = true textOutput = File("stdout") // We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks checkReleaseBuilds = false disable += setOf("GradleOverrides") } testOptions { unitTests { isIncludeAndroidResources = true } animationsDisabled = true } packaging { // Some of the META-INF files conflict with coroutines-test. Exclude them to enable // our test APK to build (has no effect on our AARs) resources { excludes += listOf("/META-INF/AL2.0", "/META-INF/LGPL2.1") } } } metalava { sourcePaths.setFrom("src/main") filename.set("api/current.api") reportLintsAsErrors.set(true) } dependencies { api(libs.androidx.navigation.compose) implementation(libs.compose.animation.animation) implementation(libs.compose.foundation.foundation) implementation(libs.compose.material.material) implementation(libs.kotlin.coroutines.android) // ====================== // Test dependencies // ====================== androidTestImplementation(project(":internal-testutils")) androidTestImplementation(libs.junit) androidTestImplementation(libs.truth) androidTestImplementation(libs.compose.ui.test.junit4) androidTestImplementation(libs.compose.ui.test.manifest) androidTestImplementation(libs.compose.foundation.foundation) androidTestImplementation(libs.androidx.test.runner) androidTestImplementation(libs.androidx.test.rules) }