Vertispan / j2clmavenplugin

Maven plugin to launch new J2CL compilation
https://vertispan.github.io/j2clmavenplugin/
Apache License 2.0
53 stars 26 forks source link

Incremental draft #174

Open treblereel opened 2 years ago

treblereel commented 2 years ago

TODO: add details

treblereel commented 2 years ago

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