/** * @param configFile * @return Returns a new {@link Manifest} * @deprecated Use {@link Manifest#fromConfigFile(ConfigFile)} instead */ @Deprecated public Manifest convertConfigFileToManifest(final ConfigFile configFile) { return Manifest.fromConfigFile(configFile); }
/** * @param manifest * @return Returns <code>true</code> if the <code>out-only</code> option for * the <code>output</code> processor is set to <code>true</code> or * <code>yes</code>. */ public static boolean isOutOnly(final Manifest manifest) { final Object value = manifest.getOptions().get("output:out-only"); return BooleanUtils.toBoolean(value != null ? value.toString() : "false"); }
/** * @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; }
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 manifest * @return Returns <code>true</code> if the <code>once</code> option for the * <code>source</code> processor is set to <code>true</code> or * <code>yes</code>. */ public static boolean isSourceOnce(final Manifest manifest) { final Object value = manifest.getOptions().get("source:once"); return BooleanUtils.toBoolean(value != null ? value.toString() : "false"); }
private Manifest writeManifest(final File temp, final ConfigFile configFile) throws ExecutionException { try { final Manifest manifest = Manifest.fromConfigFile(configFile); final File metaInf = new File(temp, "META-INF"); metaInf.mkdirs(); new ObjectMapper() .writeValue(new File(metaInf, "smaller.json"), manifest); return manifest; } catch (final IOException e) { throw new ExecutionException("Failed to write manifest", e); } }