From 7a81d6b3f7afa6cf72033e83ea52c992ea388b51 Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Thu, 14 Mar 2024 17:38:25 +0000 Subject: [PATCH] Fix publishing - Breaking change in artifactory plugin with gradle 8.x which mean we need to go back to maven publish instead of relying archives configuration. - Relates #1145 --- .../statemachine/gradle/ArtifactoryConventions.java | 3 +-- .../statemachine/gradle/RootPlugin.java | 12 +++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/java/org/springframework/statemachine/gradle/ArtifactoryConventions.java b/buildSrc/src/main/java/org/springframework/statemachine/gradle/ArtifactoryConventions.java index 4d322276..9a9c64ad 100644 --- a/buildSrc/src/main/java/org/springframework/statemachine/gradle/ArtifactoryConventions.java +++ b/buildSrc/src/main/java/org/springframework/statemachine/gradle/ArtifactoryConventions.java @@ -48,7 +48,6 @@ public class ArtifactoryConventions { // bom is not a java project so plugin doesn't // add defaults for publications. aTask.publications("mavenJava"); - aTask.publishConfigs("archives"); // plugin is difficult to work with, use this hack // to set props before task does its real work @@ -63,7 +62,7 @@ public class ArtifactoryConventions { ArtifactSpec spec = ArtifactSpec.builder() .artifactNotation("*:*:*:*@zip") // archives is manually set for zip in root plugin - .configuration("archives") + .configuration("mavenJava") .properties(propsMap) .build(); artifactSpecs.add(spec); diff --git a/buildSrc/src/main/java/org/springframework/statemachine/gradle/RootPlugin.java b/buildSrc/src/main/java/org/springframework/statemachine/gradle/RootPlugin.java index 486e516f..b32caa28 100644 --- a/buildSrc/src/main/java/org/springframework/statemachine/gradle/RootPlugin.java +++ b/buildSrc/src/main/java/org/springframework/statemachine/gradle/RootPlugin.java @@ -22,6 +22,8 @@ import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.plugins.JavaPluginConvention; import org.gradle.api.plugins.PluginManager; +import org.gradle.api.publish.PublishingExtension; +import org.gradle.api.publish.maven.MavenPublication; import org.gradle.api.publish.maven.plugins.MavenPublishPlugin; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.bundling.Zip; @@ -40,6 +42,7 @@ class RootPlugin implements Plugin { PluginManager pluginManager = project.getPluginManager(); pluginManager.apply(MavenPublishPlugin.class); pluginManager.apply(PublishLocalPlugin.class); + pluginManager.apply(SpringMavenPlugin.class); new ArtifactoryConventions().apply(project); Javadoc apiTask = createApiTask(project); Zip zipTask = createZipTask(project); @@ -65,7 +68,14 @@ class RootPlugin implements Plugin { }); }); - project.getArtifacts().add("archives", zipTask); + project.getPlugins().withType(MavenPublishPlugin.class).all(mavenPublish -> { + PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class); + publishing.getPublications().withType(MavenPublication.class) + .all(mavenPublication -> { + mavenPublication.artifact(zipTask); + }); + }); + return zipTask; }