in src/main/java/org/apache/maven/resolver/internal/ant/AntRepoSys.java [608:704]
private void populateCollectRequest(
CollectRequest collectRequest,
Task task,
RepositorySystemSession session,
Dependencies dependencies,
List<Exclusion> exclusions) {
List<Exclusion> globalExclusions = exclusions;
if (!dependencies.getExclusions().isEmpty()) {
globalExclusions = new ArrayList<>(exclusions);
globalExclusions.addAll(dependencies.getExclusions());
}
final Collection<String> ids = new HashSet<>();
for (DependencyContainer container : dependencies.getDependencyContainers()) {
if (container instanceof Dependency) {
Dependency dep = (Dependency) container;
ids.add(dep.getVersionlessKey());
collectRequest.addDependency(ConverterUtils.toDependency(dep, globalExclusions, session));
} else {
populateCollectRequest(collectRequest, task, session, (Dependencies) container, globalExclusions);
}
}
if (dependencies.getPom() != null) {
Model model = dependencies.getPom().getModel(task);
if (model.getDependencyManagement() != null) {
for (org.apache.maven.model.Dependency manDep :
model.getDependencyManagement().getDependencies()) {
Dependency dependency = new Dependency();
dependency.setArtifactId(manDep.getArtifactId());
dependency.setClassifier(manDep.getClassifier());
dependency.setGroupId(manDep.getGroupId());
dependency.setScope(manDep.getScope());
dependency.setType(manDep.getType());
dependency.setVersion(manDep.getVersion());
if (manDep.getSystemPath() != null
&& !manDep.getSystemPath().isEmpty()) {
dependency.setSystemPath(task.getProject().resolveFile(manDep.getSystemPath()));
}
for (org.apache.maven.model.Exclusion exc : manDep.getExclusions()) {
Exclusion exclusion = new Exclusion();
exclusion.setGroupId(exc.getGroupId());
exclusion.setArtifactId(exc.getArtifactId());
exclusion.setClassifier("*");
exclusion.setExtension("*");
dependency.addExclusion(exclusion);
}
collectRequest.addManagedDependency(
ConverterUtils.toManagedDependency(dependency, globalExclusions, session));
}
}
for (org.apache.maven.model.Dependency dep : model.getDependencies()) {
Dependency dependency = new Dependency();
dependency.setArtifactId(dep.getArtifactId());
dependency.setClassifier(dep.getClassifier());
dependency.setGroupId(dep.getGroupId());
dependency.setScope(dep.getScope());
dependency.setType(dep.getType());
dependency.setVersion(dep.getVersion());
if (ids.contains(dependency.getVersionlessKey())) {
project.log(
"Ignoring dependency " + dependency.getVersionlessKey() + " from " + model.getId()
+ ", already declared locally",
Project.MSG_VERBOSE);
continue;
}
if (dep.getSystemPath() != null && !dep.getSystemPath().isEmpty()) {
dependency.setSystemPath(task.getProject().resolveFile(dep.getSystemPath()));
}
for (org.apache.maven.model.Exclusion exc : dep.getExclusions()) {
Exclusion exclusion = new Exclusion();
exclusion.setGroupId(exc.getGroupId());
exclusion.setArtifactId(exc.getArtifactId());
exclusion.setClassifier("*");
exclusion.setExtension("*");
dependency.addExclusion(exclusion);
}
collectRequest.addDependency(ConverterUtils.toDependency(dependency, globalExclusions, session));
}
}
if (dependencies.getFile() != null) {
List<Dependency> deps = readDependencies(dependencies.getFile());
for (Dependency dependency : deps) {
if (ids.contains(dependency.getVersionlessKey())) {
project.log(
"Ignoring dependency " + dependency.getVersionlessKey() + " from " + dependencies.getFile()
+ ", already declared locally",
Project.MSG_VERBOSE);
continue;
}
collectRequest.addDependency(ConverterUtils.toDependency(dependency, globalExclusions, session));
}
}
}