in src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java [264:315]
Set<Artifact> resolveDependencyArtifacts(final DependencySet dependencySet)
throws InvalidAssemblerConfigurationException {
final Set<Artifact> dependencyArtifacts = new LinkedHashSet<>();
if (resolvedArtifacts != null) {
dependencyArtifacts.addAll(resolvedArtifacts);
}
if (dependencySet.isUseProjectArtifact()) {
final Artifact projectArtifact = project.getArtifact();
if ((projectArtifact != null) && (projectArtifact.getFile() != null)) {
dependencyArtifacts.add(projectArtifact);
} else {
LOGGER.warn("Cannot include project artifact: " + projectArtifact
+ "; it doesn't have an associated file or directory.");
}
}
if (dependencySet.isUseProjectAttachments()) {
final List<Artifact> attachments = project.getAttachedArtifacts();
if (attachments != null) {
for (final Artifact attachment : attachments) {
if (attachment.getFile() != null) {
dependencyArtifacts.add(attachment);
} else {
LOGGER.warn("Cannot include attached artifact: " + project.getId() + " for project: "
+ project.getId() + "; it doesn't have an associated file or directory.");
}
}
}
}
if (dependencySet.isUseTransitiveFiltering()) {
LOGGER.debug("Filtering dependency artifacts USING transitive dependency path information.");
} else {
LOGGER.debug("Filtering dependency artifacts WITHOUT transitive dependency path information.");
}
final ScopeFilter scopeFilter = FilterUtils.newScopeFilter(dependencySet.getScope());
final ArtifactFilter filter = new ArtifactIncludeFilterTransformer().transform(scopeFilter);
FilterUtils.filterArtifacts(
dependencyArtifacts,
dependencySet.getIncludes(),
dependencySet.getExcludes(),
dependencySet.isUseStrictFiltering(),
dependencySet.isUseTransitiveFiltering(),
LOGGER,
filter);
return dependencyArtifacts;
}