Upgrade zinc's sbt dependency to 1.0.0: JVM portion
Review Request #4340 — Created Nov. 3, 2016 and submitted
|benjyw, ity, mateor, nhoward_tw, stuhood, wisechengyi, zundel|
This review is based off Stu's unsubmitted previous effort: https://rbcommons.com/s/twitter/r/3658/
The python portion is in https://rbcommons.com/s/twitter/r/4342/
It has everything from rb/3658:
- Update for new sbt/zinc repo, that also includes a few fixes for us:
empty analysis https://github.com/sbt/zinc/issues/144
class file analysis trigger static initializers run https://github.com/sbt/zinc/issues/151
- Exclude the existing io/logging deps, and re-include them explicitly as forced (with the appropriate classifiers)
- Update all imports/dependencies to new locations
- Require an explicit -cache-dir (which will be placed inside the pants cache directory in the review that incorporates this * version)
- Remove the -name-hashing flag, as name hashing is required for the now-default class-based dependency tracking.
- Rename sbt-interface to compiler-interface, and compiler-interface to compiler-bridge. Confused yet?
Plus a few other changes:
- Analysis format recently changed to a zip with two entries. This review keeps the plain txt format pants parser uses. Long term we probably should switch to some internal format that's more stable and lighter weight.
- An option to turn off zinc provided file manager, see https://github.com/sbt/zinc/issues/185
- re-enable the optimization to check class existence from analysis (Significant performance impact, esp. for incremental compile)
I'm a little concerned about this and
If zinc cache dir isn't provided, can we always be sure that the exception below will be raised in a place that will halt the compile?
How would you feel about asserting this requirement in parse after all of the cmd line options have been added to the Settings instance?
Ship it, i.e. "I have read this and acknowledge its existence, while being somewhat ignorant of the details".
Thanks peiyu, I know you have spent a good amount of time on this.
Address review comments.contrib/scrooge/src/python/pants/contrib/scrooge/tasks/thrift_linter.py src/python/pants/bin/target_roots.py
changes are from running
Revision 2 (+338 -450)