Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Force compile errors for missing implicits in `Discovered` materialization ↵ | Li Haoyi | 2017-11-18 | 2 | -2/+30 | |
| | | | | to point at their source methods, for easier fixing | |||||
* | Inject logging callback into Evaluator, so we can silence the logging in our ↵ | Li Haoyi | 2017-11-18 | 4 | -82/+4 | |
| | | | | unit tests | |||||
* | Organize `core/test`s into subfolders | Li Haoyi | 2017-11-18 | 12 | -113/+108 | |
| | ||||||
* | Tweak `OSet` to avoid re-creating the `.items` Vector for every operation, ↵ | Li Haoyi | 2017-11-18 | 3 | -3/+3 | |
| | | | | making `.items` a lightweight Iterator and forcing users to use `.indexed` if they explicitly need an indexed sequence | |||||
* | First pass at managing failures in the evaluation graph now works. Tweaked ↵ | Li Haoyi | 2017-11-18 | 3 | -22/+27 | |
| | | | | the `JavaCompileJarTests` to make use of it, but still need to write a proper unit test suite | |||||
* | Tighten up `LabelledTarget` to contain a `Target[T]` instead of a `Task[T]` | Li Haoyi | 2017-11-18 | 3 | -14/+22 | |
| | ||||||
* | Implement `T.persistent{}` targets, which have their dest directory persist ↵ | Li Haoyi | 2017-11-18 | 1 | -5/+1 | |
| | | | | between runs so the task implementation can use it as a cache | |||||
* | Cleanup | Li Haoyi | 2017-11-18 | 5 | -9/+3 | |
| | ||||||
* | Extract out shared `Hierarchy.traverse` function for walking `Hierarchy` tree | Li Haoyi | 2017-11-18 | 2 | -4/+4 | |
| | ||||||
* | Tests appear to pass using the new `Hierarchy`-first `Discovered` data format | Li Haoyi | 2017-11-17 | 2 | -39/+55 | |
| | ||||||
* | Flesh out a principled implementation of the cross-build monad | Li Haoyi | 2017-11-16 | 1 | -37/+128 | |
| | ||||||
* | interpreter-based `Cross` seems to work | Li Haoyi | 2017-11-16 | 1 | -34/+37 | |
| | ||||||
* | Vendor `com.lihaoyi:acyclic` codebase as a cross-building example, first ↵ | Li Haoyi | 2017-11-16 | 6 | -14/+61 | |
| | | | | non-working experiments in cross building working... | |||||
* | Add namespace hierarchy discovery to the `Discovered` macro, in preparation ↵ | Li Haoyi | 2017-11-12 | 3 | -4/+18 | |
| | | | | for IntelliJ support | |||||
* | Tests are passing under the new group evaluation model | Li Haoyi | 2017-11-12 | 3 | -48/+86 | |
| | ||||||
* | Clean up `mill.Main` | Li Haoyi | 2017-11-12 | 2 | -5/+0 | |
| | ||||||
* | Rename out `Task.path` to `Task.source`, use it more aggressively to get ↵ | Li Haoyi | 2017-11-12 | 3 | -20/+24 | |
| | | | | `amm -w` watch-n-rebuild functionality working on `build.sc` | |||||
* | Ensure `Evaluator` can handle the case where you have more than one terminal ↵ | Li Haoyi | 2017-11-12 | 1 | -18/+52 | |
| | | | | nodes on the boundary between two groups, *and* one of the terminal nodes depends on another | |||||
* | . | Li Haoyi | 2017-11-11 | 1 | -3/+1 | |
| | ||||||
* | Properly merge groups in `groupAroundNamedTargets` to handle cases where a ↵ | Li Haoyi | 2017-11-11 | 1 | -0/+20 | |
| | | | | group has multiple terminals | |||||
* | - Give `Target`s nicer `toString`s using `sourcecode.Enclosing`. Still not ↵ | Li Haoyi | 2017-11-11 | 3 | -3/+26 | |
| | | | | | | | | | | as good as the `Labeling` they get during evaluation, but better than nothing - Split out `TargetImpl` from `Target`, so we can make our dummy `TestUtils.Test` class implement `Target`s for discoverability etc. - Make `Discovered` only discover `Target`s, not `Task`s - Make `groupAroundNamedTargets` properly sort the groups topologically, and by flexible enough to combine groups which have cycles between them. | |||||
* | Swap over to new `projectDeps` mechanism for defining dependencies between ↵ | Li Haoyi | 2017-11-11 | 2 | -2/+2 | |
| | | | | various `scalaplugin.Subproject`s | |||||
* | First sketch at SBT test integration works | Li Haoyi | 2017-11-11 | 1 | -83/+69 | |
| | ||||||
* | rename forge -> mill | Li Haoyi | 2017-11-10 | 12 | -47/+47 | |
| | ||||||
* | Add basic tests for un-cached evaluation of `Task`s | Li Haoyi | 2017-11-10 | 3 | -36/+103 | |
| | ||||||
* | Migrate over to the new `Task`/`Target`/`Command` split | Li Haoyi | 2017-11-09 | 8 | -68/+76 | |
| | ||||||
* | Move `JavaCompilerJarTests` over to new `Target.ctx()` syntax | Li Haoyi | 2017-11-09 | 1 | -11/+10 | |
| | ||||||
* | Make `Applicative` macros able to inject a configurable `Ctx` object, used ↵ | Li Haoyi | 2017-11-09 | 1 | -3/+7 | |
| | | | | in `Target` to inject the `dest` folder for the `T{...}` block to use | |||||
* | First full metacircular compile-build-execute workflow now works using the ↵ | Li Haoyi | 2017-11-07 | 1 | -2/+2 | |
| | | | | | | | | `build.sc` file in the root of the repo. Run using ``` sbt scalaplugin/compile "core/run build.sc ScalaPlugin.console" ``` | |||||
* | - Allow main methods to return `Target[T]`s, so they can then be evaled by ↵ | Li Haoyi | 2017-11-07 | 1 | -1/+50 | |
| | | | | | | an external `Evaluator` that has the `Discovered` mapping available - Basic integration tests for `T.command` entrypoint running in the `JavaCompilerJarTests` suite | |||||
* | Break out reusable JVM specific stuff into its own file | Li Haoyi | 2017-11-05 | 1 | -53/+2 | |
| | ||||||
* | Crib `createJar` code from CBT to properly set manifest | Li Haoyi | 2017-11-05 | 1 | -16/+46 | |
| | ||||||
* | Break out `Cacher.scala` from `Applicative.scala` to fully separate the ↵ | Li Haoyi | 2017-11-05 | 1 | -1/+0 | |
| | | | | gnarly macros | |||||
* | Add a simple consistency checker on `Discovered` to test if any of the ↵ | Li Haoyi | 2017-11-05 | 1 | -39/+48 | |
| | | | | observable `Target`s in the given base are not being properly cached | |||||
* | Add test to verify before-hand evaluation order of `Applyable#apply` calls | Li Haoyi | 2017-11-05 | 1 | -0/+15 | |
| | ||||||
* | Add multiple-identical-apply-calls unit test | Li Haoyi | 2017-11-05 | 1 | -0/+10 | |
| | ||||||
* | Fix up owner chains to allow `Applyable#apply()` calls to work within lambdas | Li Haoyi | 2017-11-05 | 1 | -0/+12 | |
| | ||||||
* | More `ApplicativeTests` | Li Haoyi | 2017-11-05 | 1 | -4/+15 | |
| | ||||||
* | First set of standalone tests for the gnarly `Applicative` logic | Li Haoyi | 2017-11-05 | 2 | -41/+88 | |
| | ||||||
* | Rename `ApplicativeMacros` and contents to shorter names | Li Haoyi | 2017-11-05 | 1 | -2/+34 | |
| | ||||||
* | Split out `ApplicativeMacros` from `Target` | Li Haoyi | 2017-11-05 | 2 | -1/+11 | |
| | ||||||
* | Re-organize `forge/` folder according to ordering of build phases: target ↵ | Li Haoyi | 2017-11-05 | 8 | -4/+22 | |
| | | | | definition, target discovery, and target evaluation | |||||
* | Split out `MacroErrorTests` into it's own file | Li Haoyi | 2017-11-04 | 2 | -53/+63 | |
| | ||||||
* | add another negative test to ensure we give good error messages when trying ↵ | Li Haoyi | 2017-11-04 | 1 | -0/+15 | |
| | | | | to apply() a value coming from inside a T{...} block, this time as the param of a lambda | |||||
* | First pass at providing good compile errors to invalid uses of the `T{...}` ↵ | Li Haoyi | 2017-11-04 | 1 | -2/+33 | |
| | | | | macro: we should only allow you to `Target#apply()` on expressions whose values come from outside the `T{...}` block | |||||
* | Collapse `LocalDef` into `T{...}` macro, make it more flexible so it only ↵ | Li Haoyi | 2017-11-04 | 1 | -4/+1 | |
| | | | | | | caches `def`s (and complains about `val`s) if it's defined top-level in a class/trait/object, for easy overriding. If it's in some helper function somewhere, overriding doesn't matter, and it's up to the user to figure out how to construct a target graph without redundancy | |||||
* | Add some basic compile-time checks to enforce usage of `T{...}` within traits | Li Haoyi | 2017-11-04 | 2 | -0/+11 | |
| | ||||||
* | Add some tests to verify Cacher happy-paths | Li Haoyi | 2017-11-04 | 1 | -0/+50 | |
| | ||||||
* | First experiment using `Cacher interface` combined with `Caller` implicits ↵ | Li Haoyi | 2017-11-04 | 3 | -13/+101 | |
| | | | | to turn `def foo = T{}` into pseudo-`lazy val`s, that we can override in subclasses using stackable traits | |||||
* | Rename `IntegrationTests` to `JavaCompileJarTests`, make use of new `T{...}` ↵ | Li Haoyi | 2017-11-03 | 1 | -5/+4 | |
| | | | | macro in it |