forked from google/horologist
/
build.gradle
107 lines (89 loc) · 2.84 KB
/
build.gradle
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
/*
* Copyright 2022 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.
*/
plugins {
id 'com.android.library'
id 'kotlin-android'
id 'org.jetbrains.dokka'
id "org.jetbrains.kotlin.kapt"
}
android {
compileSdkVersion 31
defaultConfig {
minSdk 25
targetSdk 30
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
buildConfig false
}
kotlinOptions {
jvmTarget = "1.8"
}
composeOptions {
kotlinCompilerExtensionVersion libs.versions.compose.get()
}
lintOptions {
textReport true
textOutput 'stdout'
// We run a full lint analysis as build part in CI, so skip vital checks for assemble tasks
checkReleaseBuilds false
}
packagingOptions {
// 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)
excludes += "/META-INF/AL2.0"
excludes += "/META-INF/LGPL2.1"
}
testOptions {
unitTests {
includeAndroidResources = true
}
animationsDisabled true
}
sourceSets {
test {
java.srcDirs += 'src/sharedTest/kotlin'
res.srcDirs += 'src/sharedTest/res'
}
androidTest {
java.srcDirs += 'src/sharedTest/kotlin'
res.srcDirs += 'src/sharedTest/res'
}
}
}
kapt {
correctErrorTypes true
}
project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile.class).configureEach { task ->
// Workaround for https://youtrack.jetbrains.com/issue/KT-37652
if (!task.name.endsWith("TestKotlin") && !task.name.startsWith("compileDebug")) {
task.kotlinOptions.freeCompilerArgs.add("-Xexplicit-api=strict")
}
}
dependencies {
implementation libs.kotlin.stdlib
implementation libs.compose.ui.tooling
implementation libs.wearcompose.material
implementation libs.wearcompose.foundation
implementation libs.wearcompose.navigation
debugImplementation libs.compose.ui.test.manifest
debugImplementation libs.compose.ui.toolingpreview
}
apply plugin: "com.vanniktech.maven.publish"