Skip to content

Commit e42e3cc

Browse files
committed
Various code cleanup
1 parent f6c6827 commit e42e3cc

File tree

1 file changed

+39
-43
lines changed

1 file changed

+39
-43
lines changed

gradle/published-java-module.gradle

Lines changed: 39 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -99,39 +99,49 @@ publishing {
9999
}
100100
}
101101

102-
103-
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104-
// Signing
105-
106-
def signPublicationsTask = tasks.register('signPublications') {
107-
description "Grouping task which executes all Sign tasks"
108-
109-
dependsOn tasks.withType( Sign )
102+
tasks.withType(PublishToMavenLocal).configureEach {
103+
doFirst {
104+
logger.lifecycle("PublishToMavenLocal ({})", publication.name)
105+
logger.lifecycle(" - {} : {} : {} ", publication.groupId, publication.artifactId, publication.pom.packaging)
106+
logger.lifecycle(" - artifacts ({})...", publication.artifacts.size())
107+
publication.artifacts.forEach {
108+
logger.lifecycle(" - artifact ({}) : {} ({})" , it.classifier, it.file, it.file.size())
109+
}
110+
}
110111
}
111112

112-
tasks.named( "publishPublishedArtifactsPublicationToSonatypeRepository" ) {
113-
// publishing depends on signing
114-
dependsOn signPublicationsTask
113+
tasks.withType(PublishToMavenRepository).configureEach {
114+
doFirst {
115+
logger.lifecycle("PublishToMavenRepository ({} : {})", publication.name, repository.name)
116+
logger.lifecycle(" - {} : {} : {} ", publication.groupId, publication.artifactId, publication.pom.packaging)
117+
logger.lifecycle(" - artifacts ({})...", publication.artifacts.size())
118+
publication.artifacts.forEach {
119+
logger.lifecycle(" - artifact ({}) : {} ({})" , it.classifier, it.file, it.file.size())
120+
}
121+
}
115122
}
116123

117-
tasks.register('sign') {
118-
description "Pseudonym for :signPublications"
119-
dependsOn signPublicationsTask
120-
}
124+
125+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
126+
// Signing
127+
128+
def signingKey = resolveSigningKey()
129+
def signingPassphrase = resolveSigningPassphrase()
121130

122131
var signingExtension = project.getExtensions().getByType(SigningExtension) as SigningExtension
123132
signingExtension.sign publishing.publications.publishedArtifacts
133+
signingExtension.useInMemoryPgpKeys(signingKey, signingPassphrase)
134+
124135

125136
gradle.taskGraph.whenReady { TaskExecutionGraph graph ->
126-
boolean wasSigningRequested = false
137+
// are we publishing to OSSRH?
127138
boolean wasPublishingRequested = false
128139

129140
graph.allTasks.each {task ->
130-
if ( task instanceof Sign ) {
131-
wasSigningRequested = true
132-
}
133-
else if ( task instanceof PublishToMavenRepository ) {
134-
wasPublishingRequested = true
141+
if ( task instanceof PublishToMavenRepository ) {
142+
if ( "sonatype" == task.repository.name ) {
143+
wasPublishingRequested = true
144+
}
135145
}
136146
}
137147

@@ -142,20 +152,9 @@ gradle.taskGraph.whenReady { TaskExecutionGraph graph ->
142152
throw new RuntimeException( "Cannot perform publishing to OSSRH without credentials." )
143153
}
144154
logger.lifecycle "Publishing {} : {} : {}", project.group, project.name, project.version
145-
}
146-
147-
if ( wasSigningRequested || wasPublishingRequested ) {
148-
// signing was explicitly requested and/or we are publishing to Sonatype OSSRH
149-
// - we need the signing to happen
150155
signingExtension.required = true
151-
152-
var signingKey = resolveSigningKey()
153-
var signingPassword = resolveSigningPassphrase()
154-
signingExtension.useInMemoryPgpKeys( signingKey, signingPassword )
155156
}
156-
else {
157-
// signing was not explicitly requested and we are not publishing to OSSRH,
158-
// - disable all Sign tasks
157+
else if ( signingKey == null || signingPassphrase == null ) {
159158
tasks.withType( Sign ).each { t-> t.enabled = false }
160159
}
161160
}
@@ -171,22 +170,18 @@ static String resolveSigningKey() {
171170
return new File( keyFile ).text
172171
}
173172

174-
throw new RuntimeException( "Cannot perform signing without GPG details." )
173+
return null
175174
}
176175

177176
static String resolveSigningPassphrase() {
178-
var passphrase = System.getenv().get( "SIGNING_GPG_PASSPHRASE" )
179-
if ( passphrase == null ) {
180-
throw new RuntimeException( "Cannot perform signing without GPG details." )
181-
}
182-
return passphrase
177+
return System.getenv().get( "SIGNING_GPG_PASSPHRASE" )
183178
}
184179

185180

186181
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
187182
// Release / publishing tasks
188183

189-
task ciBuild {
184+
tasks.register('ciBuild') {
190185
dependsOn test, tasks.publishToSonatype
191186
}
192187

@@ -200,16 +195,17 @@ tasks.preVerifyRelease.dependsOn generatePomFileForRelocationPomPublication
200195
tasks.publishToSonatype.mustRunAfter test
201196

202197

198+
203199
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
204200
// Ancillary tasks
205201

206-
task showPublications {
202+
tasks.register('showPublications') {
207203
doFirst {
208-
project.publishing.publications.each { publication ->
204+
publishing.publications.each { publication ->
209205
println "Publication (${publication.name}): ${publication.groupId}:${publication.artifactId}:${publication.version}"
210206
publication.artifacts.each { artifact ->
211207
println " > ${artifact}"
212208
}
213209
}
214210
}
215-
}
211+
}

0 commit comments

Comments
 (0)