diff --git a/insets-ui/build.gradle b/insets-ui/build.gradle deleted file mode 100644 index d4df2643e..000000000 --- a/insets-ui/build.gradle +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright 2020 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 'me.tylerbwong.gradle.metalava' -} - -kotlin { - explicitApi() -} - -android { - namespace "com.google.accompanist.insets.ui" - - compileSdkVersion 33 - - defaultConfig { - minSdkVersion 21 - // targetSdkVersion has no effect for libraries. This is only used for the test APK - targetSdkVersion 33 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - buildFeatures { - buildConfig false - compose true - } - - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeCompiler.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 - } - unitTests.all { - useJUnit { - excludeCategories 'com.google.accompanist.internal.test.IgnoreOnRobolectric' - } - } - 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' - } - } -} - -metalava { - sourcePaths.setFrom("src/main") - filename.set("api/current.api") - reportLintsAsErrors.set(true) -} - -dependencies { - api project(':insets') - api libs.compose.material.material - - implementation libs.kotlin.coroutines.android - - // ====================== - // Test dependencies - // ====================== - - androidTestImplementation project(':internal-testutils') - testImplementation project(':internal-testutils') - - androidTestImplementation libs.junit - testImplementation libs.junit - - androidTestImplementation libs.truth - testImplementation libs.truth - - androidTestImplementation libs.compose.ui.test.junit4 - testImplementation libs.compose.ui.test.junit4 - - androidTestImplementation libs.compose.ui.test.manifest - testImplementation libs.compose.ui.test.manifest - - androidTestImplementation libs.androidx.test.runner - testImplementation libs.androidx.test.runner - - testImplementation libs.robolectric -} - -apply plugin: "com.vanniktech.maven.publish" diff --git a/insets-ui/build.gradle.kts b/insets-ui/build.gradle.kts new file mode 100644 index 000000000..ac0763e37 --- /dev/null +++ b/insets-ui/build.gradle.kts @@ -0,0 +1,130 @@ +/* + * 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.insets.ui" + + compileSdk = 33 + + 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 { + buildConfig = false + compose = true + } + + 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 + } + + 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 + } + unitTests.all { + it.useJUnit { + excludeCategories("com.google.accompanist.internal.test.IgnoreOnRobolectric") + } + } + 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 { + api(project(":insets")) + api(libs.compose.material.material) + + implementation(libs.kotlin.coroutines.android) + + // ====================== + // Test dependencies + // ====================== + + androidTestImplementation(project(":internal-testutils")) + testImplementation(project(":internal-testutils")) + + androidTestImplementation(libs.junit) + testImplementation(libs.junit) + + androidTestImplementation(libs.truth) + testImplementation(libs.truth) + + androidTestImplementation(libs.compose.ui.test.junit4) + testImplementation(libs.compose.ui.test.junit4) + + androidTestImplementation(libs.compose.ui.test.manifest) + testImplementation(libs.compose.ui.test.manifest) + + androidTestImplementation(libs.androidx.test.runner) + testImplementation(libs.androidx.test.runner) + + testImplementation(libs.robolectric) +}