in src/main/java/org/apache/maven/ant/tasks/DependencyFilesetsTask.java [53:88]
public void execute() {
if (this.getProject().getReference(mavenProjectId) == null) {
throw new BuildException("Maven project reference not found: " + mavenProjectId);
}
MavenProject mavenProject = this.getProject().getReference("maven.project");
// Add filesets for depenedency artifacts
Set<Artifact> depArtifacts = filterArtifacts(mavenProject.getArtifacts());
FileSet dependenciesFileSet = new FileSet();
dependenciesFileSet.setProject(getProject());
ArtifactRepository localRepository = getProject().getReference("maven.local.repository");
dependenciesFileSet.setDir(new File(localRepository.getBasedir()));
if (depArtifacts.isEmpty()) {
// For performance reasons in case of huge local repo, tell Ant to include a single thing, otherwise the
// whole directory is scanned (even though ** is excluded).
dependenciesFileSet.createInclude().setName(".");
dependenciesFileSet.createExclude().setName("**");
}
for (Artifact artifact : depArtifacts) {
String relativeArtifactPath = localRepository.pathOf(artifact);
dependenciesFileSet.createInclude().setName(relativeArtifactPath);
String fileSetName = getPrefix() + artifact.getDependencyConflictId();
FileSet singleArtifactFileSet = new FileSet();
singleArtifactFileSet.setProject(getProject());
singleArtifactFileSet.setFile(artifact.getFile());
getProject().addReference(fileSetName, singleArtifactFileSet);
}
getProject().addReference((getPrefix() + getProjectDependenciesId()), dependenciesFileSet);
}