final List<AtomicReference<Exception>> exceptions = new ArrayList<AtomicReference<Exception>>(); final CountDownLatch cdl = new CountDownLatch(manifest .getProcessDescriptions().size()); try { for (final ProcessDescription processDescription : manifest .getProcessDescriptions()) { exceptions.add(executeProcessAsyncron(cdl, manifest, processDescription, vfs, targetDir, resolver, version));
FileUtils.copyFile(new File(base, includedFile), target); for (final ProcessDescription pd : manifest.getProcessDescriptions()) { final File target = new File(temp, pd.getInputFile()); target.getParentFile().mkdirs();
private void writeResults(final VFS vfs, final File outputDir, final Manifest manifest) throws IOException { if (!GlobalOptions.isOutOnly(manifest)) { vfs.exportFS(outputDir); } for (final ProcessDescription processDescription : manifest .getProcessDescriptions()) { if (processDescription.getOutputFile() != null) { FileUtils .writeStringToFile( new File(outputDir, processDescription.getOutputFile()), VFSUtils.readToString(vfs.find(processDescription .getOutputFile()))); } } }
/** * @param configFile * @return Returns the created {@link Manifest} */ public static Manifest fromConfigFile(final ConfigFile configFile) { final Manifest manifest = new Manifest(); for (final Environment env : configFile.getEnvironments().values()) { final ProcessDescription processDescription = new ProcessDescription(); if (env.getPipeline() != null) { processDescription.setInputFile(env.getProcessors() .get(env.getPipeline()[0]).getSrc()); } if (env.getProcess() != null) { processDescription.setOutputFile(env.getProcess()); } if (env.getPipeline() != null) { for (final String name : env.getPipeline()) { final de.matrixweb.smaller.common.ProcessDescription.Processor processor = new de.matrixweb.smaller.common.ProcessDescription.Processor(); processor.setName(name); final Processor p = env.getProcessors().get(name); if (p != null) { processor.getOptions().putAll(p.getPlainOptions()); } processDescription.getProcessors().add(processor); } } manifest.getProcessDescriptions().add(processDescription); } return manifest; }