Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert the zinc 1.0.0-X7 upgrade #4510

Merged

Conversation

stuhood
Copy link
Sponsor Member

@stuhood 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 merged commit 325771d into pantsbuild:master Apr 24, 2017
@stuhood stuhood deleted the stuhood/revert-zinc-1.0.0-X7-update branch April 24, 2017 20:25
lenucksi pushed a commit to lenucksi/pants that referenced this pull request Apr 25, 2017
### Problem

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

### Solution

This reverts pantsbuild#4419 until after the `1.3.0` stable branch has been cut. It should be re-landed immediately afterward.
thesamet pushed a commit to thesamet/pants that referenced this pull request May 9, 2017
### Problem

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

### Solution

This reverts pantsbuild#4419 until after the `1.3.0` stable branch has been cut. It should be re-landed immediately afterward.
stuhood pushed a commit that referenced this pull request Jul 18, 2017
### 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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants