Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | First pass at implicitly propagating a `def basePath: Path` up the `Module` ↵ | Li Haoyi | 2018-01-07 | 10 | -85/+142 |
| | | | | | | | | 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 | ||||
* | First pass at providing new pretty-prints for build ↵ | Li Haoyi | 2018-01-03 | 8 | -17/+22 |
| | | | | `Module`s/`Target`s/`Cross`s in the Mill REPL, making use of `sourcecode.*` values captured and definition-site and contextual information made available in the build `Mirror` | ||||
* | fix-test-compilation | Li Haoyi | 2018-01-01 | 1 | -2/+8 |
| | |||||
* | Fix `idea` project generation, and make `Result.Exception` display the ↵ | Li Haoyi | 2018-01-01 | 2 | -2/+2 |
| | | | | offending stack trace so they're easier to debug | ||||
* | Split out generic `T.input` tasks from the `T.source` helpers, allowing ↵ | Li Haoyi | 2017-12-31 | 2 | -6/+6 |
| | | | | `T.source` to behave as before but `T.input` can be used for other things. Fixes https://github.com/lihaoyi/mill/issues/77 | ||||
* | - Convert `T.source` into a generic `Target` that flushes the cache every time | Li Haoyi | 2017-12-31 | 5 | -15/+18 |
| | | | | | | - Prepare `T.ctx().base: Path` that `Task`s (including `T.source`) can use to find a "default" path for source files. - Simplify `Cacher` | ||||
* | Make use of `T.command`s `T.ctx().dest` in `ScalaPlugin#test.test` and ↵ | Li Haoyi | 2017-12-30 | 1 | -1/+1 |
| | | | | `forkTest`, and allow users to dump the structured JSON test results via `--show` | ||||
* | Re-organize `out/` directory to keep all files related to a particular ↵ | Li Haoyi | 2017-12-29 | 1 | -2/+2 |
| | | | | `Target` within a single folder | ||||
* | Assign different overrides of a Target different cache directories and ↵ | Li Haoyi | 2017-12-29 | 4 | -3/+22 |
| | | | | paths, to fix https://github.com/lihaoyi/mill/issues/86 | ||||
* | Move TestEvaluator to core | Roman Timushev | 2017-12-29 | 1 | -0/+29 |
| | |||||
* | Tidy up Task.scala macros... | Li Haoyi | 2017-12-29 | 1 | -1/+1 |
| | |||||
* | Kill old `LabelledTarget` classes | Li Haoyi | 2017-12-29 | 6 | -30/+28 |
| | |||||
* | WIP Migrating `Target` name/pickler generation from the `Mirror` discovery ↵ | Li Haoyi | 2017-12-29 | 5 | -39/+58 |
| | | | | into the `Target` definitions themselves. Haven't deleted the old/unused `Mirror` data structures yet... | ||||
* | Generate zipmap definitions for higher arities (#81) | Duncan Mak | 2017-12-27 | 1 | -34/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | * Remove method defns for zipMap/zip that will be generated. The trait Applyer will now extend from ApplyerGenerated which will contain the code-generated definitions. * Script to generate code for Applicative * Generate the zip methods in Target * Generate zip methods in ApplicativeTests * Make sure the full 22-arities are generated * Move code generator into build.sc. Remove generate.sc from directories where code will be generated. * Generate code as part of the SBT also * Properly wire up the test sources * Generate all the code in one place | ||||
* | WIP: provide Mapping as a Ctx argument that can be accessed from within ↵ | Li Haoyi | 2017-12-25 | 4 | -5/+5 |
| | | | | Tasks, for usage within `GenIdea` and similar | ||||
* | Refactor `mill.Main` to avoid going through Ammonite's main-method-dispatch ↵ | Li Haoyi | 2017-12-25 | 1 | -1/+1 |
| | | | | system | ||||
* | Remove `Router.scala`, whose changes have been upstreamed into the Ammonite ↵ | Li Haoyi | 2017-12-24 | 1 | -3/+3 |
| | | | | | | master branch Remove the `out/run.sc` entrypoint script, using Ammonite's new `codeWrapper` API to synthesize the necessary wrapper/forwarder objects to substitute it | ||||
* | Allow Target creation from Result[T] (#79) | Roman Timushev | 2017-12-24 | 1 | -0/+7 |
| | |||||
* | Merge branch 'master' of github.com:lihaoyi/mill | Li Haoyi | 2017-12-20 | 1 | -0/+3 |
|\ | |||||
| * | Add Sonatypype publishing; | rockjam | 2017-12-20 | 2 | -1/+4 |
| | | | | | | | | now you can publish your module with `mill run MyModule.publish --credentials $SONATYPE_CREDENTIALS --gpgPassphrase $GPG_PASSPHRASE` | ||||
| * | publishLocal - looks like it works | dos65 | 2017-12-20 | 1 | -1/+1 |
| | | |||||
* | | Remove implicit `Discovered.apply[T]` method. This forces people to pass ↵ | Li Haoyi | 2017-12-20 | 10 | -109/+113 |
|/ | | | | around their generated `Discovered.make` structures by hand, making it harder to accidentally generate the same `Discovered` twice and slow down runtime/compilation | ||||
* | upgrade to new version of uPickle/Ammonite | Li Haoyi | 2017-12-16 | 2 | -1/+2 |
| | |||||
* | First pass at using a compiler plugin to remove the need for the `override` ↵ | Li Haoyi | 2017-12-15 | 1 | -1/+14 |
| | | | | | | | | keyword when overriding a field within a `mill.Module` This only applies to `mill.Module`s, not overrides elsewhere which still require the keyword. `mill.Module`s tend to have lots and lots of overriding, so the keyword is basically noise. Also includes the necessary build changes to enable the locally-built Scalac plugin when compiling the test suite. Note that no changes are necessary for the executable assembly, because the `scalac-plugin.xml` will be included in the assembly and get picked up by the Ammonite scalac plugin classloader automatically | ||||
* | Move `Evaluator`s to be long lived, and make tests pass | Li Haoyi | 2017-12-14 | 2 | -17/+24 |
| | |||||
* | `Core.compile()` now works in the build REPL | Li Haoyi | 2017-12-10 | 1 | -2/+2 |
| | |||||
* | First pass at simplifying Ammonite integration and enabling the REPL. Can ↵ | Li Haoyi | 2017-12-10 | 1 | -1/+1 |
| | | | | query for terms like `Core.compile`, but still can't run `Core.compile()` | ||||
* | Add support for compiler plugins and enable acyclic plugin in build | Tin Pavlinic | 2017-12-09 | 1 | -1/+3 |
| | |||||
* | pass compile analysis of projectDeps to zinc, fixes #29 | rockjam | 2017-12-07 | 1 | -0/+3 |
| | |||||
* | Standardize on a `mill.util.Logger` class | Li Haoyi | 2017-12-04 | 4 | -11/+11 |
| | |||||
* | Make more stuff use the implicit `T.ctx()` | Li Haoyi | 2017-12-04 | 1 | -6/+7 |
| | |||||
* | - Make `T.ctx()` available implicitly | Li Haoyi | 2017-12-04 | 3 | -3/+8 |
| | | | | | - Convert `ScalaModule.{compile,assembly}` to use the new implicit `T.ctx()` - Add a `log: PrintStream` to the `T.ctx()`, in preparation for per-task logging | ||||
* | Fix error messages on resolving cross-built modules and re-enable relevant ↵ | Li Haoyi | 2017-11-26 | 1 | -2/+2 |
| | | | | neg tests | ||||
* | Refactor `build.sc` to pull out common `ScalaModule` code into a separate trait | Li Haoyi | 2017-11-26 | 2 | -1/+24 |
| | | | | Also workaround a few scala-reflect bugs in `Discovered` and `Router` that were making this not-work | ||||
* | bring back ScalaModule#run, bring back TaskModule now with a new ↵ | Li Haoyi | 2017-11-26 | 1 | -2/+0 |
| | | | | defaultCommandName member | ||||
* | - Make `Discovered` logic use the public getter of a `val` field, instead of ↵ | Li Haoyi | 2017-11-25 | 6 | -126/+162 |
| | | | | | | | | the private backing-field (which seems to end with a whitespace, and doesn't seem to exist for fields defined in anonynomous classes e.g. `new { val x = 1 }` - Re-enable `mill.main.MainTests.nested` - Share test graphs between `CrossModuleTests`, `DiscoveredTests` and `MainTests` | ||||
* | Streamline cross-build Scala syntax to avoid the unnecessary `List(...)` wrapper | Li Haoyi | 2017-11-25 | 2 | -13/+13 |
| | |||||
* | Fix cross-build discovery | Li Haoyi | 2017-11-25 | 1 | -3/+1 |
| | |||||
* | Swap out all our `Either[String, Seq[String]]`s for `Mirror.Segment`s | Li Haoyi | 2017-11-25 | 1 | -12/+12 |
| | |||||
* | First pass at some cross-build resolving tests, not all passing yet | Li Haoyi | 2017-11-25 | 1 | -2/+65 |
| | |||||
* | Unit tests for `Main.resolve` | Li Haoyi | 2017-11-25 | 1 | -0/+49 |
| | |||||
* | Targets living in cross modules can now be properly discovered, run and cached. | Li Haoyi | 2017-11-22 | 4 | -16/+62 |
| | | | | | | | | Try out the following commands on our Mill `build.sc` file to exercise this functionality - `scalaplugin/target/mill run Core.cross[jarA].jar` - `scalaplugin/target/mill run Core.cross[jarB].jar` - `scalaplugin/target/mill run Core.cross[jarC].jar` | ||||
* | First hack pass at cross-build discovery and command-running now works. | Li Haoyi | 2017-11-18 | 2 | -2/+84 |
| | | | | | | Can be tested out on our `build.sc` via `scalaplugin/target/mill run Core.cross[a].printIt` Needs tons of cleanup... | ||||
* | dry-up-workspace | Li Haoyi | 2017-11-18 | 1 | -3/+3 |
| | |||||
* | Refactor `eval/FailureTests` to DRY it up | Li Haoyi | 2017-11-18 | 1 | -36/+48 |
| | |||||
* | Shift mixed task/target group-count tests into `GraphTests` with the other ↵ | Li Haoyi | 2017-11-18 | 3 | -76/+104 |
| | | | | `groupAroundNamedArgs` tests, and move the graph definitions themselves into `TestGraphs` so they can be shared | ||||
* | Add some basic tests for failure/exception handling during evaluation... | Li Haoyi | 2017-11-18 | 2 | -2/+94 |
| | |||||
* | Move graph algorithms on tasks into `define/Graph.scala`, and move ↵ | Li Haoyi | 2017-11-18 | 2 | -36/+37 |
| | | | | `GraphTests.scala` into `define/` as well | ||||
* | Move some test cases that are testing `mill/discover/` code, into that package | Li Haoyi | 2017-11-18 | 3 | -79/+107 |
| | |||||
* | Add basic unit tests for `T.command` discovery | Li Haoyi | 2017-11-18 | 1 | -1/+43 |
| |