commit 5dd58b845977bc6bce9b13b6e57006811a2443a7 Author: Peiyu Wang Date: Tue Nov 8 23:35:46 2016 -0800 Upgrade zinc's sbt dependency to 1.0.0: JVM portion 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) Testing Done: https://travis-ci.org/peiyuwang/pants/builds/172980195 https://travis-ci.org/peiyuwang/pants/builds/174415697 Bugs closed: 3962, 4021 Reviewed at https://rbcommons.com/s/twitter/r/4340/ src/scala/org/pantsbuild/zinc/logging/Loggers.scala | 14 +++++++++++++- src/scala/org/pantsbuild/zinc/logging/Reporters.scala | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) commit 085bcace513f88d90cf5455736536ba52cb35079 Author: Stu Hood Date: Tue Aug 18 14:40:13 2015 -0700 Filter zinc compilation warnings at the Reporter level The existing impl did not include the severity in its match, so it's possible that errors could be filtered. - Only filter non-errors - Filter zinc compilation at the Reporter level, rather than in the logger - Split between message filters and filename filters Testing Done: Used: ./pants --config-override=pants.ini.isolated publish.jar --no-dryrun --local=~/.m2/repository --named-snapshot=$USER-`date +%s` src/scala/org/pantsbuild/zinc:: ...to do a local publish, then tested that: ./pants --config-override=pants.ini.isolated compile testprojects/src/java/org/pantsbuild/testproject/dummies:: properly applied both `-msg-filter` and `-file-filter`. ---- Can add a pants integration test once this release goes out. Reviewed at https://rbcommons.com/s/twitter/r/2656/ .../org/pantsbuild/zinc/logging/Loggers.scala | 35 ++----------- .../org/pantsbuild/zinc/logging/Reporters.scala | 57 ++++++++++++++++++++++ 2 files changed, 61 insertions(+), 31 deletions(-) commit 98c86e0dcf65a9224b726b9b67d41e5f1ce0c253 Author: Stu Hood Date: Wed Jun 24 09:55:21 2015 -0700 Add log capture to isolated zinc compiles This change adds an optional debug log file to zinc, and includes it in the artifact cache to help determine the provenance of the classfiles and analysis in a cache entry. - Drop analysis manipulation code from zinc (can split this out into a separate change if need be) - Add the `capture-log` option to zinc - Split out named Regex and File loggers - Remove LoggerRaw in favor of writing directly to stdout - Add (admittedly limited) support for log capture in the isolated strategy with zinc - Log exception messages when jobs fail in the execution graph - Switch scala tests in the pants codebase from `specs1` (deprecated) to `scalatest` - Add a unit test for compound logging Testing Done: first unit test for zinc, local testing https://github.com/pantsbuild/pants/pull/1721 Reviewed at https://rbcommons.com/s/twitter/r/2404/ .../org/pantsbuild/zinc/logging/Loggers.scala | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+)