xref: /aosp_15_r20/external/accompanist/navigation-animation/build.gradle.kts (revision fa44fe6ae8e729aa3cfe5c03eedbbf98fb44e2c6)
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 Palant plugins {
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 Palant kotlin {
27*fa44fe6aSInna Palant     explicitApi()
28*fa44fe6aSInna Palant }
29*fa44fe6aSInna Palant 
<lambda>null30*fa44fe6aSInna Palant android {
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 Palant metalava {
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 Palant dependencies {
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