Skip to content

Commit 65ad96b

Browse files
committed
Migrate to kotlin
1 parent ec68af6 commit 65ad96b

14 files changed

+210
-297
lines changed

buildSrc/src/main/java/com/google/firebase/gradle/plugins/BaseFirebaseLibraryPlugin.kt

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ package com.google.firebase.gradle.plugins
1818

1919
import com.android.build.gradle.LibraryExtension
2020
import com.google.firebase.gradle.plugins.ci.Coverage
21+
import com.google.firebase.gradle.plugins.ci.device.FirebaseTestLabExtension
2122
import java.io.File
2223
import java.nio.file.Paths
2324
import org.gradle.api.Plugin
2425
import org.gradle.api.Project
2526
import org.gradle.api.artifacts.ProjectDependency
27+
import org.gradle.api.provider.Provider
2628
import org.gradle.api.publish.PublishingExtension
2729
import org.gradle.api.publish.maven.MavenPom
2830
import org.gradle.api.publish.maven.MavenPublication
@@ -138,9 +140,9 @@ abstract class BaseFirebaseLibraryPlugin : Plugin<Project> {
138140
firebaseLibrary.artifactId.get() // these dont get populated until afterEvaluate :(
139141
groupId = firebaseLibrary.groupId.get()
140142

141-
firebaseLibrary.applyPomCustomization(pom)
143+
firebaseLibrary.customizePom(pom)
142144
firebaseLibrary.applyPomTransformations(pom)
143-
from(components.findByName(firebaseLibrary.type.componentName))
145+
from(components.findByName(firebaseLibrary.type.get().componentName))
144146
}
145147
}
146148
}
@@ -209,7 +211,7 @@ abstract class BaseFirebaseLibraryPlugin : Plugin<Project> {
209211
// TODO(b/277607560): Remove when Gradle's MavenPublishPlugin adds functionality for aar types
210212
fun FirebaseLibraryExtension.resolveAndroidDependencies() =
211213
resolveExternalAndroidLibraries() +
212-
resolveProjectLevelDependencies().filter { it.type == LibraryType.ANDROID }.map { it.mavenName }
214+
resolveProjectLevelDependencies().filter { it.type.get() == LibraryType.ANDROID }.map { it.mavenName.get() }
213215

214216
/**
215217
* A list of project level dependencies.
@@ -221,8 +223,8 @@ fun FirebaseLibraryExtension.resolveAndroidDependencies() =
221223
*/
222224
// TODO(b/277607560): Remove when Gradle's MavenPublishPlugin adds functionality for aar types
223225
fun FirebaseLibraryExtension.resolveProjectLevelDependencies() =
224-
project.configurations
225-
.getByName(runtimeClasspath)
226+
project.get().configurations
227+
.getByName(runtimeClasspath.get())
226228
.allDependencies
227229
.mapNotNull { it as? ProjectDependency }
228230
.map {
@@ -245,8 +247,8 @@ fun FirebaseLibraryExtension.resolveProjectLevelDependencies() =
245247
*/
246248
// TODO(b/277607560): Remove when Gradle's MavenPublishPlugin adds functionality for aar types
247249
fun FirebaseLibraryExtension.resolveExternalAndroidLibraries() =
248-
project.configurations
249-
.getByName(runtimeClasspath)
250+
project.get().configurations
251+
.getByName(runtimeClasspath.get())
250252
.incoming
251253
.artifactView { attributes { attribute("artifactType", "aar") } }
252254
.artifacts
@@ -296,5 +298,5 @@ val FirebaseLibraryExtension.latestVersion: ModuleVersion
296298
*/
297299
val FirebaseLibraryExtension.namespace: String
298300
get() =
299-
project.extensions.getByType<LibraryExtension>().namespace
300-
?: throw RuntimeException("Project doesn't have a defined namespace: ${project.path}")
301+
project.get().extensions.getByType<LibraryExtension>().namespace
302+
?: throw RuntimeException("Project doesn't have a defined namespace: ${project.get().path}")

buildSrc/src/main/java/com/google/firebase/gradle/plugins/DackkaPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ abstract class DackkaPlugin : Plugin<Project> {
122122

123123
// TODO(b/270576405): remove afterEvalutate after fixed
124124
project.afterEvaluate {
125-
if (weShouldPublish(this)) {
125+
if (weShouldPublish(this).get()) {
126126
val dackkaOutputDirectory = provider { fileFromBuildDir("dackkaRawOutput") }
127127
val transformedFilesDirectory = provider { fileFromBuildDir("dackkaTransformedFiles") }
128128

buildSrc/src/main/java/com/google/firebase/gradle/plugins/FirebaseJavaLibraryPlugin.kt

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ class FirebaseJavaLibraryPlugin : BaseFirebaseLibraryPlugin() {
4848

4949
private fun setupFirebaseLibraryExtension(project: Project) {
5050
val firebaseLibrary =
51-
project.extensions.create<FirebaseLibraryExtension>("firebaseLibrary", project, JAVA)
51+
project.extensions.create<FirebaseLibraryExtension>("firebaseLibrary")
5252

53+
firebaseLibrary.commonConfiguration(project, JAVA)
5354
setupStaticAnalysis(project, firebaseLibrary)
5455
setupApiInformationAnalysis(project)
5556
getIsPomValidTask(project, firebaseLibrary)
@@ -59,33 +60,36 @@ class FirebaseJavaLibraryPlugin : BaseFirebaseLibraryPlugin() {
5960

6061
private fun setupVersionCheckTasks(project: Project, firebaseLibrary: FirebaseLibraryExtension) {
6162
project.tasks.register<GmavenVersionChecker>("gmavenVersionCheck") {
62-
groupId.value(firebaseLibrary.groupId.get())
63-
artifactId.value(firebaseLibrary.artifactId.get())
63+
groupId.value(firebaseLibrary.groupId)
64+
artifactId.value(firebaseLibrary.artifactId)
6465
version.value(firebaseLibrary.version)
65-
latestReleasedVersion.value(firebaseLibrary.latestReleasedVersion.orElseGet { "" })
66+
latestReleasedVersion.value(firebaseLibrary.latestReleasedVersion.orElse(""))
6667
}
6768
project.mkdir("semver")
6869
project.tasks.register<GmavenCopier>("copyPreviousArtifacts") {
6970
dependsOn("jar")
7071
project.file("semver/previous.jar").delete()
71-
groupId.value(firebaseLibrary.groupId.get())
72-
artifactId.value(firebaseLibrary.artifactId.get())
72+
groupId.value(firebaseLibrary.groupId)
73+
artifactId.value(firebaseLibrary.artifactId)
7374
aarAndroidFile.value(false)
7475
filePath.value(project.file("semver/previous.jar").absolutePath)
7576
}
76-
val currentJarFile =
77-
project
78-
.file("build/libs/${firebaseLibrary.artifactId.get()}-${firebaseLibrary.version}.jar")
79-
.absolutePath
77+
val currentJarFile = firebaseLibrary.artifactId.flatMap { artifactId ->
78+
firebaseLibrary.version.map { version ->
79+
project.file("build/libs/$artifactId-$version").absolutePath
80+
}
81+
}
8082
val previousJarFile = project.file("semver/previous.jar").absolutePath
83+
val previousVersion = firebaseLibrary.artifactId.flatMap { artifactId ->
84+
firebaseLibrary.groupId.map { groupId ->
85+
GmavenHelper(groupId, artifactId).getLatestReleasedVersion()
86+
}
87+
}
8188
project.tasks.register<ApiDiffer>("semverCheck") {
8289
currentJar.value(currentJarFile)
8390
previousJar.value(previousJarFile)
8491
version.value(firebaseLibrary.version)
85-
previousVersionString.value(
86-
GmavenHelper(firebaseLibrary.groupId.get(), firebaseLibrary.artifactId.get())
87-
.getLatestReleasedVersion()
88-
)
92+
previousVersionString.value(previousVersion)
8993

9094
dependsOn("copyPreviousArtifacts")
9195
}

buildSrc/src/main/java/com/google/firebase/gradle/plugins/FirebaseLibraryExtension.java

Lines changed: 0 additions & 195 deletions
This file was deleted.

0 commit comments

Comments
 (0)