summaryrefslogtreecommitdiff
path: root/scalajslib/src
Commit message (Collapse)AuthorAgeFilesLines
* Consolidate `Cross` and `CrossModule`, eliminate now-unused ↵Li Haoyi2018-01-081-2/+1
| | | | `map`/`flatMap`/`filter` APIs
* Swap over to a new, concise `CrossModule[T](..cases)` macro syntax that ↵Li Haoyi2018-01-071-6/+4
| | | | automatically propagates the `ctx` for you
* Generate the `Segments` list at definition time rather than discovery time, ↵Li Haoyi2018-01-071-6/+11
| | | | | | | | by propagating implicits throughout the tree of nested `mill.Module`s This currently adds some annoying boilerplate to the definition of cross/abstract modules, which can probably be removed using Macros. The `Segments` mapping generated by discovery is still present and used in a few places, though it will be removed
* Rename `resource/` folders `resources/` to properly match SBT convention, ↵Li Haoyi2018-01-072-1/+1
| | | | making changes within them get picked up by the file-watching `~compile`/`~test` commands
* First pass at implicitly propagating a `def basePath: Path` up the `Module` ↵Li Haoyi2018-01-071-4/+4
| | | | | | | | hierarchy, which each module receives and extends. One constraint is that now must define your abstract modules as `trait`s rather than `class`es, or otherwise add an implicit `ctx: ModuleCtx` parameter to your class definition. So far this lets us remove some explicit `basePath` definitions in `build.sc`. Proper handling of `basePath` in `CrossModule`s is future work
* - Convert `T.source` into a generic `Target` that flushes the cache every timeLi Haoyi2017-12-311-1/+2
| | | | | | - Prepare `T.ctx().base: Path` that `Task`s (including `T.source`) can use to find a "default" path for source files. - Simplify `Cacher`
* `Core` -> `core`, for consistency with SBT naming schemesLi Haoyi2017-12-305-0/+306
`ScalaPlugin` -> `scalalib`, to avoid confusion with Scala compiler plugins `ScalaModule` -> `module`, to be used via `scalalib.Module`, avoid unnecessary duplication in th name prefix `plugin` -> `moduledefs`, to more accurately describe what it does (since it includes `Cacher` as well)