Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Split up forge into `scalaplugin` an `core` subprojects, to allow us to use ↵ | Li Haoyi | 2017-11-03 | 25 | -1833/+0 |
| | | | | | | 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 | ||||
* | `T.raw` macro now works without needing `c.untypecheck` | Li Haoyi | 2017-11-02 | 3 | -32/+35 |
| | |||||
* | First pass at idiom-bracket macro works | Li Haoyi | 2017-11-01 | 4 | -120/+52 |
| | |||||
* | Metacircular building now works | Li Haoyi | 2017-10-31 | 3 | -17/+25 |
| | |||||
* | Trying to evaluate more of `MetacircularTests` no longer crashes, though ↵ | Li Haoyi | 2017-10-31 | 2 | -5/+36 |
| | | | | `compiled` still does... | ||||
* | first MetacircularTest (evaluating `scalaVersion`) passes. Subsequent tests ↵ | Li Haoyi | 2017-10-31 | 4 | -11/+14 |
| | | | | still fail due to NPE | ||||
* | Sketched out `MetacircularTests` using `scalaplugin.Subproject`; still ↵ | Li Haoyi | 2017-10-31 | 5 | -31/+90 |
| | | | | doesn't compile | ||||
* | Flesh out implementation of `forge.scalaplugin.Subproject` | Li Haoyi | 2017-10-31 | 2 | -10/+126 |
| | |||||
* | Move formatter off of `Target[_]` and into `Discovered` | Li Haoyi | 2017-10-31 | 8 | -38/+64 |
| | |||||
* | Sketched out structure of Scala subprojects | Li Haoyi | 2017-10-31 | 8 | -33/+175 |
| | |||||
* | Got Zinc working on the test bench, compiling forge's own project | Li Haoyi | 2017-10-29 | 4 | -91/+100 |
| | |||||
* | First builds work going through an Ammonite script, currently run using `sbt ↵ | Li Haoyi | 2017-10-29 | 2 | -0/+84 |
| | | | | "~run src/test/examples/javac/build.sc` | ||||
* | Bump versions | Li Haoyi | 2017-10-29 | 1 | -0/+7 |
| | |||||
* | 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 | 5 | -45/+127 |
| | | | | "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 | 4 | -42/+98 |
| | | | | | | | | | | 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 |
| |