Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Got Zinc working on the test bench, compiling forge's own project | Li Haoyi | 2017-10-29 | 5 | -122/+102 |
| | |||||
* | First builds work going through an Ammonite script, currently run using `sbt ↵ | Li Haoyi | 2017-10-29 | 4 | -0/+94 |
| | | | | "~run src/test/examples/javac/build.sc` | ||||
* | Bump versions | Li Haoyi | 2017-10-29 | 2 | -2/+9 |
| | |||||
* | Add some final output checks to javac integration test | Li Haoyi | 2017-10-29 | 2 | -4/+18 |
| | |||||
* | diagram out javac flow chart | Li Haoyi | 2017-10-29 | 1 | -0/+5 |
| | |||||
* | First set of `javac` integration tests all pass now, using folder-hashing ↵ | Li Haoyi | 2017-10-29 | 4 | -48/+88 |
| | | | | instead of mtimes because mtimes are flaky and unprecise (1 *second* resolution on OS-X!) | ||||
* | First pass at making `javac` example an automated test. Still doesn't pass... | Li Haoyi | 2017-10-29 | 6 | -43/+116 |
| | |||||
* | Move `Args` into the `util/` package | Li Haoyi | 2017-10-29 | 4 | -5/+4 |
| | |||||
* | Split up `Utils.scala` and move the pieces into the `utils/` package | Li Haoyi | 2017-10-29 | 10 | -167/+178 |
| | |||||
* | Make `OSet` use `LinkedHashSet` instead of a parallel `Vector` | Li Haoyi | 2017-10-29 | 1 | -7/+9 |
| | |||||
* | Finished migrating over to using `PathRef` to propagate changes to file ↵ | Li Haoyi | 2017-10-29 | 7 | -52/+71 |
| | | | | | | paths and folders. `sideHash` remains, but is only used for direct "do I re-evaluate" checks, and relies on the return values to force downstream targets to re-evaluate if necessary | ||||
* | Graph tests pass again | Li Haoyi | 2017-10-29 | 1 | -5/+17 |
| | |||||
* | WIP | Li Haoyi | 2017-10-29 | 6 | -65/+105 |
| | | | | | - Making `groupAroundNamedTargets` return a `MutableBiMap` - Make `evaluateGroupCached` also take note of the `sideHash`es of upstream targets, to handle cases like `Path`s where the path you're returning doesn't change but we still want to invalidate it anyway | ||||
* | Convert `Target#dirty` to `Target#externalHash` | Li Haoyi | 2017-10-29 | 2 | -8/+8 |
| | |||||
* | Add `bigSingleTerminal` to the `EvaluationTests` | Li Haoyi | 2017-10-29 | 1 | -4/+25 |
| | |||||
* | Swap over wholesale to ammonite.ops | Li Haoyi | 2017-10-29 | 6 | -64/+41 |
| | |||||
* | Swap over in-memory results cache to disk-based JSON metadata | Li Haoyi | 2017-10-29 | 4 | -23/+43 |
| | |||||
* | split out TestGraph from TestUtil | Li Haoyi | 2017-10-28 | 4 | -60/+75 |
| | |||||
* | Cleanup | Li Haoyi | 2017-10-28 | 2 | -8/+0 |
| | |||||
* | Break up `Evaluator#evaluateGroup` into a few smaller methods | Li Haoyi | 2017-10-28 | 1 | -46/+57 |
| | |||||
* | Get rid of `DefCtx` for good. All tests passing entirely using the new ↵ | Li Haoyi | 2017-10-28 | 7 | -244/+99 |
| | | | | `Discovered` labeling mechanism | ||||
* | Implemented member-reflection-based naming, set to replace the old ↵ | Li Haoyi | 2017-10-28 | 4 | -34/+126 |
| | | | | `DefCtx`/`sourcecode.Enclosing` strategy | ||||
* | Move java-compile example supporting code into test suite | Li Haoyi | 2017-10-28 | 4 | -72/+59 |
| | |||||
* | Got grouped evaluation working | Li Haoyi | 2017-10-27 | 5 | -36/+29 |
| | |||||
* | Migrate everything which shouldn't have duplicates over to a new `OSet` data ↵ | Li Haoyi | 2017-10-27 | 5 | -111/+229 |
| | | | | structure | ||||
* | - Split out `ForgeTests` into `EvaluatioNTests` and `GraphTests` | Li Haoyi | 2017-10-26 | 7 | -319/+416 |
| | | | | | | - Added a non-trivial test graph to our test suite EvaluationTests have broken, need to fix | ||||
* | Fleshed out basic `groupAroundNamedTargets` logic | Li Haoyi | 2017-10-26 | 4 | -10/+97 |
| | |||||
* | Serialization using play-json now mostly in place | Li Haoyi | 2017-10-26 | 6 | -46/+129 |
| | | | | "pure" targets which depend only on their inputs are modeled but their evaluation semantics aren't fleshed out | ||||
* | Nest `TargetOps` inside `Target` | Li Haoyi | 2017-10-25 | 1 | -15/+16 |
| | |||||
* | Delete unused `Tarjans.main` method | Li Haoyi | 2017-10-25 | 1 | -11/+0 |
| | |||||
* | Flesh out `evaluate` tests for `diamond` and `anonDiamond` cases | Li Haoyi | 2017-10-25 | 1 | -26/+63 |
| | |||||
* | Macro-based anonymous `Target` naming now works: we use the `T{...}` macro ↵ | Li Haoyi | 2017-10-24 | 4 | -55/+186 |
| | | | | look at any `Target`s defined lexically within the call, and as long as they can only be evaluated once (relative to the `T{...}`) we assign them labels with an incrementing integer suffixed onto the enclosing `T{...}`s label | ||||
* | Add some basic `compileError` tests to make sure mis-using `T{}` doesn't compile | Li Haoyi | 2017-10-22 | 1 | -0/+5 |
| | |||||
* | Swap over to new macro-based `DefCtx` injection, rather than relying on ↵ | Li Haoyi | 2017-10-22 | 5 | -122/+86 |
| | | | | | | | | `StaticContext` This should let us avoid the same `StaticContext` being re-used by multiple implicit use-sites within a block, causing confusion. `ForgeTests.evaluate.anonTriple` still doesn't pass for unrelated reasons | ||||
* | Move to caching based on label instead of Target object | Li Haoyi | 2017-10-22 | 2 | -8/+43 |
| | | | | `anonTriple` test currently fails, because both `AnonTriple.down` and `AnonTriple.down.inputs(0)` end up picking up the same label... | ||||
* | - Basic dirty-checking of targets works; targets can now request to be ↵ | Li Haoyi | 2017-10-22 | 5 | -42/+100 |
| | | | | | | | | | | 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 | ||||
* | Extract `topoSortedTransitiveTargets` into `Evaluator` companion object | Li Haoyi | 2017-10-22 | 2 | -27/+32 |
| | |||||
* | - `Target.Noop -> Target.Test` | Li Haoyi | 2017-10-22 | 2 | -27/+43 |
| | | | | | - `Target.Test`'s output now depends on its upstream targets, and is now configurable, so you can use it to test change propagations - Move `ForgeTests`'s targets inside the `Tests` block, since they're now mutable and so shouldn't remain global | ||||
* | Add simple unit tests for `topoSortedTransitiveTargets` | Li Haoyi | 2017-10-22 | 2 | -17/+26 |
| | |||||
* | Fix `Evaluator#prepareTransitiveTargets` | Li Haoyi | 2017-10-22 | 2 | -17/+16 |
| | |||||
* | update to utest 0.6.0, enable stacktrace highlighting | Li Haoyi | 2017-10-22 | 3 | -11/+19 |
| | |||||
* | Things compile again... | Li Haoyi | 2017-10-22 | 3 | -7/+14 |
| | |||||
* | rename hbt -> forge | Li Haoyi | 2017-10-22 | 15 | -94/+136 |
| | |||||
* | - Nest `StaticContext` into `DefCtx` | Li Haoyi | 2017-10-21 | 4 | -34/+40 |
| | | | | - Implement `Target.noop`, to let us construct target graphs without needing to create dummy implementations | ||||
* | Implement `DefCtx`, to bundle together `StaticContext` and ↵ | Li Haoyi | 2017-10-21 | 4 | -26/+33 |
| | | | | `sourcecode.Enclosing` | ||||
* | Add `StaticContext` macro to let us distinguish top-level targets from ↵ | Li Haoyi | 2017-10-21 | 3 | -0/+63 |
| | | | | dynamically generated targets | ||||
* | - Convert example workflow to `javac` since `scalac` is slow | Li Haoyi | 2017-10-19 | 12 | -54/+74 |
| | | | | | - Implement `Target.Subprocess`, and use it inside `compileAll` - Move `Main` workflow into `HbtTests`, to be run using uTest | ||||
* | - Add a configurable workspace to `evaluateTargetGraph` | Li Haoyi | 2017-10-18 | 5 | -120/+136 |
| | | | | - Break up `Hbt.scala` into `Args.scala` `Target.scala` and `Evaluator.scala` | ||||
* | Basic evaluator that creates classfiles and a jar now works | Li Haoyi | 2017-10-18 | 7 | -51/+92 |
| | |||||
* | Break up `Main.scala` | Li Haoyi | 2017-10-17 | 3 | -137/+159 |
| |