private void populateCollectRequest()

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));
            }
        }
    }