@Deprecated private boolean validate(final Task task) { if (CollectionUtils.exists( CollectionUtils.getCardinalityMap( CollectionUtils.collect(Arrays.asList(task.getOut()), new Transformer() { @Override public Object transform(final Object input) { return FilenameUtils.getExtension(input.toString()); } })).values(), new Predicate() { @Override public boolean evaluate(final Object object) { return ((Integer) object).intValue() > 1; } })) { throw new SmallerException("Each output type must exist only once"); } final String[] processors = task.getProcessor().toLowerCase().split(","); boolean cssembedFound = false; for (final String processor : processors) { if (processor.equals("cssembed")) { cssembedFound = true; } else if (processor.equals("yuicompressor") && cssembedFound) { throw new SmallerException("yuiCompressor must run before cssembed"); } } return true; }
@Deprecated private List<ProcessorOptions> setupProcessors(final Version version, final Task task) { final List<ProcessorOptions> list = new ArrayList<Pipeline.ProcessorOptions>(); boolean hasJsMerger = false; boolean hasCssMerger = false; final String processors = task.getProcessor(); LOGGER.info("Building processor chain: {}", processors); for (final String name : processors.split(",")) { final Processor processor = this.processorFactory.getProcessor(name); if (processor != null) { hasJsMerger |= processor instanceof MergingProcessor && processor.supportsType(Type.JS); hasCssMerger |= processor instanceof MergingProcessor && processor.supportsType(Type.CSS); list.add(new ProcessorOptions(name, processor, addVersionToOptions( task.getOptionsFor(name), version))); } } // Since version 1.0.0 no implicit merger if (version == Version.UNDEFINED) { if (!hasJsMerger) { list.add(0, createTypeMerger(Type.JS)); } if (!hasCssMerger) { list.add(0, createTypeMerger(Type.CSS)); } } return list; }