Upgrade zinc's sbt dependency to 1.0.0: JVM portion

Review Request #3658 - Created April 6, 2016 and updated

Information
Stu Hood
pants
2224, 3652
4064
Reviewers
pants-reviews
nhoward_tw, patricklaw, wisechengyi, zundel

This updates our zinc fork to use a more recent sbt version.

It has a buddy review containing the python portion of the upgrade here: https://rbcommons.com/s/twitter/r/4064/

  • Update for new sbt/zinc repo
  • 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?

The incremental compiler now lives in... get ready for it... https://github.com/sbt/zinc ! See https://github.com/sbt/zinc/issues/80 for details.

http://jenkins.pantsbuild.org/job/pantsbuild/job/pants/job/PR-3652/

manual integration testing with the python review

Stu Hood
Eric Ayers
Stu Hood
Stu Hood
Review request changed

Change Summary:

Dependency parsing now fixed: one TODO in AnalysisMap related to an old performance hack we had in place.

Summary:

-Upgrade zinc's sbt dependency
+Upgrade zinc's sbt dependency to 1.0.0: JVM portion

Description:

~  

In order to prepare to fix a bug found in Java analysis, this updates our zinc fork to use a more recent sbt version.

  ~

This updates our zinc fork to use a more recent sbt version.

   
~  
  • Update for new incrementalcompiler repo
  ~

It has a buddy review containing the python portion of the upgrade here: https://rbcommons.com/s/twitter/r/4064/

  +
  +
  • Update for new sbt/zinc repo
   
  • 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 zinc-cache-dir (which will be placed inside the pants cache directory in the review that incorporates this version)
~  
  • Rename sbt-interface to compiler-interface, and compiler-interface to compiler-bridge. Confused yet?
  ~
  • 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?
   
   

The incremental compiler now lives in... get ready for it... https://github.com/sbt/zinc ! See https://github.com/sbt/zinc/issues/80 for details.

Testing Done:

~  

manual integration testing with a python incorporation branch (soon to follow)

  ~

http://jenkins.pantsbuild.org/job/pantsbuild/job/pants/job/PR-3652/

  +
  +

manual integration testing with the python review

Bugs:

+2224, 3652

Diff:

Revision 2 (+290 -444)

Show changes

Eric Ayers

So, does that mean that we may be able to get rid of our fork of zinc if they accept all of our upstream patches? Or did they rename some other component to 'sbt/zinc' that is not the same as this code?

  1. It's not the same as this code. Their focus has been on the incremental compilation API, rather than on a daemon.

Eric Ayers
Ship It!
  1. Take my Ship It! to mean I am in support of this change. I am not well versed enough in scala / sbt internals to say technically this is the right way to do it.

Loading...