/** * Iterate over the containers and get the files they represent * * @param files * @throws Exception */ public boolean contributeFiles(List<File> files, Processor reporter) throws Exception { switch (type) { case EXTERNAL: case REPO: for (File f : getBundleClasspathFiles()) { files.add(f); } return true; case PROJECT: File[] fs = project.build(); reporter.getInfo(project); if (fs == null) return false; for (File f : fs) files.add(f); return true; case LIBRARY: List<Container> containers = getMembers(); for (Container container : containers) { if (!container.contributeFiles(files, reporter)) return false; } return true; case ERROR: reporter.error("%s", error); return false; } return false; }