@@ -9,10 +9,12 @@ vastly improve build times. However, to see these benefits, a project must first
99tiny packages and make use of fine-grained dependencies. This is not always a realistic short-term
1010goal for large, monorepo Scala projects.
1111
12- ` lucidsoftware/rules_scala ` allows for the optional use of Zinc incremental compilation to provide a
13- stepping stone for these projects as they migrate to Bazel. Although we've verified it to be correct
14- and determinisitc, we recommend leaving this disabled, as fine-grained and isolated targets are
15- more in-line with the [ Bazel philosophy] ( https://bazel.build/basics/hermeticity ) .
12+ ` lucidsoftware/rules_scala ` used to allow for the optional use of Zinc incremental compilation to
13+ provide a stepping stone for these projects as they migrate to Bazel. Although we still reuse code
14+ from Zinc and the compiler bridge, this ruleset no longer supports incremental compilation.
15+ Mitigating nondeterminism issues required introducing an enormous amount of complexity to the
16+ compilation worker, and we eventually discovered that supporting incremental compilation added
17+ substantial overhead to compilation times.
1618
1719` lucidsoftware/rules_scala ` is written with maintainability and accessibility in mind. It aims to
1820facilitate the transition to Bazel, and to satisfy use cases throughout the Scala ecosystem.
@@ -40,7 +42,6 @@ straightforward.
4042 * Errors on indirect and unused dependencies
4143 * Buildozer suggestions for dependency errors
4244* [ Optional Worker strategy] ( docs/scala.md#workers )
43- * [ Optional Zinc-based stateful incremental compilation] ( docs/stateful.md#stateful-compilation )
4445* [ Scalafmt] ( docs/scalafmt.md#scalafmt ) integration
4546* Protobuf support with ScalaPB
4647 * [ scala_proto_library] ( docs/stardoc/scala_proto.md#scala_proto_library )
@@ -49,7 +50,6 @@ straightforward.
4950* [ Customizable rules] ( docs/newdocs/phases.md#customizing-the-core-rules )
5051* [ Multiple Scala versions in one build] ( docs/newdocs/scala_versions.md#specifying-the-scala-version-to-use ) , including Scala 3 (Dotty).
5152* [ Optimal handling of macros and ijars] ( docs/newdocs/macros.md#macros-and-ijars )
52- * [ Pass flags to Zinc compiler] ( docs/newdocs/zinc_flags.md )
5353* Modern implementation using Bazel's most idiomatic APIs
5454
5555## Usage
0 commit comments