From 8ee26c704b8a4271085efd8bddae370667b9fdd2 Mon Sep 17 00:00:00 2001 From: David Motsonashvili Date: Tue, 18 Nov 2025 10:29:37 -0800 Subject: [PATCH 1/2] replace latestNonAlphaVersion with latestStableVersion --- .../GenerateTutorialBundleTask.kt | 2 +- .../gradle/plugins/services/GmavenService.kt | 27 ++++++++++--------- .../plugins/GenerateTutorialBundleTests.kt | 4 +-- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/plugins/src/main/java/com/google/firebase/gradle/bomgenerator/GenerateTutorialBundleTask.kt b/plugins/src/main/java/com/google/firebase/gradle/bomgenerator/GenerateTutorialBundleTask.kt index 0676b2ba386..6b0261f5e98 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/bomgenerator/GenerateTutorialBundleTask.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/bomgenerator/GenerateTutorialBundleTask.kt @@ -195,7 +195,7 @@ abstract class GenerateTutorialBundleTask : DefaultTask() { } else { logger.info("Fetching the latest version for an artifact: $fullArtifactName") - return gmaven.get().latestNonAlphaVersionOrNull(fullArtifactName) + return gmaven.get().latestStableVersionOrNull(fullArtifactName) ?: throw RuntimeException( "An artifact required for the tutorial bundle is missing from gmaven: $fullArtifactName" ) diff --git a/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt b/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt index a09dfe502e9..12aed68a41d 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt @@ -151,10 +151,10 @@ abstract class GMavenService : BuildService { controller.latestVersionOrNull(groupId, artifactId) /** - * Gets the latest non-alpha version of the artifact that has been uploaded to GMaven, if any. - * + * Gets the latest version with no qualifiers of the artifact that has been uploaded to GMaven, if + * any. * * ``` - * gmaven.latestNonAlphaVersionOrNull("com.google.firebase", "firebase-components") // "18.0.1" + * gmaven.latestStableVersionOrNull("com.google.firebase", "firebase-components") // "18.0.1" * ``` * * @param groupId The group to search under. @@ -162,23 +162,24 @@ abstract class GMavenService : BuildService { * @return The latest released version as a string, or null if the artifact couldn't be found. * @see latestVersion */ - fun latestNonAlphaVersionOrNull(groupId: String, artifactId: String) = - controller.latestNonAlphaVersionOrNull(groupId, artifactId) + fun latestStableVersionOrNull(groupId: String, artifactId: String) = + controller.latestStableVersionOrNull(groupId, artifactId) /** - * Gets the latest non-alpha version of the artifact that has been uploaded to GMaven, if any. + * Gets the latest version with no qualifiers of the artifact that has been uploaded to GMaven, if + * any. * * ``` - * gmaven.latestNonAlphaVersionOrNull("com.google.firebase", "firebase-components") // "18.0.1" + * gmaven.latestStableVersionOrNull("com.google.firebase", "firebase-components") // "18.0.1" * ``` * * @param fullArtifactName The artifact to search for, represented as "groupId:artifactId". * @return The latest released version as a string, or null if the artifact couldn't be found. * @see latestVersion */ - fun latestNonAlphaVersionOrNull(fullArtifactName: String): String? { + fun latestStableVersionOrNull(fullArtifactName: String): String? { val (groupId, artifactId) = fullArtifactName.split(":") - return latestNonAlphaVersionOrNull(groupId, artifactId) + return latestStableVersionOrNull(groupId, artifactId) } /** @@ -434,9 +435,9 @@ class GMavenServiceController( return findFirebaseArtifact(groupId, artifactId)?.latestVersion } - /** @see GMavenService.latestNonAlphaVersionOrNull */ - fun latestNonAlphaVersionOrNull(groupId: String, artifactId: String): String? { - return findFirebaseArtifact(groupId, artifactId)?.latestNonAlphaVersion + /** @see GMavenService.latestStableVersionOrNull */ + fun latestStableVersionOrNull(groupId: String, artifactId: String): String? { + return findFirebaseArtifact(groupId, artifactId)?.latestStableVersion } /** @see GMavenService.hasReleasedArtifact */ @@ -591,7 +592,7 @@ data class GroupIndexArtifact( val artifactId: String, val versions: List, val latestVersion: String = versions.last(), - val latestNonAlphaVersion: String? = versions.findLast { !it.contains("alpha") }, + val latestStableVersion: String? = versions.findLast { !it.contains("-") }, ) { /** diff --git a/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/GenerateTutorialBundleTests.kt b/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/GenerateTutorialBundleTests.kt index 3a2fe06ca30..e574314d8c8 100644 --- a/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/GenerateTutorialBundleTests.kt +++ b/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/GenerateTutorialBundleTests.kt @@ -242,7 +242,7 @@ class GenerateTutorialBundleTests : FunSpec() { @Test fun `throws an error if an unreleased artifact is used`() { shouldThrowSubstring("missing from gmaven", "com.google.firebase:firebase-auth") { - every { service.latestNonAlphaVersionOrNull(any()) } answers { null } + every { service.latestStableVersionOrNull(any()) } answers { null } val task = makeTask { firebaseArtifacts.set(listOf("com.google.firebase:firebase-auth")) } @@ -294,7 +294,7 @@ class GenerateTutorialBundleTests : FunSpec() { "$groupId:$artifactId" to version } .onEach { entry -> - every { service.latestNonAlphaVersionOrNull(entry.key) } answers { entry.value } + every { service.latestStableVersionOrNull(entry.key) } answers { entry.value } } } From 6f493cf971396e5d37be1726ad12b6b9f656d6be Mon Sep 17 00:00:00 2001 From: David Motsonashvili Date: Tue, 18 Nov 2025 10:39:18 -0800 Subject: [PATCH 2/2] format --- .../google/firebase/gradle/plugins/services/GmavenService.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt b/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt index 12aed68a41d..98257b18113 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/plugins/services/GmavenService.kt @@ -152,7 +152,8 @@ abstract class GMavenService : BuildService { /** * Gets the latest version with no qualifiers of the artifact that has been uploaded to GMaven, if - * any. * + * any. * + * * ``` * gmaven.latestStableVersionOrNull("com.google.firebase", "firebase-components") // "18.0.1" * ```