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
Enable name hashing incremental compilation by default. #1546
Conversation
This commit changes the default value of `IncOptions.nameHashing` to be set to true. It means, the improved incremental compilation algorithm known as "name hashing" will be enabled by default. In order to disable it, users should add this to their sbt configuration: incOptions := incOptions.value.withNameHashing(false) Number of tests has been cleaned up as part of this change. All tests that were marked as name hashing specific are removed. The list includes: * constants-name-hashing * import-class-name-hashing * java-static-name-hashing * macro-name-hashing * struct-name-hashing We'll keep just regular version of those tests. The tests will just exercise the default algorithm: name hashing. This is the first step towards phasing out of the old incremental compilation algorithm. Apart from that, a few tests changed its status due to enabling name hashing algorithm. The `constants` test has been marked pending due to issue described in sbt#1543. The `import-class` test has been marked as passing because name hashing tracks dependencies introduced by import statements correctly, now. The `macro` test has been marked as pending due to issue described in sbt#1544. The `struct` test has been marked as pending due to issue described in sbt#1545. The `java-static` has been slightly modified to exercise just static field and not run into the same issue as with `constants` test. There are no other known issues related to name hashing so we conclude that name hashing is ready to be shipped to all sbt, Scala IDE and zinc users.
Review by @eed3si9n I hope we can still merge this into 0.13.6. However, I won't mind merging it into some other release if you decide I'm late to the game. |
Can one of the admins verify this patch? |
Enable name hashing incremental compilation by default.
Let's do it! |
@gkossakowski I hit the merge button too quickly.
|
Name hashing is now turned on by default, so I’m changing the value for inc.Relations.empty, so inc.Analysis.empty functions as expected when it’s joined with name hashing analyses.
Sorry for missing those tests. I thought that only |
This commit changes the default value of
IncOptions.nameHashing
to be set to true. It means, the improved incremental compilation algorithm known as "name hashing" will be enabled by default.In order to disable it, users should add this to their sbt configuration:
Number of tests has been cleaned up as part of this change. All tests that were marked as name hashing specific are removed. The list includes:
We'll keep just regular version of those tests. The tests will just exercise the default algorithm: name hashing. This is the first step towards phasing out of the old incremental compilation algorithm.
Apart from that, a few tests changed its status due to enabling name hashing algorithm.
The
constants
test has been marked pending due to issue described in #1543.The
import-class
test has been marked as passing because name hashing tracks dependencies introduced by import statements correctly, now.The
macro
test has been marked as pending due to issue described in #1544.The
struct
test has been marked as pending due to issue described in #1545.The
java-static
has been slightly modified to exercise just static field and not run into the same issue as withconstants
test.There are no other known issues related to name hashing so we conclude that name hashing is ready to be enabled by default for all sbt, Scala IDE and zinc users.