Merge branch '2.4.x' into 2.5.x
Closes gh-27056
This commit is contained in:
@@ -76,7 +76,7 @@ public abstract class AbstractDependencyFilterMojo extends AbstractMojo {
|
||||
this.excludeGroupIds = excludeGroupIds;
|
||||
}
|
||||
|
||||
protected Set<Artifact> filterDependencies(Set<Artifact> dependencies, FilterArtifacts filters)
|
||||
protected final Set<Artifact> filterDependencies(Set<Artifact> dependencies, FilterArtifacts filters)
|
||||
throws MojoExecutionException {
|
||||
try {
|
||||
Set<Artifact> filtered = new LinkedHashSet<>(dependencies);
|
||||
|
||||
@@ -182,11 +182,9 @@ public abstract class AbstractPackagerMojo extends AbstractDependencyFilterMojo
|
||||
* @throws MojoExecutionException on execution error
|
||||
*/
|
||||
protected final Libraries getLibraries(Collection<Dependency> unpacks) throws MojoExecutionException {
|
||||
String packaging = this.project.getPackaging();
|
||||
Set<Artifact> projectArtifacts = this.project.getArtifacts();
|
||||
Set<Artifact> artifacts = ("war".equals(packaging)) ? projectArtifacts
|
||||
: filterDependencies(projectArtifacts, getFilters(getAdditionalFilters()));
|
||||
return new ArtifactsLibraries(artifacts, this.session.getProjects(), unpacks, getLog());
|
||||
Set<Artifact> artifacts = this.project.getArtifacts();
|
||||
Set<Artifact> includedArtifacts = filterDependencies(artifacts, getFilters(getAdditionalFilters()));
|
||||
return new ArtifactsLibraries(artifacts, includedArtifacts, this.session.getProjects(), unpacks, getLog());
|
||||
}
|
||||
|
||||
private ArtifactsFilter[] getAdditionalFilters() {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.boot.maven;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
@@ -59,6 +60,8 @@ public class ArtifactsLibraries implements Libraries {
|
||||
|
||||
private final Set<Artifact> artifacts;
|
||||
|
||||
private final Set<Artifact> includedArtifacts;
|
||||
|
||||
private final Collection<MavenProject> localProjects;
|
||||
|
||||
private final Collection<Dependency> unpacks;
|
||||
@@ -89,7 +92,23 @@ public class ArtifactsLibraries implements Libraries {
|
||||
*/
|
||||
public ArtifactsLibraries(Set<Artifact> artifacts, Collection<MavenProject> localProjects,
|
||||
Collection<Dependency> unpacks, Log log) {
|
||||
this(artifacts, artifacts, localProjects, unpacks, log);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@code ArtifactsLibraries} from the given {@code artifacts}.
|
||||
* @param artifacts all artifacts that can be represented as libraries
|
||||
* @param includedArtifacts the actual artifacts to include in the fat jar
|
||||
* @param localProjects projects for which {@link Library#isLocal() local} libraries
|
||||
* should be created
|
||||
* @param unpacks artifacts that should be unpacked on launch
|
||||
* @param log the log
|
||||
* @since 2.4.8
|
||||
*/
|
||||
public ArtifactsLibraries(Set<Artifact> artifacts, Set<Artifact> includedArtifacts,
|
||||
Collection<MavenProject> localProjects, Collection<Dependency> unpacks, Log log) {
|
||||
this.artifacts = artifacts;
|
||||
this.includedArtifacts = includedArtifacts;
|
||||
this.localProjects = localProjects;
|
||||
this.unpacks = unpacks;
|
||||
this.log = log;
|
||||
@@ -99,18 +118,22 @@ public class ArtifactsLibraries implements Libraries {
|
||||
public void doWithLibraries(LibraryCallback callback) throws IOException {
|
||||
Set<String> duplicates = getDuplicates(this.artifacts);
|
||||
for (Artifact artifact : this.artifacts) {
|
||||
String name = getFileName(artifact);
|
||||
File file = artifact.getFile();
|
||||
LibraryScope scope = SCOPES.get(artifact.getScope());
|
||||
if (scope != null && artifact.getFile() != null) {
|
||||
String name = getFileName(artifact);
|
||||
if (duplicates.contains(name)) {
|
||||
this.log.debug("Duplicate found: " + name);
|
||||
name = artifact.getGroupId() + "-" + name;
|
||||
this.log.debug("Renamed to: " + name);
|
||||
}
|
||||
LibraryCoordinates coordinates = new ArtifactLibraryCoordinates(artifact);
|
||||
callback.library(new Library(name, artifact.getFile(), scope, coordinates, isUnpackRequired(artifact),
|
||||
isLocal(artifact)));
|
||||
if (scope == null || file == null) {
|
||||
continue;
|
||||
}
|
||||
if (duplicates.contains(name)) {
|
||||
this.log.debug("Duplicate found: " + name);
|
||||
name = artifact.getGroupId() + "-" + name;
|
||||
this.log.debug("Renamed to: " + name);
|
||||
}
|
||||
LibraryCoordinates coordinates = new ArtifactLibraryCoordinates(artifact);
|
||||
boolean unpackRequired = isUnpackRequired(artifact);
|
||||
boolean local = isLocal(artifact);
|
||||
boolean included = this.includedArtifacts.contains(artifact);
|
||||
callback.library(new Library(name, file, scope, coordinates, unpackRequired, local, included));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -189,8 +189,8 @@ public class BuildImageMojo extends AbstractPackagerMojo {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the layout factory that will be used to determine the {@link LayoutType} if
|
||||
* no explicit layout is set.
|
||||
* Return the layout factory that will be used to determine the
|
||||
* {@link AbstractPackagerMojo.LayoutType} if no explicit layout is set.
|
||||
* @return the value of the {@code layoutFactory} parameter, or {@code null} if the
|
||||
* parameter is not provided
|
||||
*/
|
||||
|
||||
@@ -183,8 +183,8 @@ public class RepackageMojo extends AbstractPackagerMojo {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the layout factory that will be used to determine the {@link LayoutType} if
|
||||
* no explicit layout is set.
|
||||
* Return the layout factory that will be used to determine the
|
||||
* {@link AbstractPackagerMojo.LayoutType} if no explicit layout is set.
|
||||
* @return the value of the {@code layoutFactory} parameter, or {@code null} if the
|
||||
* parameter is not provided
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user