diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-12-30 18:21:07 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-12-30 18:22:33 -0800 |
commit | e84eff79f6f23b9a6518c74ba137ab4ce1347929 (patch) | |
tree | 789a53f70a4e6e1b20c9177cafd9f03d8c0ddc49 | |
parent | 282d9a667b69863fefbddb83ade4b9efbc98b994 (diff) | |
download | mill-e84eff79f6f23b9a6518c74ba137ab4ce1347929.tar.gz mill-e84eff79f6f23b9a6518c74ba137ab4ce1347929.tar.bz2 mill-e84eff79f6f23b9a6518c74ba137ab4ce1347929.zip |
some docs for the out/ folder
-rw-r--r-- | readme.md | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -130,6 +130,34 @@ Within each `Module` you can define 3 type of task: - `Task`: take arguments, output is not cached; do not run from `bash` (e.g. `def foo = T.task{...}` ) + +### Structure of the `out/` folder + +The `out/` folder is structured with one folder per `Target`/`Command`, that is +run, e.g.: + +- `out/Core/compile/` +- `out/Core/test/compile/` +- `out/Core/test/forkTest/` +- `out/ScalaPlugin/compile/` + +Each folder currently contains the following files: + +- `dest/`: a path for the `Task` to use either as a scratch space, or to place + generated files that are returned using `PathRef`s. `Task`s should only output + files within their given `dest/` folder (available as `T.ctx().dest`) to avoid + conflicting with other `Task`s, but files within `dest/` can be named + arbitrarily. + +- `log`: the `stdout`/`stderr` of the `Task`. This is streamed to the console + during evaluation, but you use `log` if you want to retrieve it later + +- `meta.json`: the cache-key and JSON-serialized return-value of the + `Target`/`Command`. The return-value can also be retrieved via `mill --show + Core.compile`. Binary blobs are typically not included in `meta.json`, and + instead stored as separate binary files in `dest/` which are then referenced + by `meta.json` via `PathRef`s + ### Self Hosting You can use SBT to build a Mill executable, which itself is able to build more |