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
Compile avoidance should respect public constant changes #1476
Comments
To be clear, this happens independently of incremental compilation and only if the 2 classes are in different projects. |
The only workarounds are calling |
melix
added a commit
that referenced
this issue
Feb 28, 2017
This commit fixes the ABI extractor, which ignored the value of constants. This was bad because if a constant value changed, we wouldn't trigger recompilation of consumers (independently of incremental compilation). Since the compiler can inline those values, incremental compilation wouldn't catch the problem either. Fixes: #1476
Here's the tentative fix. It coincidentally fixes #1474 when used with JDK 8 (but not JDK 7). |
Fix looks good to me. |
melix
added a commit
that referenced
this issue
Mar 1, 2017
This commit fixes the ABI extractor, which ignored the value of constants. This was bad because if a constant value changed, we wouldn't trigger recompilation of consumers (independently of incremental compilation). Since the compiler can inline those values, incremental compilation wouldn't catch the problem either. Fixes: #1476
melix
added a commit
that referenced
this issue
Mar 2, 2017
This commit fixes the ABI extractor, which ignored the value of constants. This was bad because if a constant value changed, we wouldn't trigger recompilation of consumers (independently of incremental compilation). Since the compiler can inline those values, incremental compilation wouldn't catch the problem either. Fixes: #1476
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The API extractor used by the new
@CompileClasspath
snapshotter drops public constants, making incremental builds incorrect. This affects the following use case:When A.Foo is changed, B should be recompiled, but isn't, resulting in wrong results.
The text was updated successfully, but these errors were encountered: