private static void print(PrintWriter out, String prefix, DependencySpec spec, FastCopyHashSet<String> visited, final boolean last, final File... roots) { if (spec instanceof ModuleDependencySpec) { final ModuleDependencySpec moduleDependencySpec = (ModuleDependencySpec) spec; final String name = moduleDependencySpec.getName(); out.print(prefix); out.print(last ? '└' : '├'); out.print('─'); out.print(' '); out.print(name); if (moduleDependencySpec.isOptional()) { out.print(" (optional)"); } final PathFilter exportFilter = moduleDependencySpec.getExportFilter(); if (! exportFilter.equals(PathFilters.rejectAll())) { out.print(" (exported)"); } if (visited.add(name)) { print(out, prefix + (last ? " " : "│ "), name, visited, roots); } else { out.println(); } } }
private static void print(PrintWriter out, String prefix, DependencySpec spec, FastCopyHashSet<ModuleIdentifier> visited, final boolean last, final File... roots) { if (spec instanceof ModuleDependencySpec) { final ModuleDependencySpec moduleDependencySpec = (ModuleDependencySpec) spec; final ModuleIdentifier identifier = moduleDependencySpec.getIdentifier(); out.print(prefix); out.print(last ? '└' : '├'); out.print('─'); out.print(' '); out.print(identifier); if (moduleDependencySpec.isOptional()) { out.print(" (optional)"); } final PathFilter exportFilter = moduleDependencySpec.getExportFilter(); if (! exportFilter.equals(PathFilters.rejectAll())) { out.print(" (exported)"); } if (visited.add(identifier)) { print(out, prefix + (last ? " " : "│ "), identifier, visited, roots); } else { out.println(); } } }