Revert the zinc `1.0.0-X7` upgrade #4510

Merged
merged 1 commit into from Apr 24, 2017

Conversation

Projects
None yet
2 participants
@stuhood
Member

stuhood commented Apr 24, 2017

Problem

The zinc 1.0.0-X7 upgrade resulted in a few issues, including complete target invalidation (#4477), and some unconfirmed assertion failures from within zinc.

Solution

This reverts #4419 until after the 1.3.0 stable branch has been cut. It should be re-landed immediately afterward.

@stuhood stuhood requested review from baroquebobcat and peiyuwang Apr 24, 2017

@stuhood stuhood merged commit 325771d into pantsbuild:master Apr 24, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@stuhood stuhood deleted the twitter:stuhood/revert-zinc-1.0.0-X7-update branch Apr 24, 2017

lenucksi added a commit to lenucksi/pants that referenced this pull request Apr 25, 2017

Revert the zinc `1.0.0-X7` upgrade (#4510)
### Problem

The zinc 1.0.0-X7 upgrade resulted in a few issues, including complete target invalidation (#4477), and some unconfirmed assertion failures from within zinc.

### Solution

This reverts #4419 until after the `1.3.0` stable branch has been cut. It should be re-landed immediately afterward.

thesamet added a commit to thesamet/pants that referenced this pull request May 9, 2017

Revert the zinc `1.0.0-X7` upgrade (#4510)
### Problem

The zinc 1.0.0-X7 upgrade resulted in a few issues, including complete target invalidation (#4477), and some unconfirmed assertion failures from within zinc.

### Solution

This reverts #4419 until after the `1.3.0` stable branch has been cut. It should be re-landed immediately afterward.

stuhood added a commit that referenced this pull request Jul 18, 2017

Zinc 1.0.0-X20 upgrade: JVM portion (#4728)
### Problem

Pants is on an older version of zinc (one that does not use class-based name-hashing), and the modern zinc project is moving quickly thanks to @jvican and others.

We had previously been on `X7` but it was reverted in #4510 because benchmarks showed that no incremental compilation was happening for scala code.

### Solution

* Upgrade to zinc `1.0.0-X20`
* Use the zinc `AnalysisMappers` API described on #4513 to make analysis files portable without parsing
* Extract options parsing out of the `Settings` object and into its own module, to allow for reuse in multiple binary entrypoints
* Refactor and split our zinc wrapper into `zinc-compiler` and `zinc-extractor` to support parsing the `product_deps_by_src` and `classes_by_source` products directly (in order to move toward making analysis a black box)
* Switch to usage of new builder-pattern APIs for constructing zinc objects
* Remove the `Loggers`/`Reporters` facades in favor of built in support for filtering log messages

### Result

The new version of the zinc wrapper correctly supports incremental compile (with the exception of sbt/zinc#355), and the python portions of pants no longer require any internal knowledge of zinc analysis. The python half of this change will remove that code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment