outputJar.getParentFile().mkdirs(); if (!transformInvocation.isIncremental() || inputJar.getStatus() != Status.REMOVED) { FileUtils.copyFile(inputJar.getFile(), outputJar);
private static boolean hasChangedInputs(Collection<TransformInput> inputs) { for (TransformInput input : inputs) { for (DirectoryInput directoryInput : input.getDirectoryInputs()) { if (!directoryInput.getChangedFiles().isEmpty()) { return true; } } for (JarInput jarInput : input.getJarInputs()) { if (jarInput.getStatus() != Status.NOTCHANGED) { return true; } } } return false; } }
private ClassWalker.Visitor.Factory asFactory(AnnotationCollector collector) { return (incremental, content) -> { if (incremental && content instanceof JarInput) { JarInput j = (JarInput) content; if (j.getStatus() == Status.REMOVED) { graph.onJarRemoved(j.getName()); return null; } else if (j.getStatus() == Status.CHANGED) { graph.onJarRemoved(j.getName()); } } return new NamedVisitor(content.getName(), collector); }; }
private static boolean isIncrementalRun( boolean isIncremental, @NonNull Collection<TransformInput> referencedInputs) { if (!isIncremental) { return false; } for (TransformInput referencedInput : referencedInputs) { for (JarInput jarInput : referencedInput.getJarInputs()) { if (jarInput.getStatus() != Status.NOTCHANGED) { return false; } } for (DirectoryInput directoryInput : referencedInput.getDirectoryInputs()) { if (!directoryInput.getChangedFiles().isEmpty()) { return false; } } } return true; }
})); inputs.forEach(input -> input.getJarInputs().forEach(jarInput -> { switch (jarInput.getStatus()) { case ADDED: case CHANGED:
switch (jarInput.getStatus()) { case NOTCHANGED: if (isIncremental) {
switch (jarInput.getStatus()) { case NOTCHANGED: break;
}); } else { switch (jarInput.getStatus()) { case CHANGED: executor.execute(() -> {