Skip to content

Commit 4485429

Browse files
authored
Merge ee6ec6e into da631d2
2 parents da631d2 + ee6ec6e commit 4485429

File tree

4 files changed

+22
-10
lines changed

4 files changed

+22
-10
lines changed

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ class FirebaseLibraryPlugin : BaseFirebaseLibraryPlugin() {
9191

9292
private fun getSemverTaskAar(project: Project, firebaseLibrary: FirebaseLibraryExtension) {
9393
project.mkdir("semver")
94+
project.mkdir("semver/previous-version")
9495
project.tasks.register<GmavenCopier>("copyPreviousArtifacts") {
9596
dependsOn("bundleReleaseAar")
9697
project.file("semver/previous.aar").delete()
@@ -111,7 +112,10 @@ class FirebaseLibraryPlugin : BaseFirebaseLibraryPlugin() {
111112

112113
project.tasks.register<Copy>("extractPreviousClasses") {
113114
dependsOn("copyPreviousArtifacts")
114-
if (project.file("semver/previous.aar").exists()) {
115+
if (
116+
GmavenHelper(firebaseLibrary.groupId.get(), firebaseLibrary.artifactId.get())
117+
.isPresentInGmaven()
118+
) {
115119
from(project.zipTree("semver/previous.aar"))
116120
into(project.file("semver/previous-version"))
117121
}
@@ -121,15 +125,15 @@ class FirebaseLibraryPlugin : BaseFirebaseLibraryPlugin() {
121125

122126
val previousJarFile = project.file("semver/previous-version/classes.jar").absolutePath
123127
project.tasks.register<ApiDiffer>("semverCheck") {
128+
dependsOn("extractCurrentClasses")
129+
dependsOn("extractPreviousClasses")
124130
currentJar.value(currentJarFile)
125131
previousJar.value(previousJarFile)
126132
version.value(firebaseLibrary.version)
127133
previousVersionString.value(
128134
GmavenHelper(firebaseLibrary.groupId.get(), firebaseLibrary.artifactId.get())
129135
.getLatestReleasedVersion()
130136
)
131-
dependsOn("extractCurrentClasses")
132-
dependsOn("extractPreviousClasses")
133137
}
134138
}
135139

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package com.google.firebase.gradle.plugins
1616

1717
import java.io.FileNotFoundException
18+
import java.net.HttpURLConnection
1819
import java.net.URL
1920
import javax.xml.parsers.DocumentBuilder
2021
import javax.xml.parsers.DocumentBuilderFactory
@@ -30,6 +31,16 @@ class GmavenHelper(val groupId: String, val artifactId: String) {
3031
return "${GMAVEN_ROOT}/${groupIdAsPath}/${artifactId}/${version}/${pomFileName}"
3132
}
3233

34+
fun isPresentInGmaven(): Boolean {
35+
val groupIdAsPath = groupId.replace(".", "/")
36+
val u = URL("${GMAVEN_ROOT}/${groupIdAsPath}/${artifactId}/maven-metadata.xml")
37+
val huc: HttpURLConnection = u.openConnection() as HttpURLConnection
38+
huc.setRequestMethod("GET") // OR huc.setRequestMethod ("HEAD");
39+
huc.connect()
40+
val code: Int = huc.getResponseCode()
41+
return code == HttpURLConnection.HTTP_OK
42+
}
43+
3344
fun getArtifactForVersion(version: String, isJar: Boolean): String {
3445
val fileName =
3546
if (isJar == true) "${artifactId}-${version}.jar" else "${artifactId}-${version}.aar"

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,6 @@ abstract class PublishingPlugin : Plugin<Project> {
450450
project.tasks.register(SEMVER_CHECK_TASK) {
451451
for (releasingProject in releasingProjects) {
452452
val semverCheckTask = releasingProject.tasks.named("semverCheck")
453-
454453
dependsOn(semverCheckTask)
455454
}
456455
}

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,14 @@ abstract class GmavenCopier : DefaultTask() {
3636
@TaskAction
3737
fun run() {
3838
val mavenHelper = GmavenHelper(groupId.get(), artifactId.get())
39+
if (!mavenHelper.isPresentInGmaven()) {
40+
return
41+
}
3942
val gMavenPath =
4043
mavenHelper.getArtifactForVersion(
4144
mavenHelper.getLatestReleasedVersion(),
4245
!aarAndroidFile.get()
4346
)
44-
try {
45-
URL(gMavenPath).openStream().use { Files.copy(it, Paths.get(filePath.get())) }
46-
} catch (_: java.io.FileNotFoundException) {
47-
// Gmaven Artifact doesn't exist.
48-
return
49-
}
47+
URL(gMavenPath).openStream().use { Files.copy(it, Paths.get(filePath.get())) }
5048
}
5149
}

0 commit comments

Comments
 (0)