From 6db82dc5dc9f421fb6ad5dd809a332f45378a2a7 Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Sat, 29 Jun 2024 23:02:07 +0900 Subject: [PATCH 1/2] Change set to `=` operator lazy property assignment. https://docs.gradle.org/current/userguide/kotlin_dsl.html#kotdsl:assignment Change-Id: Ibe483324ddc8e4765ed4295e40f2e1483c835f20 --- .../samples/apps/nowinandroid/Badging.kt | 45 +++++++++---------- .../samples/apps/nowinandroid/Jacoco.kt | 5 ++- .../apps/nowinandroid/PrintTestApks.kt | 11 ++--- settings.gradle.kts | 3 +- 4 files changed, 30 insertions(+), 34 deletions(-) diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Badging.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Badging.kt index c59d3ffb8..4447b8602 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Badging.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Badging.kt @@ -16,10 +16,10 @@ package com.google.samples.apps.nowinandroid +import com.android.SdkConstants import com.android.build.api.artifact.SingleArtifact import com.android.build.api.variant.ApplicationAndroidComponentsExtension import com.android.build.gradle.BaseExtension -import com.android.SdkConstants import com.google.common.truth.Truth.assertWithMessage import org.gradle.api.DefaultTask import org.gradle.api.Project @@ -36,6 +36,7 @@ import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction import org.gradle.configurationcache.extensions.capitalized +import org.gradle.kotlin.dsl.assign import org.gradle.kotlin.dsl.register import org.gradle.language.base.plugins.LifecycleBasePlugin import org.gradle.process.ExecOperations @@ -117,23 +118,20 @@ fun Project.configureBadgingTasks( val generateBadgingTaskName = "generate${capitalizedVariantName}Badging" val generateBadging = tasks.register(generateBadgingTaskName) { - apk.set( - variant.artifacts.get(SingleArtifact.APK_FROM_BUNDLE), - ) - aapt2Executable.set( - File( - baseExtension.sdkDirectory, - "${SdkConstants.FD_BUILD_TOOLS}/" + - "${baseExtension.buildToolsVersion}/" + - SdkConstants.FN_AAPT2, - ), + apk = variant.artifacts.get(SingleArtifact.APK_FROM_BUNDLE) + + aapt2Executable = File( + baseExtension.sdkDirectory, + "${SdkConstants.FD_BUILD_TOOLS}/" + + "${baseExtension.buildToolsVersion}/" + + SdkConstants.FN_AAPT2, ) - badging.set( - project.layout.buildDirectory.file( - "outputs/apk_from_bundle/${variant.name}/${variant.name}-badging.txt", - ), + + badging = project.layout.buildDirectory.file( + "outputs/apk_from_bundle/${variant.name}/${variant.name}-badging.txt", ) + } val updateBadgingTaskName = "update${capitalizedVariantName}Badging" @@ -144,17 +142,14 @@ fun Project.configureBadgingTasks( val checkBadgingTaskName = "check${capitalizedVariantName}Badging" tasks.register(checkBadgingTaskName) { - goldenBadging.set( - project.layout.projectDirectory.file("${variant.name}-badging.txt"), - ) - generatedBadging.set( - generateBadging.get().badging, - ) - this.updateBadgingTaskName.set(updateBadgingTaskName) + goldenBadging = project.layout.projectDirectory.file("${variant.name}-badging.txt") + + generatedBadging = generateBadging.get().badging + + this.updateBadgingTaskName = updateBadgingTaskName + + output = project.layout.buildDirectory.dir("intermediates/$checkBadgingTaskName") - output.set( - project.layout.buildDirectory.dir("intermediates/$checkBadgingTaskName"), - ) } } } diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt index 7820a978e..78f2b2bfe 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt @@ -24,6 +24,7 @@ import org.gradle.api.file.Directory import org.gradle.api.file.RegularFile import org.gradle.api.provider.ListProperty import org.gradle.api.tasks.testing.Test +import org.gradle.kotlin.dsl.assign import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.withType @@ -79,8 +80,8 @@ internal fun Project.configureJacoco( } ) reports { - xml.required.set(true) - html.required.set(true) + xml.required = true + html.required = true } // TODO: This is missing files in src/debug/, src/prod, src/demo, src/demoDebug... diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt index 8e88f5a53..0b0eb8f4c 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt @@ -33,6 +33,7 @@ import org.gradle.api.tasks.Internal import org.gradle.api.tasks.PathSensitive import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction +import org.gradle.kotlin.dsl.assign import org.gradle.work.DisableCachingByDefault import java.io.File @@ -55,10 +56,10 @@ internal fun Project.configurePrintApksTask(extension: AndroidComponentsExtensio "${variant.name}PrintTestApk", PrintApkLocationTask::class.java ) { - apkFolder.set(artifact) - builtArtifactsLoader.set(loader) - variantName.set(variant.name) - sources.set(testSources) + apkFolder = artifact + builtArtifactsLoader = loader + variantName = variant.name + sources = testSources } } } @@ -100,4 +101,4 @@ internal abstract class PrintApkLocationTask : DefaultTask() { val apk = File(builtArtifacts.elements.single().outputFile).toPath() println(apk) } -} \ No newline at end of file +} diff --git a/settings.gradle.kts b/settings.gradle.kts index d4b6654b1..c90c1a24a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -24,7 +24,7 @@ pluginManagement { } dependencyResolutionManagement { - repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS repositories { google() mavenCentral() @@ -63,4 +63,3 @@ include(":lint") include(":sync:work") include(":sync:sync-test") include(":ui-test-hilt-manifest") - From 1433264c7307099d99440878890906ba59a65d58 Mon Sep 17 00:00:00 2001 From: Jaehwa Noh Date: Sun, 30 Jun 2024 19:27:02 +0900 Subject: [PATCH 2/2] Fix spotless. Change-Id: Ib610c17b717305f186982679ddd35be74cf3791f --- .../samples/apps/nowinandroid/Jacoco.kt | 21 +++++++++++++------ .../apps/nowinandroid/PrintTestApks.kt | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt index 78f2b2bfe..972d539c6 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt @@ -67,9 +67,13 @@ internal fun Project.configureJacoco( val myObjFactory = project.objects val buildDir = layout.buildDirectory.get().asFile val allJars: ListProperty = myObjFactory.listProperty(RegularFile::class.java) - val allDirectories: ListProperty = myObjFactory.listProperty(Directory::class.java) + val allDirectories: ListProperty = + myObjFactory.listProperty(Directory::class.java) val reportTask = - tasks.register("create${variant.name.capitalize()}CombinedCoverageReport", JacocoReport::class) { + tasks.register( + "create${variant.name.capitalize()}CombinedCoverageReport", + JacocoReport::class, + ) { classDirectories.setFrom( allJars, @@ -77,7 +81,7 @@ internal fun Project.configureJacoco( dirs.map { dir -> myObjFactory.fileTree().setDir(dir).exclude(coverageExclusions) } - } + }, ) reports { xml.required = true @@ -85,15 +89,20 @@ internal fun Project.configureJacoco( } // TODO: This is missing files in src/debug/, src/prod, src/demo, src/demoDebug... - sourceDirectories.setFrom(files("$projectDir/src/main/java", "$projectDir/src/main/kotlin")) + sourceDirectories.setFrom( + files( + "$projectDir/src/main/java", + "$projectDir/src/main/kotlin", + ), + ) executionData.setFrom( project.fileTree("$buildDir/outputs/unit_test_code_coverage/${variant.name}UnitTest") .matching { include("**/*.exec") }, project.fileTree("$buildDir/outputs/code_coverage/${variant.name}AndroidTest") - .matching { include("**/*.ec") } - ) + .matching { include("**/*.ec") }, + ) } diff --git a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt index 0b0eb8f4c..271fc51b7 100644 --- a/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt +++ b/build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/PrintTestApks.kt @@ -54,7 +54,7 @@ internal fun Project.configurePrintApksTask(extension: AndroidComponentsExtensio if (artifact != null && testSources != null) { tasks.register( "${variant.name}PrintTestApk", - PrintApkLocationTask::class.java + PrintApkLocationTask::class.java, ) { apkFolder = artifact builtArtifactsLoader = loader