#execution-engine
Posts
-
Digging into Gradle's Source 10: The Execution Engine and Incremental Builds — How UP-TO-DATE Is Decided
How does the single word UP-TO-DATE on your console get decided in the source? We follow DefaultTaskNodeExecutor, which filters tasks before the engine, TaskExecution, which wraps a task as a unit of work, the execution engine built from twenty-five nested steps, ResolveChangesStep and SkipUpToDateStep, which compare the last execution record with the current state, the file fingerprints that @PathSensitive changes, the VFS that remembers file state between builds, and InputChanges, which hands a task only the files that changed — all checked against the source with examples we actually ran.