Upgrade zinc's sbt dependency to 1.0.0: JVM portion

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

Peiyu Wang
3962, 4021
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)



  • 0
  • 1
  • 1
  • 2
Description From Last Updated
Peiyu Wang
Nick Howard (Twitter)
Stu Hood
Ity Kaul
Mateo Rodriguez
Peiyu Wang
Peiyu Wang
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted as 5dd58b845977bc6bce9b13b6e57006811a2443a7