Browse Source

Merge branch '2.5.x' into 2.6.x

Closes gh-30217
pull/30349/head
Andy Wilkinson 4 years ago
parent
commit
c4d2602a3e
  1. 4
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java
  2. 29
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SinglePublishedArtifact.java
  3. 3
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java
  4. 4
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/WarPluginAction.java

4
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java

@ -32,7 +32,6 @@ import org.gradle.api.attributes.Bundling; @@ -32,7 +32,6 @@ import org.gradle.api.attributes.Bundling;
import org.gradle.api.attributes.LibraryElements;
import org.gradle.api.attributes.Usage;
import org.gradle.api.file.FileCollection;
import org.gradle.api.internal.artifacts.dsl.LazyPublishArtifact;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.plugins.ApplicationPlugin;
import org.gradle.api.plugins.BasePlugin;
@ -132,8 +131,7 @@ final class JavaPluginAction implements PluginApplicationAction { @@ -132,8 +131,7 @@ final class JavaPluginAction implements PluginApplicationAction {
}
private void configureArtifactPublication(TaskProvider<BootJar> bootJar) {
LazyPublishArtifact artifact = new LazyPublishArtifact(bootJar);
this.singlePublishedArtifact.addJarCandidate(artifact);
this.singlePublishedArtifact.addJarCandidate(bootJar);
}
private void configureBootRunTask(Project project) {

29
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SinglePublishedArtifact.java

@ -17,9 +17,16 @@ @@ -17,9 +17,16 @@
package org.springframework.boot.gradle.plugin;
import org.gradle.api.Buildable;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.PublishArtifact;
import org.gradle.api.artifacts.PublishArtifactSet;
import org.gradle.api.artifacts.dsl.ArtifactHandler;
import org.gradle.api.tasks.TaskDependency;
import org.gradle.api.tasks.TaskProvider;
import org.gradle.api.tasks.bundling.Jar;
import org.springframework.boot.gradle.tasks.bundling.BootJar;
import org.springframework.boot.gradle.tasks.bundling.BootWar;
/**
* A wrapper for a {@link PublishArtifactSet} that ensures that only a single artifact is
@ -30,33 +37,35 @@ import org.gradle.api.tasks.TaskDependency; @@ -30,33 +37,35 @@ import org.gradle.api.tasks.TaskDependency;
*/
final class SinglePublishedArtifact implements Buildable {
private final PublishArtifactSet artifacts;
private final Configuration configuration;
private final ArtifactHandler handler;
private PublishArtifact currentArtifact;
SinglePublishedArtifact(PublishArtifactSet artifacts) {
this.artifacts = artifacts;
SinglePublishedArtifact(Configuration configuration, ArtifactHandler handler) {
this.configuration = configuration;
this.handler = handler;
}
void addWarCandidate(PublishArtifact candidate) {
void addWarCandidate(TaskProvider<BootWar> candidate) {
add(candidate);
}
void addJarCandidate(PublishArtifact candidate) {
void addJarCandidate(TaskProvider<BootJar> candidate) {
if (this.currentArtifact == null) {
add(candidate);
}
}
private void add(PublishArtifact artifact) {
this.artifacts.remove(this.currentArtifact);
this.artifacts.add(artifact);
this.currentArtifact = artifact;
private void add(TaskProvider<? extends Jar> artifact) {
this.configuration.getArtifacts().remove(this.currentArtifact);
this.currentArtifact = this.handler.add(this.configuration.getName(), artifact);
}
@Override
public TaskDependency getBuildDependencies() {
return this.artifacts.getBuildDependencies();
return this.configuration.getArtifacts().getBuildDependencies();
}
}

3
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java

@ -116,7 +116,8 @@ public class SpringBootPlugin implements Plugin<Project> { @@ -116,7 +116,8 @@ public class SpringBootPlugin implements Plugin<Project> {
}
private void registerPluginActions(Project project, Configuration bootArchives) {
SinglePublishedArtifact singlePublishedArtifact = new SinglePublishedArtifact(bootArchives.getArtifacts());
SinglePublishedArtifact singlePublishedArtifact = new SinglePublishedArtifact(bootArchives,
project.getArtifacts());
@SuppressWarnings("deprecation")
List<PluginApplicationAction> actions = Arrays.asList(new JavaPluginAction(singlePublishedArtifact),
new WarPluginAction(singlePublishedArtifact), new MavenPluginAction(bootArchives.getUploadTaskName()),

4
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/WarPluginAction.java

@ -24,7 +24,6 @@ import org.gradle.api.Project; @@ -24,7 +24,6 @@ import org.gradle.api.Project;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.file.FileCollection;
import org.gradle.api.internal.artifacts.dsl.LazyPublishArtifact;
import org.gradle.api.plugins.BasePlugin;
import org.gradle.api.plugins.WarPlugin;
import org.gradle.api.provider.Provider;
@ -107,8 +106,7 @@ class WarPluginAction implements PluginApplicationAction { @@ -107,8 +106,7 @@ class WarPluginAction implements PluginApplicationAction {
}
private void configureArtifactPublication(TaskProvider<BootWar> bootWar) {
LazyPublishArtifact artifact = new LazyPublishArtifact(bootWar);
this.singlePublishedArtifact.addWarCandidate(artifact);
this.singlePublishedArtifact.addWarCandidate(bootWar);
}
}

Loading…
Cancel
Save