@@ -3,6 +3,7 @@ import org.gradle.api.tasks.JavaExec
33import org.gradle.api.tasks.SourceSetContainer
44import org.gradle.api.publish.PublishingExtension
55import org.gradle.api.publish.maven.MavenPublication
6+ import org.gradle.plugins.signing.Sign
67import org.gradle.jvm.toolchain.JavaLanguageVersion
78import org.gradle.plugins.signing.SigningExtension
89
@@ -22,7 +23,7 @@ allprojects {
2223}
2324
2425subprojects {
25- if (path != " :docs" && path != " :examples:spring-boot-demo" ) {
26+ if (path != " :docs" && path != " :examples" && path != " :examples :spring-boot-demo" ) {
2627 apply (plugin = " java-library" )
2728 apply (plugin = " maven-publish" )
2829 apply (plugin = " signing" )
@@ -64,8 +65,13 @@ subprojects {
6465
6566 extensions.configure<PublishingExtension > {
6667 publications {
67- create<MavenPublication >(" mavenJava" ) {
68- from(components[" java" ])
68+ if (project.path != " :promptspec-gradle-plugin" ) {
69+ create<MavenPublication >(" mavenJava" ) {
70+ from(components[" java" ])
71+ }
72+ }
73+
74+ withType<MavenPublication >().configureEach {
6975 pom {
7076 name.set(project.name)
7177 description.set(" PromptSpec-J module ${project.name} " )
@@ -87,8 +93,27 @@ subprojects {
8793 }
8894
8995 extensions.configure<SigningExtension > {
90- useGpgCmd()
91- sign(extensions.getByType(PublishingExtension ::class .java).publications[" mavenJava" ])
96+ val signingKey = providers.environmentVariable(" JRELEASER_GPG_SECRET_KEY" ).orNull
97+ val signingPassphrase = providers.environmentVariable(" JRELEASER_GPG_PASSPHRASE" ).orNull
98+
99+ if (! signingKey.isNullOrBlank() && ! signingPassphrase.isNullOrBlank()) {
100+ useInMemoryPgpKeys(signingKey, signingPassphrase)
101+ }
102+
103+ sign(extensions.getByType(PublishingExtension ::class .java).publications)
104+ }
105+
106+ tasks.withType<Sign >().configureEach {
107+ val signingKeyPresent = ! providers.environmentVariable(" JRELEASER_GPG_SECRET_KEY" )
108+ .orNull
109+ .isNullOrBlank()
110+ val publishingToMavenLocal = gradle.startParameter.taskNames.any { taskName ->
111+ taskName.contains(" publishToMavenLocal" )
112+ }
113+
114+ onlyIf {
115+ signingKeyPresent || ! publishingToMavenLocal
116+ }
92117 }
93118 }
94119}
0 commit comments