xref: /aosp_15_r20/external/accompanist/themeadapter-core/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.themeadapter.core"
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         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
40*fa44fe6aSInna Palant     }
41*fa44fe6aSInna Palant 
42*fa44fe6aSInna Palant     compileOptions {
43*fa44fe6aSInna Palant         sourceCompatibility = JavaVersion.VERSION_1_8
44*fa44fe6aSInna Palant         targetCompatibility = JavaVersion.VERSION_1_8
45*fa44fe6aSInna Palant     }
46*fa44fe6aSInna Palant 
47*fa44fe6aSInna Palant     buildFeatures {
48*fa44fe6aSInna Palant         compose = true
49*fa44fe6aSInna Palant         buildConfig = false
50*fa44fe6aSInna Palant     }
51*fa44fe6aSInna Palant 
52*fa44fe6aSInna Palant     composeOptions {
53*fa44fe6aSInna Palant         kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
54*fa44fe6aSInna Palant     }
55*fa44fe6aSInna Palant 
56*fa44fe6aSInna Palant     lint {
57*fa44fe6aSInna Palant         textReport = true
58*fa44fe6aSInna Palant         textOutput = File("stdout")
59*fa44fe6aSInna Palant         // We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks
60*fa44fe6aSInna Palant         checkReleaseBuilds = false
61*fa44fe6aSInna Palant         disable += setOf("GradleOverrides")
62*fa44fe6aSInna Palant     }
63*fa44fe6aSInna Palant 
64*fa44fe6aSInna Palant     packaging {
65*fa44fe6aSInna Palant         // Some of the META-INF files conflict with coroutines-test. Exclude them to enable
66*fa44fe6aSInna Palant         // our test APK to build (has no effect on our AARs)
67*fa44fe6aSInna Palant         resources {
68*fa44fe6aSInna Palant             excludes += listOf("/META-INF/AL2.0", "/META-INF/LGPL2.1")
69*fa44fe6aSInna Palant         }
70*fa44fe6aSInna Palant     }
71*fa44fe6aSInna Palant 
72*fa44fe6aSInna Palant     testOptions {
73*fa44fe6aSInna Palant         unitTests {
74*fa44fe6aSInna Palant             isIncludeAndroidResources = true
75*fa44fe6aSInna Palant         }
76*fa44fe6aSInna Palant         animationsDisabled = true
77*fa44fe6aSInna Palant     }
78*fa44fe6aSInna Palant 
79*fa44fe6aSInna Palant     sourceSets {
80*fa44fe6aSInna Palant         named("test") {
81*fa44fe6aSInna Palant             java.srcDirs("src/sharedTest/kotlin")
82*fa44fe6aSInna Palant             res.srcDirs("src/sharedTest/res")
83*fa44fe6aSInna Palant         }
84*fa44fe6aSInna Palant         named("androidTest") {
85*fa44fe6aSInna Palant             java.srcDirs("src/sharedTest/kotlin")
86*fa44fe6aSInna Palant             res.srcDirs("src/sharedTest/res")
87*fa44fe6aSInna Palant         }
88*fa44fe6aSInna Palant     }
89*fa44fe6aSInna Palant }
90*fa44fe6aSInna Palant 
<lambda>null91*fa44fe6aSInna Palant metalava {
92*fa44fe6aSInna Palant     sourcePaths.setFrom("src/main")
93*fa44fe6aSInna Palant     filename.set("api/current.api")
94*fa44fe6aSInna Palant     reportLintsAsErrors.set(true)
95*fa44fe6aSInna Palant }
96*fa44fe6aSInna Palant 
<lambda>null97*fa44fe6aSInna Palant dependencies {
98*fa44fe6aSInna Palant     api(libs.androidx.core)
99*fa44fe6aSInna Palant     api(libs.compose.foundation.foundation)
100*fa44fe6aSInna Palant     api(libs.kotlin.stdlib)
101*fa44fe6aSInna Palant     api(libs.androidx.appcompat)
102*fa44fe6aSInna Palant     api(libs.mdc)
103*fa44fe6aSInna Palant 
104*fa44fe6aSInna Palant     // ======================
105*fa44fe6aSInna Palant     // Test dependencies
106*fa44fe6aSInna Palant     // ======================
107*fa44fe6aSInna Palant 
108*fa44fe6aSInna Palant     androidTestImplementation(project(":internal-testutils"))
109*fa44fe6aSInna Palant     testImplementation(project(":internal-testutils"))
110*fa44fe6aSInna Palant 
111*fa44fe6aSInna Palant     androidTestImplementation(libs.junit)
112*fa44fe6aSInna Palant     testImplementation(libs.junit)
113*fa44fe6aSInna Palant 
114*fa44fe6aSInna Palant     androidTestImplementation(libs.compose.ui.test.junit4)
115*fa44fe6aSInna Palant     testImplementation(libs.compose.ui.test.junit4)
116*fa44fe6aSInna Palant 
117*fa44fe6aSInna Palant     androidTestImplementation(libs.androidx.test.runner)
118*fa44fe6aSInna Palant     testImplementation(libs.androidx.test.runner)
119*fa44fe6aSInna Palant 
120*fa44fe6aSInna Palant     androidTestImplementation(libs.androidx.test.espressoCore)
121*fa44fe6aSInna Palant     testImplementation(libs.androidx.test.espressoCore)
122*fa44fe6aSInna Palant 
123*fa44fe6aSInna Palant     testImplementation(libs.robolectric)
124*fa44fe6aSInna Palant }
125