Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit acdad21

Browse files
committed
refactor(build-logic): use ExtensionContainer#configure extension
1 parent 3410f7d commit acdad21

File tree

7 files changed

+28
-22
lines changed

7 files changed

+28
-22
lines changed

build-logic/src/main/kotlin/app/passwordstore/gradle/ApplicationPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
1111
import org.gradle.api.Plugin
1212
import org.gradle.api.Project
1313
import org.gradle.kotlin.dsl.apply
14+
import org.gradle.kotlin.dsl.configure
1415
import org.gradle.kotlin.dsl.dependencies
15-
import org.gradle.kotlin.dsl.getByType
1616
import org.gradle.kotlin.dsl.the
1717

1818
@Suppress("Unused")
@@ -21,7 +21,7 @@ class ApplicationPlugin : Plugin<Project> {
2121
override fun apply(project: Project) {
2222
project.pluginManager.apply(AppPlugin::class)
2323
AndroidCommon.configure(project)
24-
project.extensions.getByType<BaseAppModuleExtension>().run {
24+
project.extensions.configure<BaseAppModuleExtension> {
2525
val minifySwitch = project.providers.environmentVariable("DISABLE_MINIFY")
2626

2727
adbOptions.installOptions("--user 0")

build-logic/src/main/kotlin/app/passwordstore/gradle/DependencyUpdatesPlugin.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,16 @@ import nl.littlerobots.vcu.plugin.VersionCatalogUpdatePlugin
77
import org.gradle.api.Plugin
88
import org.gradle.api.Project
99
import org.gradle.kotlin.dsl.apply
10-
import org.gradle.kotlin.dsl.getByType
10+
import org.gradle.kotlin.dsl.configure
1111
import org.gradle.kotlin.dsl.withType
1212

1313
@Suppress("Unused")
1414
class DependencyUpdatesPlugin : Plugin<Project> {
15+
1516
override fun apply(project: Project) {
1617
project.pluginManager.apply(VersionsPlugin::class)
1718
project.pluginManager.apply(VersionCatalogUpdatePlugin::class)
18-
project.tasks.withType<DependencyUpdatesTask>().configureEach {
19+
project.tasks.withType<DependencyUpdatesTask> {
1920
rejectVersionIf {
2021
when (candidate.group) {
2122
"commons-codec",
@@ -26,7 +27,7 @@ class DependencyUpdatesPlugin : Plugin<Project> {
2627
}
2728
checkForGradleUpdate = false
2829
}
29-
project.extensions.getByType<VersionCatalogUpdateExtension>().run {
30+
project.extensions.configure<VersionCatalogUpdateExtension> {
3031
keep.keepUnusedLibraries.set(true)
3132
}
3233
}

build-logic/src/main/kotlin/app/passwordstore/gradle/KotlinKaptPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ package app.passwordstore.gradle
88
import org.gradle.api.Plugin
99
import org.gradle.api.Project
1010
import org.gradle.kotlin.dsl.apply
11-
import org.gradle.kotlin.dsl.getByType
11+
import org.gradle.kotlin.dsl.configure
1212
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
1313
import org.jetbrains.kotlin.gradle.plugin.KaptExtension
1414
import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper
@@ -22,7 +22,7 @@ class KotlinKaptPlugin : Plugin<Project> {
2222
apply(Kapt3GradleSubplugin::class)
2323
}
2424
project.afterEvaluate {
25-
project.extensions.getByType<KaptExtension>().run {
25+
project.extensions.configure<KaptExtension> {
2626
javacOptions {
2727
if (hasDaggerCompilerDependency()) {
2828
// https://dagger.dev/dev-guide/compiler-options#fastinit-mode

build-logic/src/main/kotlin/app/passwordstore/gradle/PublishedAndroidLibraryPlugin.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import me.tylerbwong.gradle.metalava.extension.MetalavaExtension
1010
import org.gradle.api.Plugin
1111
import org.gradle.api.Project
1212
import org.gradle.kotlin.dsl.apply
13-
import org.gradle.kotlin.dsl.getByType
13+
import org.gradle.kotlin.dsl.configure
1414
import org.gradle.kotlin.dsl.provideDelegate
1515
import org.gradle.plugins.signing.SigningExtension
1616
import org.gradle.plugins.signing.SigningPlugin
@@ -25,18 +25,18 @@ class PublishedAndroidLibraryPlugin : Plugin<Project> {
2525
apply(SigningPlugin::class)
2626
apply("me.tylerbwong.gradle.metalava")
2727
}
28-
project.extensions.getByType<MavenPublishBaseExtension>().run {
28+
project.extensions.configure<MavenPublishBaseExtension> {
2929
publishToMavenCentral(SonatypeHost.DEFAULT, true)
3030
signAllPublications()
3131
}
3232
project.afterEvaluate {
33-
project.extensions.getByType<SigningExtension>().run {
33+
project.extensions.configure<SigningExtension> {
3434
val signingKey: String? by project
3535
val signingPassword: String? by project
3636
useInMemoryPgpKeys(signingKey, signingPassword)
3737
}
3838
}
39-
project.extensions.getByType<MetalavaExtension>().run {
39+
project.extensions.configure<MetalavaExtension> {
4040
documentation.set(Documentation.PUBLIC)
4141
inputKotlinNulls.set(true)
4242
outputKotlinNulls.set(true)

build-logic/src/main/kotlin/app/passwordstore/gradle/RenameArtifactsPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ import com.android.build.api.variant.ApplicationAndroidComponentsExtension
77
import com.android.build.api.variant.VariantOutputConfiguration
88
import org.gradle.api.Plugin
99
import org.gradle.api.Project
10-
import org.gradle.kotlin.dsl.getByType
10+
import org.gradle.kotlin.dsl.configure
1111
import org.gradle.kotlin.dsl.register
1212

1313
@Suppress("Unused")
1414
class RenameArtifactsPlugin : Plugin<Project> {
1515

1616
override fun apply(project: Project) {
1717
project.pluginManager.withPlugin("com.android.application") {
18-
project.extensions.getByType<ApplicationAndroidComponentsExtension>().run {
18+
project.extensions.configure<ApplicationAndroidComponentsExtension> {
1919
onVariants { variant ->
2020
project.tasks.register<CollectApksTask>("collect${variant.name.capitalize()}Apks") {
2121
variantName.set(variant.name)

build-logic/src/main/kotlin/app/passwordstore/gradle/SentryPlugin.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ import io.sentry.android.gradle.extensions.SentryPluginExtension
88
import org.gradle.api.Plugin
99
import org.gradle.api.Project
1010
import org.gradle.kotlin.dsl.apply
11-
import org.gradle.kotlin.dsl.getByType
11+
import org.gradle.kotlin.dsl.configure
1212

1313
@Suppress("Unused")
1414
class SentryPlugin : Plugin<Project> {
1515

1616
override fun apply(project: Project) {
1717
project.pluginManager.withPlugin("com.android.application") {
18-
project.extensions.getByType<ApplicationAndroidComponentsExtension>().run {
18+
project.extensions.configure<ApplicationAndroidComponentsExtension> {
1919
onVariants(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) {
2020
variant ->
2121
val sentryDsn = project.providers.environmentVariable(SENTRY_DSN_PROPERTY)
@@ -25,7 +25,7 @@ class SentryPlugin : Plugin<Project> {
2525
}
2626
}
2727
project.plugins.apply(SentryPlugin::class)
28-
project.extensions.getByType<SentryPluginExtension>().run {
28+
project.extensions.configure<SentryPluginExtension> {
2929
autoUploadProguardMapping.set(
3030
project.providers.gradleProperty(SENTRY_UPLOAD_MAPPINGS_PROPERTY).isPresent
3131
)
@@ -38,6 +38,7 @@ class SentryPlugin : Plugin<Project> {
3838
}
3939

4040
private companion object {
41+
4142
private const val SENTRY_DSN_PROPERTY = "SENTRY_DSN"
4243
private const val SENTRY_UPLOAD_MAPPINGS_PROPERTY = "sentryUploadMappings"
4344
}

build-logic/src/main/kotlin/app/passwordstore/gradle/versioning/VersioningPlugin.kt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import java.util.Properties
1313
import java.util.concurrent.atomic.AtomicBoolean
1414
import org.gradle.api.Plugin
1515
import org.gradle.api.Project
16-
import org.gradle.kotlin.dsl.getByType
16+
import org.gradle.kotlin.dsl.configure
1717
import org.gradle.kotlin.dsl.register
1818
import org.gradle.kotlin.dsl.withType
1919

@@ -45,11 +45,15 @@ class VersioningPlugin : Plugin<Project> {
4545
}
4646
project.plugins.withType<AppPlugin> {
4747
androidAppPluginApplied.set(true)
48-
extensions.getByType<ApplicationAndroidComponentsExtension>().onVariants { variant ->
49-
val mainOutput =
50-
variant.outputs.single { it.outputType == VariantOutputConfiguration.OutputType.SINGLE }
51-
mainOutput.versionName.set(versionName)
52-
mainOutput.versionCode.set(versionCode)
48+
extensions.configure<ApplicationAndroidComponentsExtension> {
49+
onVariants { variant ->
50+
val mainOutput =
51+
variant.outputs.single {
52+
it.outputType == VariantOutputConfiguration.OutputType.SINGLE
53+
}
54+
mainOutput.versionName.set(versionName)
55+
mainOutput.versionCode.set(versionCode)
56+
}
5357
}
5458
}
5559
val version = Semver(versionName)

0 commit comments

Comments
 (0)