-
-
Notifications
You must be signed in to change notification settings - Fork 286
Scala 2.12: incremental compilation broken when worker is enabled #305
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
Comments
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Oct 12, 2017
Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
Merged
johnynek
pushed a commit
that referenced
this issue
Oct 14, 2017
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule * Set -source 1.8 and -target 1.8 javac options This makes the code to compile again on my laptop. * Remove dropped args when calling java_common.create_provider The 031e73c restructured java_commmon rule and dropped both `transitive_compile_time_jars` and `transitive_runtime_jars` from that rule. Let's sync scala.bzl with that change. * Upgrade to Scala 2.12.3 * Switch to Scala nightly build with classpath caching fix Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See #251 (comment) for the details of the bug. * Crash jmh with an explanation why it doesn't work Link to an issue explaining the jmh failure is related to Java 8 and not directly caused by the Scala 2.12. * Upgrade the hash of the nightly build For mysterious reasons, the hash has changed for a build that should be unique. A sign that relying on nightly builds is risky. Yolo for now, though. * Revert "Switch to Scala nightly build with classpath caching fix" This reverts commit 55fd807. Switch back to 2.12.3 until 2.12.4 is released. This will make the testing easier for projects that rely on compiler plugins. * Disable jmh test See #295 for why it's failing. * Switch back to bazel maven mirror Not sure why I switched to the main one in the first place. * Revert "Switch back to bazel maven mirror" This reverts commit 4e266fc. It turns out, the bazel mirror is not great for us because it misses some artifacts: ERROR: /Users/gkk/stripe/rules_scala/twitter_scrooge/twitter_scrooge.bzl:46:3: no such package '@util_core//jar': Failed to fetch Maven dependency: Could not transfer artifact com.twitter:util-core_2.12:jar:6.45.0 from/to util_core (http://mirror.bazel.build/repo1.maven.org/maven2/): Forbidden (403) and referenced by '//external:io_bazel_rules_scala/dependency/thrift/util_core'. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to #305 * Disable the jmh test in test_run.sh The target is already commented out in BUILD file, but test_run.sh still tries to run it.
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Oct 17, 2017
Remove the YdisableFlatCpCaching workaround. The bug has been fixed in Scala 2.12. Fixes bazel-contrib#305
Merged
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Oct 18, 2017
Remove the YdisableFlatCpCaching workaround. The bug has been fixed in Scala 2.12. Fixes bazel-contrib#305
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Oct 18, 2017
The rules_scala ci detected that 2.12.4 doesn't fix bazel-contrib#305 so we keep the workaround for now.
nmurthy
pushed a commit
to zenreach/rules_scala
that referenced
this issue
Dec 18, 2017
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule * Set -source 1.8 and -target 1.8 javac options This makes the code to compile again on my laptop. * Remove dropped args when calling java_common.create_provider The 031e73c restructured java_commmon rule and dropped both `transitive_compile_time_jars` and `transitive_runtime_jars` from that rule. Let's sync scala.bzl with that change. * Upgrade to Scala 2.12.3 * Switch to Scala nightly build with classpath caching fix Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Crash jmh with an explanation why it doesn't work Link to an issue explaining the jmh failure is related to Java 8 and not directly caused by the Scala 2.12. * Upgrade the hash of the nightly build For mysterious reasons, the hash has changed for a build that should be unique. A sign that relying on nightly builds is risky. Yolo for now, though. * Revert "Switch to Scala nightly build with classpath caching fix" This reverts commit 55fd807. Switch back to 2.12.3 until 2.12.4 is released. This will make the testing easier for projects that rely on compiler plugins. * Disable jmh test See bazel-contrib#295 for why it's failing. * Switch back to bazel maven mirror Not sure why I switched to the main one in the first place. * Revert "Switch back to bazel maven mirror" This reverts commit 4e266fc. It turns out, the bazel mirror is not great for us because it misses some artifacts: ERROR: /Users/gkk/stripe/rules_scala/twitter_scrooge/twitter_scrooge.bzl:46:3: no such package '@util_core//jar': Failed to fetch Maven dependency: Could not transfer artifact com.twitter:util-core_2.12:jar:6.45.0 from/to util_core (http://mirror.bazel.build/repo1.maven.org/maven2/): Forbidden (403) and referenced by '//external:io_bazel_rules_scala/dependency/thrift/util_core'. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305 * Disable the jmh test in test_run.sh The target is already commented out in BUILD file, but test_run.sh still tries to run it.
nmurthy
pushed a commit
to zenreach/rules_scala
that referenced
this issue
Dec 18, 2017
The rules_scala ci detected that 2.12.4 doesn't fix bazel-contrib#305 so we keep the workaround for now.
hmemcpy
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
Jan 28, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule * Set -source 1.8 and -target 1.8 javac options This makes the code to compile again on my laptop. * Remove dropped args when calling java_common.create_provider The 031e73c restructured java_commmon rule and dropped both `transitive_compile_time_jars` and `transitive_runtime_jars` from that rule. Let's sync scala.bzl with that change. * Upgrade to Scala 2.12.3 * Switch to Scala nightly build with classpath caching fix Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Crash jmh with an explanation why it doesn't work Link to an issue explaining the jmh failure is related to Java 8 and not directly caused by the Scala 2.12. * Upgrade the hash of the nightly build For mysterious reasons, the hash has changed for a build that should be unique. A sign that relying on nightly builds is risky. Yolo for now, though. * Revert "Switch to Scala nightly build with classpath caching fix" This reverts commit 55fd807. Switch back to 2.12.3 until 2.12.4 is released. This will make the testing easier for projects that rely on compiler plugins. * Disable jmh test See bazel-contrib#295 for why it's failing. * Switch back to bazel maven mirror Not sure why I switched to the main one in the first place. * Revert "Switch back to bazel maven mirror" This reverts commit 4e266fc. It turns out, the bazel mirror is not great for us because it misses some artifacts: ERROR: /Users/gkk/stripe/rules_scala/twitter_scrooge/twitter_scrooge.bzl:46:3: no such package '@util_core//jar': Failed to fetch Maven dependency: Could not transfer artifact com.twitter:util-core_2.12:jar:6.45.0 from/to util_core (http://mirror.bazel.build/repo1.maven.org/maven2/): Forbidden (403) and referenced by '//external:io_bazel_rules_scala/dependency/thrift/util_core'. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305 * Disable the jmh test in test_run.sh The target is already commented out in BUILD file, but test_run.sh still tries to run it.
hmemcpy
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
Jan 28, 2018
The rules_scala ci detected that 2.12.4 doesn't fix bazel-contrib#305 so we keep the workaround for now.
hmemcpy
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
Jan 28, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule * Set -source 1.8 and -target 1.8 javac options This makes the code to compile again on my laptop. * Remove dropped args when calling java_common.create_provider The 031e73c restructured java_commmon rule and dropped both `transitive_compile_time_jars` and `transitive_runtime_jars` from that rule. Let's sync scala.bzl with that change. * Upgrade to Scala 2.12.3 * Switch to Scala nightly build with classpath caching fix Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Crash jmh with an explanation why it doesn't work Link to an issue explaining the jmh failure is related to Java 8 and not directly caused by the Scala 2.12. * Upgrade the hash of the nightly build For mysterious reasons, the hash has changed for a build that should be unique. A sign that relying on nightly builds is risky. Yolo for now, though. * Revert "Switch to Scala nightly build with classpath caching fix" This reverts commit 55fd807. Switch back to 2.12.3 until 2.12.4 is released. This will make the testing easier for projects that rely on compiler plugins. * Disable jmh test See bazel-contrib#295 for why it's failing. * Switch back to bazel maven mirror Not sure why I switched to the main one in the first place. * Revert "Switch back to bazel maven mirror" This reverts commit 4e266fc. It turns out, the bazel mirror is not great for us because it misses some artifacts: ERROR: /Users/gkk/stripe/rules_scala/twitter_scrooge/twitter_scrooge.bzl:46:3: no such package '@util_core//jar': Failed to fetch Maven dependency: Could not transfer artifact com.twitter:util-core_2.12:jar:6.45.0 from/to util_core (http://mirror.bazel.build/repo1.maven.org/maven2/): Forbidden (403) and referenced by '//external:io_bazel_rules_scala/dependency/thrift/util_core'. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305 * Disable the jmh test in test_run.sh The target is already commented out in BUILD file, but test_run.sh still tries to run it.
hmemcpy
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
Jan 28, 2018
The rules_scala ci detected that 2.12.4 doesn't fix bazel-contrib#305 so we keep the workaround for now.
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Apr 3, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Disable jmh test See bazel-contrib#295 for why it's failing. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Apr 3, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Disable jmh test See bazel-contrib#295 for why it's failing. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
natansil
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
Apr 15, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Disable jmh test See bazel-contrib#295 for why it's failing. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
gkk-stripe
added a commit
to gkk-stripe/rules_scala
that referenced
this issue
Apr 18, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Disable jmh test See bazel-contrib#295 for why it's failing. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
natansil
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
May 8, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Disable jmh test See bazel-contrib#295 for why it's failing. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
ittaiz
pushed a commit
to wix-incubator/rules_scala
that referenced
this issue
May 20, 2018
* Scala 2.12 updates Bump dependencies to versions that support Scala 2.12. * Fix incompatible scrooge api change. They swapped the logger interface and now there's a different went to silence the logging. * Add scalactic as a transitive dep of scalatest Newer versions of scalatest have scalactic as a dependency. Let bazel know about it and add its a transitive dep. * Add a missing dependency on util_core from scrooge rule Add a missing dependency on Twitter's util_core from scrooge rule Switch to a recent nightly build that has a fix for the flat classpath caching bug that is breaking bazel's incremental compilation when worker is enabled. See bazel-contrib#251 (comment) for the details of the bug. * Disable jmh test See bazel-contrib#295 for why it's failing. * Append YdisableFlatCpCaching to scalacopts by default Append the `YdisableFlatCpCaching` compiler option by default as a workaround to bazel-contrib#305
@gkk-stripe I remember you saying this issue still exists in 2.12.4, right? Preparing a new 2.12 cherry pick |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Scala 2.12.3 (and earlier versions of 2.12) breaks bazel's incremental compilation when worker is enabled.
This was discovered and troubleshooted here: #251 (comment)
I'm creating this issue to keep track of it and to have a reference I can use in code comments.
The incremental compilation is broken due to a bug is in the scalac's classpath caching that can be disabled with
-YdisableFlatCpCaching
passed to the compiler. The scala/scala#6064 has a fix for the caching logic. It's not part of an official release, though. 2.12.4 is planned to be out very soon: https://github.com/scala/scala/milestonesI verified that the fix is working so we need to wait for the 2.12.4 release to have this fixed.
The text was updated successfully, but these errors were encountered: