sbt/project
Eugene Yokota 002f97cae7 Build pipelining
Ref https://github.com/sbt/zinc/pull/744

This implements `ThisBuild / usePipelining`, which configures subproject pipelining available from Zinc 1.4.0.

The basic idea is to start subproject compilation as soon as pickle JARs (early output) becomes available. This is in part enabled by Scala compiler's new flags `-Ypickle-java` and `-Ypickle-write`.

The other part of magic is the use of `Def.promise`:

```
earlyOutputPing := Def.promise[Boolean],
```

This notifies `compileEarly` task, which to the rest of the tasks would look like a normal task but in fact it is promise-blocked. In other words, without calling full `compile` task together, `compileEarly` will never return, forever waiting for the `earlyOutputPing`.
2020-08-06 02:31:01 -04:00
..
ContrabandConfig.scala Adjust to upstream changes 2017-07-16 00:51:49 -04:00
Dependencies.scala Build pipelining 2020-08-06 02:31:01 -04:00
Docs.scala Cleanup project/Transform.scala 2019-11-28 21:25:49 +00:00
HouseRulesPlugin.scala in-source sbt-houserules 2019-10-20 00:41:53 -04:00
NightlyPlugin.scala Remove lint warnings in sbt build 2020-07-27 09:37:53 -07:00
PublishBinPlugin.scala Make publishLocalBin work without prior publishLocal 2020-01-18 16:11:37 -08:00
Release.scala Run scalafmtSbt 2019-11-30 14:57:57 -08:00
SbtLauncherPlugin.scala Run scalafmtSbt 2019-11-30 14:57:57 -08:00
Scripted.scala Use Array to talk to proper build 2020-03-18 16:28:51 -04:00
StatusPlugin.scala Run scalafmtSbt 2019-11-30 14:57:57 -08:00
Transform.scala Run scalafmtSbt 2019-11-30 14:57:57 -08:00
Util.scala Run scalafmtSbt 2019-11-30 14:57:57 -08:00
build.properties Add multi-client ui to server 2020-06-24 19:40:17 -07:00
flamegraph_svg.png document profiling tools 2018-04-04 01:29:56 -04:00
plugins.sbt Bump javafmt plugin version 2020-06-24 11:24:15 -07:00