Skip to content

Commit a920baf

Browse files
committed
Extract Project.libs extension for build-logic plugins
1 parent 386f17d commit a920baf

File tree

9 files changed

+30
-29
lines changed

9 files changed

+30
-29
lines changed

build-logic/convention/src/main/kotlin/AndroidApplicationFirebaseConventionPlugin.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@
1616

1717
import com.android.build.api.dsl.ApplicationExtension
1818
import com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsExtension
19+
import com.google.samples.apps.nowinandroid.libs
1920
import org.gradle.api.Plugin
2021
import org.gradle.api.Project
21-
import org.gradle.api.artifacts.VersionCatalogsExtension
2222
import org.gradle.kotlin.dsl.configure
2323
import org.gradle.kotlin.dsl.dependencies
24-
import org.gradle.kotlin.dsl.getByType
2524

2625
class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
2726
override fun apply(target: Project) {
@@ -32,7 +31,6 @@ class AndroidApplicationFirebaseConventionPlugin : Plugin<Project> {
3231
apply("com.google.firebase.crashlytics")
3332
}
3433

35-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
3634
dependencies {
3735
val bom = libs.findLibrary("firebase-bom").get()
3836
add("implementation", platform(bom))

build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17-
import com.android.build.api.dsl.ApplicationExtension
1817
import com.android.build.gradle.LibraryExtension
1918
import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
19+
import com.google.samples.apps.nowinandroid.libs
2020
import org.gradle.api.Plugin
2121
import org.gradle.api.Project
22-
import org.gradle.api.artifacts.VersionCatalogsExtension
2322
import org.gradle.kotlin.dsl.configure
2423
import org.gradle.kotlin.dsl.dependencies
25-
import org.gradle.kotlin.dsl.getByType
2624
import org.gradle.kotlin.dsl.kotlin
2725

2826
class AndroidFeatureConventionPlugin : Plugin<Project> {
@@ -40,8 +38,6 @@ class AndroidFeatureConventionPlugin : Plugin<Project> {
4038
configureGradleManagedDevices(this)
4139
}
4240

43-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
44-
4541
dependencies {
4642
add("implementation", project(":core:model"))
4743
add("implementation", project(":core:ui"))

build-logic/convention/src/main/kotlin/AndroidHiltConventionPlugin.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17+
import com.google.samples.apps.nowinandroid.libs
1718
import org.gradle.api.Plugin
1819
import org.gradle.api.Project
19-
import org.gradle.api.artifacts.VersionCatalogsExtension
2020
import org.gradle.kotlin.dsl.dependencies
21-
import org.gradle.kotlin.dsl.getByType
2221

2322
class AndroidHiltConventionPlugin : Plugin<Project> {
2423
override fun apply(target: Project) {
@@ -30,7 +29,6 @@ class AndroidHiltConventionPlugin : Plugin<Project> {
3029
apply("org.jetbrains.kotlin.kapt")
3130
}
3231

33-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
3432
dependencies {
3533
"implementation"(libs.findLibrary("hilt.android").get())
3634
"kapt"(libs.findLibrary("hilt.compiler").get())

build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@ import com.google.samples.apps.nowinandroid.configureGradleManagedDevices
2121
import com.google.samples.apps.nowinandroid.configureKotlinAndroid
2222
import com.google.samples.apps.nowinandroid.configurePrintApksTask
2323
import com.google.samples.apps.nowinandroid.disableUnnecessaryAndroidTests
24+
import com.google.samples.apps.nowinandroid.libs
2425
import org.gradle.api.Plugin
2526
import org.gradle.api.Project
26-
import org.gradle.api.artifacts.VersionCatalogsExtension
2727
import org.gradle.kotlin.dsl.configure
2828
import org.gradle.kotlin.dsl.dependencies
29-
import org.gradle.kotlin.dsl.getByType
3029
import org.gradle.kotlin.dsl.kotlin
3130

3231
class AndroidLibraryConventionPlugin : Plugin<Project> {
@@ -47,7 +46,6 @@ class AndroidLibraryConventionPlugin : Plugin<Project> {
4746
configurePrintApksTask(this)
4847
disableUnnecessaryAndroidTests(target)
4948
}
50-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
5149
configurations.configureEach {
5250
resolutionStrategy {
5351
force(libs.findLibrary("junit4").get())

build-logic/convention/src/main/kotlin/AndroidRoomConventionPlugin.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@
1515
*/
1616

1717
import com.google.devtools.ksp.gradle.KspExtension
18+
import com.google.samples.apps.nowinandroid.libs
1819
import org.gradle.api.Plugin
1920
import org.gradle.api.Project
20-
import org.gradle.api.artifacts.VersionCatalogsExtension
2121
import org.gradle.api.tasks.InputDirectory
2222
import org.gradle.api.tasks.PathSensitive
2323
import org.gradle.api.tasks.PathSensitivity
2424
import org.gradle.kotlin.dsl.configure
2525
import org.gradle.kotlin.dsl.dependencies
26-
import org.gradle.kotlin.dsl.getByType
2726
import org.gradle.process.CommandLineArgumentProvider
2827
import java.io.File
2928

@@ -40,7 +39,6 @@ class AndroidRoomConventionPlugin : Plugin<Project> {
4039
arg(RoomSchemaArgProvider(File(projectDir, "schemas")))
4140
}
4241

43-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
4442
dependencies {
4543
add("implementation", libs.findLibrary("room.runtime").get())
4644
add("implementation", libs.findLibrary("room.ktx").get())

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/AndroidCompose.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ package com.google.samples.apps.nowinandroid
1818

1919
import com.android.build.api.dsl.CommonExtension
2020
import org.gradle.api.Project
21-
import org.gradle.api.artifacts.VersionCatalogsExtension
2221
import org.gradle.kotlin.dsl.dependencies
23-
import org.gradle.kotlin.dsl.getByType
2422
import org.gradle.kotlin.dsl.withType
2523
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2624
import java.io.File
@@ -31,8 +29,6 @@ import java.io.File
3129
internal fun Project.configureAndroidCompose(
3230
commonExtension: CommonExtension<*, *, *, *>,
3331
) {
34-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
35-
3632
commonExtension.apply {
3733
buildFeatures {
3834
compose = true

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/Jacoco.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@ package com.google.samples.apps.nowinandroid
1818

1919
import com.android.build.api.variant.AndroidComponentsExtension
2020
import org.gradle.api.Project
21-
import org.gradle.api.artifacts.VersionCatalogsExtension
2221
import org.gradle.api.tasks.testing.Test
2322
import org.gradle.kotlin.dsl.configure
24-
import org.gradle.kotlin.dsl.getByType
2523
import org.gradle.kotlin.dsl.register
2624
import org.gradle.kotlin.dsl.withType
2725
import org.gradle.testing.jacoco.plugins.JacocoPluginExtension
@@ -44,8 +42,6 @@ private fun String.capitalize() = replaceFirstChar {
4442
internal fun Project.configureJacoco(
4543
androidComponentsExtension: AndroidComponentsExtension<*, *, *>,
4644
) {
47-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
48-
4945
configure<JacocoPluginExtension> {
5046
toolVersion = libs.findVersion("jacoco").get().toString()
5147
}

build-logic/convention/src/main/kotlin/com/google/samples/apps/nowinandroid/KotlinAndroid.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ package com.google.samples.apps.nowinandroid
1919
import com.android.build.api.dsl.CommonExtension
2020
import org.gradle.api.JavaVersion
2121
import org.gradle.api.Project
22-
import org.gradle.api.artifacts.VersionCatalogsExtension
2322
import org.gradle.api.plugins.JavaPluginExtension
2423
import org.gradle.kotlin.dsl.configure
2524
import org.gradle.kotlin.dsl.dependencies
26-
import org.gradle.kotlin.dsl.getByType
2725
import org.gradle.kotlin.dsl.provideDelegate
2826
import org.gradle.kotlin.dsl.withType
2927
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@@ -52,8 +50,6 @@ internal fun Project.configureKotlinAndroid(
5250

5351
configureKotlin()
5452

55-
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
56-
5753
dependencies {
5854
add("coreLibraryDesugaring", libs.findLibrary("android.desugarJdkLibs").get())
5955
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright 2023 The Android Open Source Project
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.samples.apps.nowinandroid
18+
19+
import org.gradle.api.Project
20+
import org.gradle.api.artifacts.VersionCatalog
21+
import org.gradle.api.artifacts.VersionCatalogsExtension
22+
import org.gradle.kotlin.dsl.getByType
23+
24+
val Project.libs
25+
get(): VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")

0 commit comments

Comments
 (0)