-
Notifications
You must be signed in to change notification settings - Fork 600
/
build.gradle.kts
123 lines (101 loc) · 3.47 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
* 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.themeadapter.appcompat"
testNamespace = "com.google.accompanist.themeadapter.appcompat.test"
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 {
compose = true
buildConfig = false
}
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")
}
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")
}
}
testOptions {
unitTests {
isIncludeAndroidResources = true
}
animationsDisabled = true
}
sourceSets {
named("test") {
java.srcDirs("src/sharedTest/kotlin")
res.srcDirs("src/sharedTest/res")
}
named("androidTest") {
java.srcDirs("src/sharedTest/kotlin")
res.srcDirs("src/sharedTest/res")
}
}
}
metalava {
sourcePaths.setFrom("src/main")
filename.set("api/current.api")
reportLintsAsErrors.set(true)
}
dependencies {
implementation(project(":themeadapter-core"))
implementation(libs.compose.material.material)
// ======================
// Test dependencies
// ======================
androidTestImplementation(project(":internal-testutils"))
testImplementation(project(":internal-testutils"))
androidTestImplementation(libs.junit)
testImplementation(libs.junit)
androidTestImplementation(libs.compose.ui.test.junit4)
testImplementation(libs.compose.ui.test.junit4)
androidTestImplementation(libs.androidx.test.runner)
testImplementation(libs.androidx.test.runner)
androidTestImplementation(libs.androidx.test.espressoCore)
testImplementation(libs.androidx.test.espressoCore)
testImplementation(libs.robolectric)
}