-
Notifications
You must be signed in to change notification settings - Fork 14
Closed
Description
This is an epic to track various build pipelining related tasks. This means that in a multi-project builds, a downstream subproject could be compiled immediately after its upstream subprojects have finished typechecking (more precisely, have finished the "pickler" phase), rather waiting for the back end of the the compiler to produce .class
files.
infrastructure
The following provides infrastructure to support build pipelining (build tools must support it too).
- Experimental support for build pipelining (Experimental support for build pipelining [ci: last-only] scala#7712)
ClassfileParser
is extended to support .sig files, containing just the Scala Pickle (which is usually parsed from the argument of a class file annotation). - Experimental support for outline type checking (Experimental support for outline type checking scala#8077) First, we compile all sources with
-Youtline -Ystop-after:pickler
. The first option disables typechecking of the RHS of definitions that have ascribed types. The pickles are then exported and made available to downstream compilation, as is also the case with thestrategy=Pipeline
. The sources for the current projects are then compiled in parallel in chunks, also using the exported pickles on the classpath.
julienrf, izhangzhihao and olafurpg
Metadata
Metadata
Assignees
Labels
No labels