pull/1848/merge
Layne Penney 2 days ago committed by GitHub
commit 17b56dc0fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -31,5 +31,4 @@ class AndroidApplicationComposeConventionPlugin : Plugin<Project> {
configureAndroidCompose(extension)
}
}
}

@ -31,5 +31,4 @@ class AndroidLibraryComposeConventionPlugin : Plugin<Project> {
configureAndroidCompose(extension)
}
}
}

@ -30,6 +30,6 @@ import org.gradle.api.Project
internal fun LibraryAndroidComponentsExtension.disableUnnecessaryAndroidTests(
project: Project,
) = beforeVariants {
it.androidTest.enable = it.androidTest.enable
&& project.projectDir.resolve("src/androidTest").exists()
it.androidTest.enable = it.androidTest.enable &&
project.projectDir.resolve("src/androidTest").exists()
}

@ -130,12 +130,11 @@ fun Project.configureBadgingTasks(
"${baseExtension.buildToolsVersion}/" +
SdkConstants.FN_AAPT2,
)
}
},
)
badging = project.layout.buildDirectory.file(
"outputs/apk_from_bundle/${variant.name}/${variant.name}-badging.txt",
)
}
val updateBadgingTaskName = "update${capitalizedVariantName}Badging"
@ -153,7 +152,6 @@ fun Project.configureBadgingTasks(
this.updateBadgingTaskName = updateBadgingTaskName
output = project.layout.buildDirectory.dir("intermediates/$checkBadgingTaskName")
}
}
}

@ -76,7 +76,6 @@ internal fun Project.configureJacoco(
"create${variant.name.capitalize()}CombinedCoverageReport",
JacocoReport::class,
) {
classDirectories.setFrom(
allJars,
allDirectories.map { dirs ->
@ -97,7 +96,7 @@ internal fun Project.configureJacoco(
sourceDirectories.setFrom(
files(
variant.sources.java.toFilePaths(),
variant.sources.kotlin.toFilePaths()
variant.sources.kotlin.toFilePaths(),
),
)
@ -110,7 +109,6 @@ internal fun Project.configureJacoco(
)
}
variant.artifacts.forScope(ScopedArtifacts.Scope.PROJECT)
.use(reportTask)
.toGet(

@ -103,7 +103,7 @@ private inline fun <reified T : KotlinBaseExtension> Project.configureKotlin() =
* The binary signature changes. The error on the declaration is no longer reported.
* '-Xconsistent-data-class-copy-visibility' compiler flag and ConsistentCopyVisibility annotation are now unnecessary.
*/
"-Xconsistent-data-class-copy-visibility"
"-Xconsistent-data-class-copy-visibility",
)
}
}

@ -1,13 +1,28 @@
/*
* Copyright 2025 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.
*/
package com.google.samples.apps.nowinandroid
import com.android.build.api.dsl.ApplicationExtension
import com.android.build.api.dsl.ApplicationProductFlavor
import com.android.build.api.dsl.CommonExtension
import com.android.build.api.dsl.ProductFlavor
@Suppress("EnumEntryName")
enum class FlavorDimension {
contentType
contentType,
}
// The content for the app can either come from local static data which is useful for demo
@ -23,7 +38,21 @@ fun configureFlavors(
commonExtension: CommonExtension<*, *, *, *, *, *>,
flavorConfigurationBlock: ProductFlavor.(flavor: NiaFlavor) -> Unit = {},
) {
commonExtension.apply {
when (commonExtension) {
is ApplicationExtension -> commonExtension.configureFlavors { nia ->
flavorConfigurationBlock(this, nia)
this.applicationIdSuffix = nia.applicationIdSuffix
}
else -> commonExtension.configureFlavors(flavorConfigurationBlock)
}
}
@JvmName("configureFlavorsImpl")
private inline fun <E : CommonExtension<*, *, *, out F, *, *>, F : ProductFlavor> E.configureFlavors(
crossinline flavorConfigurationBlock: F.(flavor: NiaFlavor) -> Unit = {},
) {
apply {
FlavorDimension.values().forEach { flavorDimension ->
flavorDimensions += flavorDimension.name
}
@ -33,11 +62,6 @@ fun configureFlavors(
register(niaFlavor.name) {
dimension = niaFlavor.dimension.name
flavorConfigurationBlock(this, niaFlavor)
if (this@apply is ApplicationExtension && this is ApplicationProductFlavor) {
if (niaFlavor.applicationIdSuffix != null) {
applicationIdSuffix = niaFlavor.applicationIdSuffix
}
}
}
}
}

@ -49,7 +49,9 @@ internal fun Project.configurePrintApksTask(extension: AndroidComponentsExtensio
javaSources.zip(kotlinSources) { javaDirs, kotlinDirs ->
javaDirs + kotlinDirs
}
} else javaSources ?: kotlinSources
} else {
javaSources ?: kotlinSources
}
if (artifact != null && testSources != null) {
tasks.register(
@ -96,8 +98,9 @@ internal abstract class PrintApkLocationTask : DefaultTask() {
val builtArtifacts = builtArtifactsLoader.get().load(apkFolder.get())
?: throw RuntimeException("Cannot load APKs")
if (builtArtifacts.elements.size != 1)
if (builtArtifacts.elements.size != 1) {
throw RuntimeException("Expected one APK !")
}
val apk = File(builtArtifacts.elements.single().outputFile).toPath()
println(apk)
}

@ -0,0 +1 @@
../spotless
Loading…
Cancel
Save