summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Migrate `MetacircularTests` over to new cached-def mechanismLi Haoyi2017-11-042-29/+30
|
* First experiment using `Cacher interface` combined with `Caller` implicits ↵Li Haoyi2017-11-047-15/+133
| | | | to turn `def foo = T{}` into pseudo-`lazy val`s, that we can override in subclasses using stackable traits
* Implement `ScalaDep` ADT to encapsulate handling on scala cross-version suffixesLi Haoyi2017-11-043-19/+72
|
* `T.apply{}` -> `T{}`Li Haoyi2017-11-041-1/+1
|
* Remove unnecessary deps in `MetacircularTests`Li Haoyi2017-11-041-11/+0
|
* More tweaks to `scalaplugin.Subproject`Li Haoyi2017-11-041-7/+11
|
* Rename `IntegrationTests` to `JavaCompileJarTests`, make use of new `T{...}` ↵Li Haoyi2017-11-031-5/+4
| | | | macro in it
* `Target#apply[T](t: => Target[T])` doesn't need to be implicitLi Haoyi2017-11-031-1/+1
|
* Split up forge into `scalaplugin` an `core` subprojects, to allow us to use ↵Li Haoyi2017-11-0328-181/+99
| | | | | | 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 Haoyi2017-11-023-32/+35
|
* First pass at idiom-bracket macro worksLi Haoyi2017-11-014-120/+52
|
* add out folder to gitignoreLi Haoyi2017-10-311-0/+1
|
* Metacircular building now worksLi Haoyi2017-10-313-17/+25
|
* Trying to evaluate more of `MetacircularTests` no longer crashes, though ↵Li Haoyi2017-10-312-5/+36
| | | | `compiled` still does...
* first MetacircularTest (evaluating `scalaVersion`) passes. Subsequent tests ↵Li Haoyi2017-10-314-11/+14
| | | | still fail due to NPE
* Sketched out `MetacircularTests` using `scalaplugin.Subproject`; still ↵Li Haoyi2017-10-316-32/+90
| | | | doesn't compile
* Flesh out implementation of `forge.scalaplugin.Subproject`Li Haoyi2017-10-312-10/+126
|
* Move formatter off of `Target[_]` and into `Discovered`Li Haoyi2017-10-318-38/+64
|
* Sketched out structure of Scala subprojectsLi Haoyi2017-10-3110-33/+282
|
* Got Zinc working on the test bench, compiling forge's own projectLi Haoyi2017-10-295-122/+102
|
* First builds work going through an Ammonite script, currently run using `sbt ↵Li Haoyi2017-10-294-0/+94
| | | | "~run src/test/examples/javac/build.sc`
* Bump versionsLi Haoyi2017-10-292-2/+9
|
* Add some final output checks to javac integration testLi Haoyi2017-10-292-4/+18
|
* diagram out javac flow chartLi Haoyi2017-10-291-0/+5
|
* First set of `javac` integration tests all pass now, using folder-hashing ↵Li Haoyi2017-10-294-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 Haoyi2017-10-296-43/+116
|
* Move `Args` into the `util/` packageLi Haoyi2017-10-294-5/+4
|
* Split up `Utils.scala` and move the pieces into the `utils/` packageLi Haoyi2017-10-2910-167/+178
|
* Make `OSet` use `LinkedHashSet` instead of a parallel `Vector`Li Haoyi2017-10-291-7/+9
|
* Finished migrating over to using `PathRef` to propagate changes to file ↵Li Haoyi2017-10-297-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 againLi Haoyi2017-10-291-5/+17
|
* WIPLi Haoyi2017-10-296-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 Haoyi2017-10-292-8/+8
|
* Add `bigSingleTerminal` to the `EvaluationTests`Li Haoyi2017-10-291-4/+25
|
* Swap over wholesale to ammonite.opsLi Haoyi2017-10-296-64/+41
|
* Swap over in-memory results cache to disk-based JSON metadataLi Haoyi2017-10-294-23/+43
|
* split out TestGraph from TestUtilLi Haoyi2017-10-284-60/+75
|
* CleanupLi Haoyi2017-10-282-8/+0
|
* Break up `Evaluator#evaluateGroup` into a few smaller methodsLi Haoyi2017-10-281-46/+57
|
* Get rid of `DefCtx` for good. All tests passing entirely using the new ↵Li Haoyi2017-10-287-244/+99
| | | | `Discovered` labeling mechanism
* Implemented member-reflection-based naming, set to replace the old ↵Li Haoyi2017-10-284-34/+126
| | | | `DefCtx`/`sourcecode.Enclosing` strategy
* Move java-compile example supporting code into test suiteLi Haoyi2017-10-284-72/+59
|
* Got grouped evaluation workingLi Haoyi2017-10-275-36/+29
|
* Migrate everything which shouldn't have duplicates over to a new `OSet` data ↵Li Haoyi2017-10-275-111/+229
| | | | structure
* - Split out `ForgeTests` into `EvaluatioNTests` and `GraphTests`Li Haoyi2017-10-267-319/+416
| | | | | | - Added a non-trivial test graph to our test suite EvaluationTests have broken, need to fix
* Fleshed out basic `groupAroundNamedTargets` logicLi Haoyi2017-10-264-10/+97
|
* Serialization using play-json now mostly in placeLi Haoyi2017-10-266-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 Haoyi2017-10-251-15/+16
|
* Delete unused `Tarjans.main` methodLi Haoyi2017-10-251-11/+0
|
* Flesh out `evaluate` tests for `diamond` and `anonDiamond` casesLi Haoyi2017-10-251-26/+63
|