summaryrefslogtreecommitdiff
path: root/build.sbt
Commit message (Collapse)AuthorAgeFilesLines
* Strip out `play-json` dependency in favor of `upickle`, which we are forced ↵Li Haoyi2017-11-151-1/+0
| | | | 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 syntaxLi Haoyi2017-11-151-1/+7
|
* First sketch at SBT test integration worksLi Haoyi2017-11-111-1/+2
|
* rename forge -> millLi Haoyi2017-11-101-3/+3
|
* Forked `ammonite.main.Router` into `forge.discover.Router`, to let us ↵Li Haoyi2017-11-051-1/+9
| | | | | | 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
* Turn on `lihaoyi:acyclic` plugin, enforce it, and break up whatever import ↵Li Haoyi2017-11-051-1/+6
| | | | cycles exist
* Split up forge into `scalaplugin` an `core` subprojects, to allow us to use ↵Li Haoyi2017-11-031-23/+32
| | | | | | 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
* Sketched out `MetacircularTests` using `scalaplugin.Subproject`; still ↵Li Haoyi2017-10-311-1/+0
| | | | doesn't compile
* Got Zinc working on the test bench, compiling forge's own projectLi Haoyi2017-10-291-31/+2
|
* First builds work going through an Ammonite script, currently run using `sbt ↵Li Haoyi2017-10-291-0/+9
| | | | "~run src/test/examples/javac/build.sc`
* Bump versionsLi Haoyi2017-10-291-2/+2
|
* Serialization using play-json now mostly in placeLi Haoyi2017-10-261-1/+2
| | | | "pure" targets which depend only on their inputs are modeled but their evaluation semantics aren't fleshed out
* - Basic dirty-checking of targets works; targets can now request to be ↵Li Haoyi2017-10-221-0/+2
| | | | | | | | | | recomputed independent of their inputs - Split out `Target` and `TargetOps`, so `Target` can be a pristine description of what a subclass needs to implement - Convert targets from `case class`es into normal `class`s, since none of the case class functionality is useful - Disable parallel execution in tests, since we don't really need it right now and it jumbles up incremental test reporting
* update to utest 0.6.0, enable stacktrace highlightingLi Haoyi2017-10-221-2/+2
|
* rename hbt -> forgeLi Haoyi2017-10-221-3/+3
|
* Add `StaticContext` macro to let us distinguish top-level targets from ↵Li Haoyi2017-10-211-0/+2
| | | | dynamically generated targets
* - Convert example workflow to `javac` since `scalac` is slowLi Haoyi2017-10-191-1/+2
| | | | | - Implement `Target.Subprocess`, and use it inside `compileAll` - Move `Main` workflow into `HbtTests`, to be run using uTest
* Basic evaluator that creates classfiles and a jar now worksLi Haoyi2017-10-181-1/+4
|
* Include Tarjan's algorithm, for doing a topological sort which elegantly ↵Li Haoyi2017-10-171-0/+3
| | | | handles cycles
* Fleshed out basic implementationsLi Haoyi2017-10-161-0/+33
|
* first commitLi Haoyi2017-10-161-0/+5