Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix up owner chains to allow `Applyable#apply()` calls to work within lambdas | Li Haoyi | 2017-11-05 | 1 | -6/+12 | |
| | ||||||
* | First set of standalone tests for the gnarly `Applicative` logic | Li Haoyi | 2017-11-05 | 2 | -16/+9 | |
| | ||||||
* | Rename `ApplicativeMacros` and contents to shorter names | Li Haoyi | 2017-11-05 | 2 | -17/+25 | |
| | ||||||
* | Split out `ApplicativeMacros` from `Target` | Li Haoyi | 2017-11-05 | 4 | -122/+138 | |
| | ||||||
* | Re-organize `forge/` folder according to ordering of build phases: target ↵ | Li Haoyi | 2017-11-05 | 10 | -31/+44 | |
| | | | | definition, target discovery, and target evaluation | |||||
* | Turn on `lihaoyi:acyclic` plugin, enforce it, and break up whatever import ↵ | Li Haoyi | 2017-11-05 | 5 | -81/+93 | |
| | | | | cycles exist | |||||
* | Get rid of custom `coursier.Dependency` formatter, which was only needed due ↵ | Li Haoyi | 2017-11-04 | 1 | -33/+4 | |
| | | | | to initialization order problems, which we can solve by making everything `lazy val`s | |||||
* | Synchronize `Target.Cacher#cachedTarget` call, to match the thread-safety we ↵ | Li Haoyi | 2017-11-04 | 1 | -1/+1 | |
| | | | | get from `lazy val`s | |||||
* | First pass at providing good compile errors to invalid uses of the `T{...}` ↵ | Li Haoyi | 2017-11-04 | 1 | -3/+23 | |
| | | | | macro: we should only allow you to `Target#apply()` on expressions whose values come from outside the `T{...}` block | |||||
* | Swap over to `typingTransformer` | Li Haoyi | 2017-11-04 | 1 | -15/+14 | |
| | ||||||
* | Collapse `LocalDef` into `T{...}` macro, make it more flexible so it only ↵ | Li Haoyi | 2017-11-04 | 2 | -48/+26 | |
| | | | | | | 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 | |||||
* | Add some basic compile-time checks to enforce usage of `T{...}` within traits | Li Haoyi | 2017-11-04 | 2 | -4/+40 | |
| | ||||||
* | Mark `Cacher#T`-related things as protected, since you shouldn't access them ↵ | Li Haoyi | 2017-11-04 | 1 | -3/+3 | |
| | | | | from outside the class body | |||||
* | - Get rid of lazy `Target` wrapper since we're using lazy `def`s everywhere | Li Haoyi | 2017-11-04 | 2 | -23/+5 | |
| | | | | - Switch to using just `sourcecode.Enclosing` to key the `cacherLazyMap`, since the caller is already present as the `this` owning the `cacherLazyMap` and does not need to be stored | |||||
* | First experiment using `Cacher interface` combined with `Caller` implicits ↵ | Li Haoyi | 2017-11-04 | 4 | -2/+32 | |
| | | | | 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 suffixes | Li Haoyi | 2017-11-04 | 1 | -0/+10 | |
| | ||||||
* | `Target#apply[T](t: => Target[T])` doesn't need to be implicit | Li Haoyi | 2017-11-03 | 1 | -1/+1 | |
| | ||||||
* | Split up forge into `scalaplugin` an `core` subprojects, to allow us to use ↵ | Li Haoyi | 2017-11-03 | 11 | -0/+782 | |
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 |