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
This commit is contained in:
Janne Valkealahti
2024-03-14 17:38:25 +00:00
parent 362e5f01fd
commit 7a81d6b3f7
2 changed files with 12 additions and 3 deletions

View File

@@ -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);

View File

@@ -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<Project> {
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> {
});
});
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;
}