use of org.gradle.internal.execution.OutputChangeListener in project gradle by gradle.
the class DependencyManagementBuildScopeServices method createExecutionEngine.
/**
* Execution engine for usage above Gradle scope
*
* Currently used for running artifact transformations in buildscript blocks.
*/
ExecutionEngine createExecutionEngine(BuildOperationExecutor buildOperationExecutor, CurrentBuildOperationRef currentBuildOperationRef, ClassLoaderHierarchyHasher classLoaderHierarchyHasher, Deleter deleter, ExecutionStateChangeDetector changeDetector, InputFingerprinter inputFingerprinter, ListenerManager listenerManager, OutputSnapshotter outputSnapshotter, OverlappingOutputDetector overlappingOutputDetector, TimeoutHandler timeoutHandler, ValidateStep.ValidationWarningRecorder validationWarningRecorder, VirtualFileSystem virtualFileSystem, DocumentationRegistry documentationRegistry) {
OutputChangeListener outputChangeListener = listenerManager.getBroadcaster(OutputChangeListener.class);
// TODO: Figure out how to get rid of origin scope id in snapshot outputs step
UniqueId fixedUniqueId = UniqueId.from("dhwwyv4tqrd43cbxmdsf24wquu");
// @formatter:off
return new DefaultExecutionEngine(documentationRegistry, new IdentifyStep<>(new IdentityCacheStep<>(new AssignWorkspaceStep<>(new LoadPreviousExecutionStateStep<>(new RemoveUntrackedExecutionStateStep<>(new CaptureStateBeforeExecutionStep<>(buildOperationExecutor, classLoaderHierarchyHasher, outputSnapshotter, overlappingOutputDetector, new ValidateStep<>(virtualFileSystem, validationWarningRecorder, new NoOpCachingStateStep<>(new ResolveChangesStep<>(changeDetector, new SkipUpToDateStep<>(new BroadcastChangingOutputsStep<>(outputChangeListener, new StoreExecutionStateStep<>(new CaptureStateAfterExecutionStep<>(buildOperationExecutor, fixedUniqueId, outputSnapshotter, new CreateOutputsStep<>(new TimeoutStep<>(timeoutHandler, currentBuildOperationRef, new ResolveInputChangesStep<>(new RemovePreviousOutputsStep<>(deleter, outputChangeListener, new ExecuteStep<>(buildOperationExecutor)))))))))))))))))));
// @formatter:on
}
use of org.gradle.internal.execution.OutputChangeListener in project gradle by gradle.
the class Jar method manifestFileTree.
private FileTreeInternal manifestFileTree() {
final Cached<ManifestInternal> manifest = Cached.of(this::computeManifest);
final OutputChangeListener outputChangeListener = outputChangeListener();
return fileCollectionFactory().generated(getTemporaryDirFactory(), "MANIFEST.MF", action(file -> outputChangeListener.beforeOutputChange(ImmutableList.of(file.getAbsolutePath()))), action(outputStream -> manifest.get().writeTo(outputStream)));
}
Aggregations