outputJar.getParentFile().mkdirs(); if (!transformInvocation.isIncremental() || inputJar.getStatus() != Status.REMOVED) { FileUtils.copyFile(inputJar.getFile(), outputJar); if (transformInvocation.isIncremental()) {
@Override public void transform(@NonNull TransformInvocation transformInvocation) throws TransformException, InterruptedException, IOException { Collection<TransformInput> inputs = transformInvocation.getReferencedInputs(); //noinspection ResultOfMethodCallIgnored outFolder.mkdirs(); if (transformInvocation.isIncremental()) { incrementalUpdate(inputs); } else { fullCopy(inputs); } }
@Override public void transform(@NonNull TransformInvocation transformInvocation) throws TransformException, InterruptedException, IOException { // This task will not be invoked on the initial assemble build. For subsequent instant run // build, we want to fail the verifier if anything changed. (Native libraries are // treated as Java resources in the plugin) if (!transformInvocation.isIncremental() || hasChangedInputs(transformInvocation.getReferencedInputs())) { buildContext.setVerifierStatus(failureStatus); } }
@Override public void transform(TransformInvocation invocation) throws TransformException, InterruptedException, IOException { long startMs = System.currentTimeMillis(); LOGGER.lifecycle("Start capt transform for '{}', incremental: {}", invocation.getContext().getVariantName(), invocation.isIncremental()); variantManager.getVariantScope(invocation.getContext().getVariantName()) .doTransform(invocation); LOGGER.lifecycle("End capt transform, cost: {}ms", (System.currentTimeMillis() - startMs)); }
@Override public void transform(@NonNull TransformInvocation invocation) throws IOException, TransformException, InterruptedException { if (invocation.getReferencedInputs().isEmpty()) { throw new RuntimeException("Empty list of referenced inputs"); } try { variantScope.getInstantRunBuildContext().startRecording( InstantRunBuildContext.TaskType.VERIFIER); doTransform(invocation.getReferencedInputs(), invocation.isIncremental()); } finally { variantScope.getInstantRunBuildContext().stopRecording( InstantRunBuildContext.TaskType.VERIFIER); } }
@Override public void transform(TransformInvocation transformInvocation) throws TransformException, InterruptedException, IOException { try { if (!transformInvocation.isIncremental()) { transformInvocation.getOutputProvider().deleteAll(); if (transformInvocation.isIncremental()) { changedFiles = directoryInput.getChangedFiles().entrySet(); } else {
boolean incremental = invocation.isIncremental() && prePlugins.keySet().containsAll(plugins.keySet()); if (incremental != invocation.isIncremental()) { LOGGER.lifecycle("Found new plugin applied, turn into full mode");
if (transformInvocation.isIncremental() && !anyChangeOfInterest) { return;
@Override public void transform(@NonNull TransformInvocation invocation) throws IOException, TransformException, InterruptedException { TransformOutputProvider output = invocation.getOutputProvider(); Collection<TransformInput> referencedInputs = invocation.getReferencedInputs(); checkNotNull(output, "Missing output object for transform " + getName()); if (isIncrementalRun(invocation.isIncremental(), referencedInputs)) { incrementalRun(invocation.getInputs(), referencedInputs, output); } else { fullRun(invocation.getInputs(), referencedInputs, output); } }
if (transformInvocation.isIncremental()) { for (TransformInput transformInput : transformInvocation.getInputs()) { for (JarInput jarInput : transformInput.getJarInputs()) {
@Override public void transform(@NonNull TransformInvocation invocation) throws IOException, TransformException, InterruptedException { checkNotNull(invocation.getOutputProvider(), "Missing output object for transform " + getName()); File outputDir = invocation.getOutputProvider().getContentLocation( "main", getOutputTypes(), getScopes(), Format.DIRECTORY); FileUtils.mkdirs(outputDir); TransformInput input = Iterables.getOnlyElement(invocation.getInputs()); // we don't want jar inputs. Preconditions.checkState(input.getJarInputs().isEmpty()); DirectoryInput directoryInput = Iterables.getOnlyElement(input.getDirectoryInputs()); File inputDir = directoryInput.getFile(); Instrumenter instrumenter = new Instrumenter(new OfflineInstrumentationAccessGenerator()); if (invocation.isIncremental()) { instrumentFilesIncremental(instrumenter, inputDir, outputDir, directoryInput.getChangedFiles()); } else { instrumentFilesFullRun(instrumenter, inputDir, outputDir); } }
return; if (transformInvocation.isIncremental()) { throw new UnsupportedOperationException("Unsupported incremental build!");
@Override public void transform(@NonNull TransformInvocation transformInvocation) throws IOException, TransformException, InterruptedException { TransformOutputProvider outputProvider = transformInvocation.getOutputProvider(); boolean isIncremental = transformInvocation.isIncremental(); Collection<TransformInput> inputs = transformInvocation.getInputs(); if (outputProvider == null) { logger.error(null /* throwable */, "null TransformOutputProvider for InstantRunSlicer"); return; } Slices slices = new Slices(); if (isIncremental) { processCodeChanges(inputs, outputProvider, slices); } else { slice(inputs, outputProvider, slices); } }
checkNotNull(outputProvider, "Missing output object for transform " + getName()); boolean isIncremental = transformInvocation.isIncremental();
if (!invocation.isIncremental()) { outputProvider.deleteAll(); Format.JAR); if (invocation.isIncremental()) { switch (jarInput.getStatus()) { case NOTCHANGED: di.getScopes(), Format.DIRECTORY); if (invocation.isIncremental()) { for (Map.Entry<File, Status> entry : di.getChangedFiles().entrySet()) { File inputFile = entry.getKey();
if (!transformInvocation.isIncremental()) outputProvider.deleteAll();
if (invocation.isIncremental()) { for (Map.Entry<File, Status> entry : directoryInput.getChangedFiles().entrySet()) {
transformInvocation.getReferencedInputs(), transformInvocation.getOutputProvider(), transformInvocation.isIncremental());
throws IOException, TransformException, InterruptedException { TransformOutputProvider outputProvider = transformInvocation.getOutputProvider(); boolean isIncremental = transformInvocation.isIncremental(); checkNotNull(outputProvider, "Missing output object for transform " + getName());
if (invocation.isIncremental()) { internalCache.loadSync(manager.readPrePlugins());