private void printDependencies()

in src/java/org/apache/ivy/ant/IvyDependencyTree.java [58:108]


    private void printDependencies(final ModuleRevisionId mrid, final List<IvyNode> dependencyList, final int indent,
                                   final Set<ModuleRevisionId> ancestors) {
        for (IvyNode dependency : dependencyList) {
            final Set<ModuleRevisionId> ancestorsForCurrentDep = new HashSet<>(ancestors);
            // previous ancestors plus the module to whom these dependencies belong to
            ancestorsForCurrentDep.add(mrid);
            final boolean evicted = dependency.isEvicted(getConf());
            if (evicted && !showEvicted) {
                continue;
            }
            final boolean isLastDependency = dependencyList.indexOf(dependency) == dependencyList.size() - 1;
            final StringBuilder sb = new StringBuilder();
            final ModuleRevisionId dependencyMrid = dependency.getId();
            final boolean circular = ancestorsForCurrentDep.contains(dependencyMrid);
            if (indent > 0) {
                for (int i = 0; i < indent; i++) {
                    if (i == indent - 1 && isLastDependency && !hasDependencies(dependency)) {
                        sb.append("   ");
                    } else {
                        sb.append("|  ");
                    }

                }
            }
            sb.append(isLastDependency ? "\\- " : "+- ");
            if (!evicted && circular) {
                // log and skip processing the (transitive) dependencies of this dependency
                sb.append("(circularly depends on) ").append(dependencyMrid);
                log(sb.toString());
                continue;
            } else {
                sb.append(dependencyMrid.toString());
            }
            if (evicted && showEvicted) {
                EvictionData evictedData = dependency.getEvictedData(getConf());
                if (evictedData.isTransitivelyEvicted()) {
                    sb.append(" transitively");
                } else {
                    sb.append(" evicted by ");
                    sb.append(evictedData.getSelected());
                    sb.append(" in ").append(evictedData.getParent());
                    if (evictedData.getDetail() != null) {
                        sb.append(" ").append(evictedData.getDetail());
                    }
                }
            }
            log(sb.toString());

            printDependencies(dependencyMrid, dependencies.get(dependencyMrid), indent + 1, ancestorsForCurrentDep);
        }
    }