Skip to content

Commit fa54d9d

Browse files
Improve api module publishing
1 parent 433874f commit fa54d9d

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

api/build.gradle.kts

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import java.net.URL
2+
import javax.net.ssl.HttpsURLConnection
3+
14
plugins {
25
`java-library`
36
`maven-publish`
@@ -50,11 +53,30 @@ publishing.publications {
5053
}
5154
}
5255

56+
57+
val shouldPublish by lazy {
58+
val conn = URL("https://repo1.maven.org/maven2/club/minnced/udpqueue-api/$version/").openConnection() as HttpsURLConnection
59+
conn.requestMethod = "GET"
60+
conn.connect()
61+
62+
conn.responseCode > 400
63+
}
64+
5365
val signingKey: String? by project
66+
val signingPassword: String? by project
5467

5568
if (signingKey != null) {
5669
signing {
57-
useInMemoryPgpKeys(signingKey, null)
58-
sign(*publishing.publications.toTypedArray())
70+
useInMemoryPgpKeys(signingKey, signingPassword ?: "")
71+
val publications = publishing.publications.toTypedArray()
72+
sign(*publications)
5973
}
74+
} else {
75+
println("Could not find signingKey")
76+
}
77+
78+
// Only run publishing tasks if the version doesn't already exist
79+
80+
tasks.withType<PublishToMavenRepository> {
81+
enabled = enabled && shouldPublish
6082
}

0 commit comments

Comments
 (0)