Upgrade zinc's sbt dependency to 1.0.0: python portion

Review Request #4342 - Created Nov. 3, 2016 and submitted

Peiyu Wang
3962, 4042
benjyw, ity, mateor, nhoward_tw, stuhood, wisechengyi, zundel

This review is based off Stu's unsubmitted previous effort: https://rbcommons.com/s/twitter/r/4064

This review depends on its jvm portion https://rbcommons.com/s/twitter/r/4340

It has everything from rb/4064:

  • Deprecate the name-hashing flag: see buddy review.
  • Update zinc parser for new analysis headers.
  • Pass an explicit -cache-dir for zinc to compile the compiler-bridge into.
  • Bump implementation version of zinc to account for the analysis format change.
  • Don't iterate over source files while computing per-target deps.

Plus a few other changes:

  • A target flag zinc_file_manager to turn off zinc provided file manager, implementation is similar to fatal_warnings
  • Add a jmh test for the new zinc_file_manager target flag.
  • Fixed test_zinc_analysis, regenerated test data.

Known issues:

  • Unreported dependencies from indirect ancestors due to name hashing switch, will have to reconstruct in pants
  • Unreported dependencies from local anonymous classes https://github.com/sbt/zinc/issues/192
  • Performance: incremental compile in some cases shows significant slowdowns (50%-80%), will collect more stats, maybe memory pressure.

Will follow up the above issues



  • 0
  • 1
  • 1
  • 2
Description From Last Updated
Peiyu Wang
Peiyu Wang
Stu Hood
Peiyu Wang
Stu Hood
Peiyu Wang
Peiyu Wang
Stu Hood
Peiyu Wang
Peiyu Wang
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted as 0b03c97748a27d26f5284ce1c88ed1b41316ede6