diff --git a/placeholder-material3/build.gradle b/placeholder-material3/build.gradle deleted file mode 100644 index 028f1c949..000000000 --- a/placeholder-material3/build.gradle +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2021 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.placeholder.material3" - - 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 - } - animationsDisabled true - } -} - -metalava { - sourcePaths.setFrom("src/main") - filename.set("api/current.api") - reportLintsAsErrors.set(true) -} - -dependencies { - implementation libs.compose.material3.material3 - api project(':placeholder') - implementation libs.napier - implementation libs.kotlin.coroutines.android - - // ====================== - // Test dependencies - // ====================== - - androidTestImplementation libs.junit - androidTestImplementation libs.truth - - androidTestImplementation libs.compose.ui.test.junit4 - androidTestImplementation libs.compose.ui.test.manifest - androidTestImplementation libs.compose.foundation.foundation - - androidTestImplementation libs.androidx.test.core - androidTestImplementation libs.androidx.test.rules - androidTestImplementation libs.androidx.test.runner -} - -apply plugin: "com.vanniktech.maven.publish" diff --git a/placeholder-material3/build.gradle.kts b/placeholder-material3/build.gradle.kts new file mode 100644 index 000000000..9cd6eda47 --- /dev/null +++ b/placeholder-material3/build.gradle.kts @@ -0,0 +1,105 @@ +/* + * 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.placeholder.material3" + + 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 + } + animationsDisabled = true + } +} + +metalava { + sourcePaths.setFrom("src/main") + filename.set("api/current.api") + reportLintsAsErrors.set(true) +} + +dependencies { + implementation(libs.compose.material3.material3) + api(project(":placeholder")) + implementation(libs.napier) + implementation(libs.kotlin.coroutines.android) + + // ====================== + // Test dependencies + // ====================== + + androidTestImplementation(libs.junit) + androidTestImplementation(libs.truth) + + androidTestImplementation(libs.compose.ui.test.junit4) + androidTestImplementation(libs.compose.ui.test.manifest) + androidTestImplementation(libs.compose.foundation.foundation) + + androidTestImplementation(libs.androidx.test.core) + androidTestImplementation(libs.androidx.test.rules) + androidTestImplementation(libs.androidx.test.runner) +}