Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Strip out `play-json` dependency in favor of `upickle`, which we are forced ↵ | Li Haoyi | 2017-11-15 | 1 | -22/+2 |
| | | | | to use anyway due to Ammonite. Saves us from classloading play-json and Jackson, shaving off a few hundred ms from the cold no-op runtime | ||||
* | First pass at cleaning up `build.sc` file syntax | Li Haoyi | 2017-11-15 | 1 | -0/+7 |
| | |||||
* | Avoid compiling code just to get access to compiled code output paths | Li Haoyi | 2017-11-15 | 1 | -5/+10 |
| | |||||
* | Mark the scala library jar as `type=Scala` to make intellij believe it is a ↵ | Li Haoyi | 2017-11-15 | 1 | -3/+3 |
| | | | | scala sdk | ||||
* | WIP cleanup of gnarly GenIdea code | Li Haoyi | 2017-11-15 | 1 | -87/+118 |
| | |||||
* | First pass at an `assembly` task now works, rudimentary but enough to be ↵ | Li Haoyi | 2017-11-14 | 1 | -1/+14 |
| | | | | used metacircularly | ||||
* | First pass at IntelliJ project generation for a Mill build. Run using `sbt ↵ | Li Haoyi | 2017-11-14 | 2 | -30/+184 |
| | | | | scalaplugin/assembly && amm build.sc idea` | ||||
* | Rename `Subproject` to `Module` | Li Haoyi | 2017-11-12 | 1 | -4/+4 |
| | |||||
* | remove dead function | Li Haoyi | 2017-11-12 | 1 | -24/+0 |
| | |||||
* | Clean up `mill.Main` | Li Haoyi | 2017-11-12 | 1 | -13/+17 |
| | |||||
* | Rename out `Task.path` to `Task.source`, use it more aggressively to get ↵ | Li Haoyi | 2017-11-12 | 1 | -3/+3 |
| | | | | `amm -w` watch-n-rebuild functionality working on `build.sc` | ||||
* | Make sure Mill classpath doesn't leak into test classloaders, except for ↵ | Li Haoyi | 2017-11-12 | 1 | -1/+10 |
| | | | | specific white-listed classes (e.g. `sbt-test-interface`) | ||||
* | cleanup `build.sc` imports | Li Haoyi | 2017-11-11 | 3 | -46/+55 |
| | |||||
* | remove metacircular tests, since build.sc now serves that purpose | Li Haoyi | 2017-11-11 | 1 | -62/+0 |
| | |||||
* | `T{}` blocks can now be implicit | Li Haoyi | 2017-11-11 | 1 | -3/+3 |
| | |||||
* | - Smoothed out syntax for defining ivy dependencies | Li Haoyi | 2017-11-11 | 2 | -31/+49 |
| | | | | - Made `build.sc` file directly runnable using Ammonite, without any wrapper | ||||
* | First set of unit tests running through Mill | Li Haoyi | 2017-11-11 | 2 | -16/+14 |
| | |||||
* | - Give `Target`s nicer `toString`s using `sourcecode.Enclosing`. Still not ↵ | Li Haoyi | 2017-11-11 | 1 | -12/+9 |
| | | | | | | | | | | 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 | 3 | -12/+117 |
| | | | | various `scalaplugin.Subproject`s | ||||
* | First sketch at SBT test integration works | Li Haoyi | 2017-11-11 | 1 | -1/+31 |
| | |||||
* | rename forge -> mill | Li Haoyi | 2017-11-10 | 2 | -10/+10 |
| | |||||
* | Add basic tests for un-cached evaluation of `Task`s | Li Haoyi | 2017-11-10 | 1 | -2/+2 |
| | |||||
* | Kill `Router.main` annotation and make routing dependent on the `Command` ↵ | Li Haoyi | 2017-11-10 | 1 | -2/+1 |
| | | | | return type | ||||
* | Migrate over to the new `Task`/`Target`/`Command` split | Li Haoyi | 2017-11-09 | 1 | -7/+6 |
| | |||||
* | Make `Applicative` macros able to inject a configurable `Ctx` object, used ↵ | Li Haoyi | 2017-11-09 | 1 | -16/+5 |
| | | | | in `Target` to inject the `dest` folder for the `T{...}` block to use | ||||
* | make scalaplugin.Subproject use the builtin destination folder | Li Haoyi | 2017-11-09 | 1 | -7/+17 |
| | |||||
* | Swap `compileScala` over to `T{...}` macro | Li Haoyi | 2017-11-08 | 1 | -67/+64 |
| | |||||
* | First full metacircular compile-build-execute workflow now works using the ↵ | Li Haoyi | 2017-11-07 | 1 | -0/+10 |
| | | | | | | | | `build.sc` file in the root of the repo. Run using ``` sbt scalaplugin/compile "core/run build.sc ScalaPlugin.console" ``` | ||||
* | Recursive main-method resolution now works, as part of the normal discovery ↵ | Li Haoyi | 2017-11-05 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | | | | | | | | recursion ```scala @ import forge.util.JsonFormatters._ import forge.util.JsonFormatters._ @ forge.discover.Discovered[forge.scalaplugin.MetacircularTests.type] @ forge.discover.Discovered[forge.scalaplugin.MetacircularTests.type].mains res2: Seq[...] = List( NestedEntry(List("ScalaPlugin"), ..., EntryPoint("run", ...)), NestedEntry(List("Core"), ..., EntryPoint("run", ...) ) @ forge.discover.Discovered[forge.scalaplugin.MetacircularTests.Core.type].mains res3: Seq[...] = List( NestedEntry(List(), ..., EntryPoint("run", ...)) ) ``` | ||||
* | Forked `ammonite.main.Router` into `forge.discover.Router`, to let us ↵ | Li Haoyi | 2017-11-05 | 1 | -4/+5 |
| | | | | | | generate routes purely based on a type `T`, as part of the target discovery process. We defer the need for a concrete value of type `T` later until we need to evaluate the route. Eventually this should go upstream into ammonite itself, but forking is easier for now | ||||
* | Break out reusable JVM specific stuff into its own file | Li Haoyi | 2017-11-05 | 2 | -2/+9 |
| | |||||
* | Split out `ApplicativeMacros` from `Target` | Li Haoyi | 2017-11-05 | 1 | -2/+2 |
| | |||||
* | Re-organize `forge/` folder according to ordering of build phases: target ↵ | Li Haoyi | 2017-11-05 | 2 | -2/+4 |
| | | | | definition, target discovery, and target evaluation | ||||
* | Turn on `lihaoyi:acyclic` plugin, enforce it, and break up whatever import ↵ | Li Haoyi | 2017-11-05 | 1 | -1/+0 |
| | | | | cycles exist | ||||
* | Shorted `ScalaDep.Scala(...)`/`ScalaDep.PointScala(...)` into ↵ | Li Haoyi | 2017-11-04 | 2 | -9/+10 |
| | | | | `ScalaDep(...)` and `ScalaDep.Point(...)` | ||||
* | Collapse `LocalDef` into `T{...}` macro, make it more flexible so it only ↵ | Li Haoyi | 2017-11-04 | 1 | -1/+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 | ||||
* | Migrate `MetacircularTests` over to new cached-def mechanism | Li Haoyi | 2017-11-04 | 2 | -29/+30 |
| | |||||
* | Implement `ScalaDep` ADT to encapsulate handling on scala cross-version suffixes | Li Haoyi | 2017-11-04 | 2 | -19/+62 |
| | |||||
* | `T.apply{}` -> `T{}` | Li Haoyi | 2017-11-04 | 1 | -1/+1 |
| | |||||
* | Remove unnecessary deps in `MetacircularTests` | Li Haoyi | 2017-11-04 | 1 | -11/+0 |
| | |||||
* | More tweaks to `scalaplugin.Subproject` | Li Haoyi | 2017-11-04 | 1 | -7/+11 |
| | |||||
* | Split up forge into `scalaplugin` an `core` subprojects, to allow us to use ↵ | Li Haoyi | 2017-11-03 | 2 | -0/+211 |
the `T#apply` macro in the implementation of `scalaplugin.Subproject` Also needed to implement inter-`Subproject` dependencies so the `MetacircularTests` can continue to support the new layout |