public boolean equals(Object o) { if (o instanceof RuntimeClasspathEntry) return getAbsolutePath().equals(((RuntimeClasspathEntry) o).getAbsolutePath()); return false; }
public static void processManifest(String inPath, List rtClasspath, Set processedPaths) { ArrayList paths = getManifestPaths(inPath); for (int i = 0; i < paths.size(); i++) { RuntimeClasspathEntry entry = (RuntimeClasspathEntry) paths.get(i); if (!processedPaths.contains(entry)) { processedPaths.add(entry); rtClasspath.add(entry); processManifest(entry.getAbsolutePath(), rtClasspath, processedPaths); } } }
protected void getDependencyClassPath(Set visitedArchives, List entries, Set processedEntries, Archive current) { RuntimeClasspathEntry[] local = ((ArchiveImpl) current).getDependencyClassPathAtThisLevel(); for (int i = 0; i < local.length; i++) { RuntimeClasspathEntry entry = local[i]; if (!processedEntries.contains(entry)) { entries.add(entry); processedEntries.add(entry); } Archive resolved = entry.getReferencedArchive(); if (resolved == null) ClasspathUtil.processManifest(entry.getAbsolutePath(), entries, processedEntries); else if (!visitedArchives.contains(resolved)) { visitedArchives.add(resolved); getDependencyClassPath(visitedArchives, entries, processedEntries, resolved); } } }