Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incremental draft #174

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

Conversation

treblereel
Copy link
Collaborator

TODO: add details

@treblereel treblereel marked this pull request as draft June 10, 2022 21:00
TaskOutput output = makeOutput(successfulResult.taskDir);
this.lastSuccessfulTaskDir.put(input, successfulResult.taskDir);
this.knownOutputs.put(successfulResult.taskDir, output);
if (input.getOutputType().equals(OutputTypes.TRANSPILED_JS)) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hard coded this here, as a hack. imho the writeFilesDat should be in it's own leaf task, only called once all other tasks are done.

mdproctor and others added 4 commits August 17, 2022 12:35
…afe.

-files.dat now preserves the last task directory output too. This is necessary for incremental no restart.
-files.dat write no longer requires a BuildMap.
-removed BuildService argument from Input consructor.

(cherry picked from commit ecf85bc)
@treblereel
Copy link
Collaborator Author

Added hash-based processing of changed files to avoid reprocessing of unchanged files. Hash is computed from the file's
non-private members (fields and methods) at this moment. This is not a perfect solution as it does not take
extends and implements into account, but it's a good start. So during the change detection phase, we compute the hash
of each changed file and compare it to the hash of the file in .build.map. If the hashes are the same, we skip deps.

I also moved .build.map file writing from Turbine to Bytecode task, because javassist allows us to get the full list
of references for the class, which is what we need to compute the deps set.

@mdproctor
@niloc132

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants