1*fa44fe6aSInna Palant /* 2*fa44fe6aSInna Palant * Copyright 2023 The Android Open Source Project 3*fa44fe6aSInna Palant * 4*fa44fe6aSInna Palant * Licensed under the Apache License, Version 2.0 (the "License"); 5*fa44fe6aSInna Palant * you may not use this file except in compliance with the License. 6*fa44fe6aSInna Palant * You may obtain a copy of the License at 7*fa44fe6aSInna Palant * 8*fa44fe6aSInna Palant * https://www.apache.org/licenses/LICENSE-2.0 9*fa44fe6aSInna Palant * 10*fa44fe6aSInna Palant * Unless required by applicable law or agreed to in writing, software 11*fa44fe6aSInna Palant * distributed under the License is distributed on an "AS IS" BASIS, 12*fa44fe6aSInna Palant * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*fa44fe6aSInna Palant * See the License for the specific language governing permissions and 14*fa44fe6aSInna Palant * limitations under the License. 15*fa44fe6aSInna Palant */ 16*fa44fe6aSInna Palant @file:Suppress("UnstableApiUsage") 17*fa44fe6aSInna Palant <lambda>null18*fa44fe6aSInna Palantplugins { 19*fa44fe6aSInna Palant id(libs.plugins.android.library.get().pluginId) 20*fa44fe6aSInna Palant id(libs.plugins.android.kotlin.get().pluginId) 21*fa44fe6aSInna Palant id(libs.plugins.jetbrains.dokka.get().pluginId) 22*fa44fe6aSInna Palant id(libs.plugins.gradle.metalava.get().pluginId) 23*fa44fe6aSInna Palant id(libs.plugins.vanniktech.maven.publish.get().pluginId) 24*fa44fe6aSInna Palant } 25*fa44fe6aSInna Palant <lambda>null26*fa44fe6aSInna Palantkotlin { 27*fa44fe6aSInna Palant explicitApi() 28*fa44fe6aSInna Palant } 29*fa44fe6aSInna Palant <lambda>null30*fa44fe6aSInna Palantandroid { 31*fa44fe6aSInna Palant namespace = "com.google.accompanist.navigation.animation" 32*fa44fe6aSInna Palant 33*fa44fe6aSInna Palant compileSdk = 34 34*fa44fe6aSInna Palant 35*fa44fe6aSInna Palant defaultConfig { 36*fa44fe6aSInna Palant minSdk = 21 37*fa44fe6aSInna Palant // targetSdkVersion has no effect for libraries. This is only used for the test APK 38*fa44fe6aSInna Palant targetSdk = 33 39*fa44fe6aSInna Palant 40*fa44fe6aSInna Palant testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 41*fa44fe6aSInna Palant } 42*fa44fe6aSInna Palant 43*fa44fe6aSInna Palant compileOptions { 44*fa44fe6aSInna Palant sourceCompatibility = JavaVersion.VERSION_1_8 45*fa44fe6aSInna Palant targetCompatibility = JavaVersion.VERSION_1_8 46*fa44fe6aSInna Palant } 47*fa44fe6aSInna Palant 48*fa44fe6aSInna Palant buildFeatures { 49*fa44fe6aSInna Palant buildConfig = false 50*fa44fe6aSInna Palant compose = true 51*fa44fe6aSInna Palant } 52*fa44fe6aSInna Palant 53*fa44fe6aSInna Palant composeOptions { 54*fa44fe6aSInna Palant kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() 55*fa44fe6aSInna Palant } 56*fa44fe6aSInna Palant 57*fa44fe6aSInna Palant lint { 58*fa44fe6aSInna Palant textReport = true 59*fa44fe6aSInna Palant textOutput = File("stdout") 60*fa44fe6aSInna Palant // We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks 61*fa44fe6aSInna Palant checkReleaseBuilds = false 62*fa44fe6aSInna Palant disable += setOf("GradleOverrides") 63*fa44fe6aSInna Palant } 64*fa44fe6aSInna Palant 65*fa44fe6aSInna Palant testOptions { 66*fa44fe6aSInna Palant unitTests { 67*fa44fe6aSInna Palant isIncludeAndroidResources = true 68*fa44fe6aSInna Palant } 69*fa44fe6aSInna Palant animationsDisabled = true 70*fa44fe6aSInna Palant } 71*fa44fe6aSInna Palant 72*fa44fe6aSInna Palant packaging { 73*fa44fe6aSInna Palant // Some of the META-INF files conflict with coroutines-test. Exclude them to enable 74*fa44fe6aSInna Palant // our test APK to build (has no effect on our AARs) 75*fa44fe6aSInna Palant resources { 76*fa44fe6aSInna Palant excludes += listOf("/META-INF/AL2.0", "/META-INF/LGPL2.1") 77*fa44fe6aSInna Palant } 78*fa44fe6aSInna Palant } 79*fa44fe6aSInna Palant } 80*fa44fe6aSInna Palant <lambda>null81*fa44fe6aSInna Palantmetalava { 82*fa44fe6aSInna Palant sourcePaths.setFrom("src/main") 83*fa44fe6aSInna Palant filename.set("api/current.api") 84*fa44fe6aSInna Palant reportLintsAsErrors.set(true) 85*fa44fe6aSInna Palant } 86*fa44fe6aSInna Palant <lambda>null87*fa44fe6aSInna Palantdependencies { 88*fa44fe6aSInna Palant api(libs.androidx.navigation.compose) 89*fa44fe6aSInna Palant implementation(libs.compose.animation.animation) 90*fa44fe6aSInna Palant implementation(libs.compose.foundation.foundation) 91*fa44fe6aSInna Palant implementation(libs.compose.material.material) 92*fa44fe6aSInna Palant implementation(libs.kotlin.coroutines.android) 93*fa44fe6aSInna Palant 94*fa44fe6aSInna Palant // ====================== 95*fa44fe6aSInna Palant // Test dependencies 96*fa44fe6aSInna Palant // ====================== 97*fa44fe6aSInna Palant 98*fa44fe6aSInna Palant androidTestImplementation(project(":internal-testutils")) 99*fa44fe6aSInna Palant 100*fa44fe6aSInna Palant androidTestImplementation(libs.junit) 101*fa44fe6aSInna Palant androidTestImplementation(libs.truth) 102*fa44fe6aSInna Palant 103*fa44fe6aSInna Palant androidTestImplementation(libs.compose.ui.test.junit4) 104*fa44fe6aSInna Palant androidTestImplementation(libs.compose.ui.test.manifest) 105*fa44fe6aSInna Palant androidTestImplementation(libs.compose.foundation.foundation) 106*fa44fe6aSInna Palant androidTestImplementation(libs.androidx.test.runner) 107*fa44fe6aSInna Palant androidTestImplementation(libs.androidx.test.rules) 108*fa44fe6aSInna Palant } 109