| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
into Mill as JVM properties.
This makes the dependency between the compiler-bridge jar and the Mill executable explicit, allowing us to swap out the locations compiler-bridge jars (which end up in different places, depending on whether you're building with SBT or Mill) or eventually making them load from Maven Central in a "release" Mill executable
Since Mill (and uTest) both do not support SBT-style test arguments, we need to use `forkTest` instead of `test` to run the Mill tests passing the compiler-jar locations as JVM props. This necessitated some fixes to make `forkTest` behave properly
|
|
|
|
| |
jars get build for use by the executable
|
|
|
|
|
|
|
|
|
|
| |
cross-minor-version `AcyclicTests` running using the `mill` test runner
Fixed `Discovered` to only pick up public `Target`s, which makes it skip things like the `super$compile` of an overriden `compile` target.
Split up `sources` and `allSources`
TBD how to properly switch the `compilerBridgeJar` between the different output paths of SBT's compile-dir and Mill's compile-dir, and eventually to a maven-central artifact too
|
|
|
|
|
|
| |
compiler-bridge.jar.
For now just hardcode the Scala versions we want to support as part of the build; we can figure out how to do the runtime download&compile thing later
|
| |
|
| |
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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
|
|
|
|
| |
cycles exist
|
|
|
|
|
|
| |
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
|
|
|
|
| |
doesn't compile
|
| |
|
|
|
|
| |
"~run src/test/examples/javac/build.sc`
|
| |
|
|
|
|
| |
"pure" targets which depend only on their inputs are modeled but their evaluation semantics aren't fleshed out
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
| |
dynamically generated targets
|
|
|
|
|
| |
- Implement `Target.Subprocess`, and use it inside `compileAll`
- Move `Main` workflow into `HbtTests`, to be run using uTest
|
| |
|
|
|
|
| |
handles cycles
|
| |
|
|
|