summaryrefslogtreecommitdiff
path: root/build.sbt
Commit message (Collapse)AuthorAgeFilesLines
* bump ammonite version in build.sbtLi Haoyi2017-12-171-1/+1
|
* bump ammonite versionLi Haoyi2017-12-161-2/+1
|
* upgrade to new version of uPickle/AmmoniteLi Haoyi2017-12-161-2/+4
|
* remove unused MILL_COMPILER_PLUGIN flagLi Haoyi2017-12-151-2/+1
|
* First pass at using a compiler plugin to remove the need for the `override` ↵Li Haoyi2017-12-151-1/+27
| | | | | | | | keyword when overriding a field within a `mill.Module` This only applies to `mill.Module`s, not overrides elsewhere which still require the keyword. `mill.Module`s tend to have lots and lots of overriding, so the keyword is basically noise. Also includes the necessary build changes to enable the locally-built Scalac plugin when compiling the test suite. Note that no changes are necessary for the executable assembly, because the `scalac-plugin.xml` will be included in the assembly and get picked up by the Ammonite scalac plugin classloader automatically
* Allow `classPathSig` to be injected into `Evaluator`, and in ↵Li Haoyi2017-12-131-2/+2
| | | | | | | | `ReplApplyHandler` keep using the same one every time to avoid busting caches due to REPL commands being added to the classpath Reverts https://github.com/lihaoyi/mill/pull/60, which seems to break `mill.scalaplugin.AcyclicTests.scala2123` (reproducible in master) Tweak `build.sbt` to properly set the forked test working directory in `test-only` as well as `test`
* Move assemble to a separate moduleRoman Timushev2017-12-131-1/+6
|
* Explicitly pass built compiler-bridge jar locations from the build system ↵Li Haoyi2017-12-061-27/+27
| | | | | | | | 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
* force test:compile during scalaplugin/test:assembly, to make sure bridge ↵Li Haoyi2017-12-061-0/+4
| | | | jars get build for use by the executable
* Flesh out `bridges` pre-compilation in Mill build, getting the ↵Li Haoyi2017-12-041-8/+1
| | | | | | | | | | 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
* Cross building acyclic now works, using a locally compiled cross-versioned ↵Li Haoyi2017-12-041-1/+69
| | | | | | 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
* Tweak readme, fix SBT executable assembly prefixLi Haoyi2017-11-271-1/+1
|
* upgrade zinc 1.0.3 -> 1.0.5 (#26)Nikolay Tatarinov2017-11-261-2/+2
|
* Strip out `play-json` dependency in favor of `upickle`, which we are forced ↵Li Haoyi2017-11-151-1/+0
| | | | 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
* First pass at cleaning up `build.sc` file syntaxLi Haoyi2017-11-151-1/+7
|
* First sketch at SBT test integration worksLi Haoyi2017-11-111-1/+2
|
* rename forge -> millLi Haoyi2017-11-101-3/+3
|
* Forked `ammonite.main.Router` into `forge.discover.Router`, to let us ↵Li Haoyi2017-11-051-1/+9
| | | | | | 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
* Turn on `lihaoyi:acyclic` plugin, enforce it, and break up whatever import ↵Li Haoyi2017-11-051-1/+6
| | | | cycles exist
* Split up forge into `scalaplugin` an `core` subprojects, to allow us to use ↵Li Haoyi2017-11-031-23/+32
| | | | | | 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
* Sketched out `MetacircularTests` using `scalaplugin.Subproject`; still ↵Li Haoyi2017-10-311-1/+0
| | | | doesn't compile
* Got Zinc working on the test bench, compiling forge's own projectLi Haoyi2017-10-291-31/+2
|
* First builds work going through an Ammonite script, currently run using `sbt ↵Li Haoyi2017-10-291-0/+9
| | | | "~run src/test/examples/javac/build.sc`
* Bump versionsLi Haoyi2017-10-291-2/+2
|
* Serialization using play-json now mostly in placeLi Haoyi2017-10-261-1/+2
| | | | "pure" targets which depend only on their inputs are modeled but their evaluation semantics aren't fleshed out
* - Basic dirty-checking of targets works; targets can now request to be ↵Li Haoyi2017-10-221-0/+2
| | | | | | | | | | 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
* update to utest 0.6.0, enable stacktrace highlightingLi Haoyi2017-10-221-2/+2
|
* rename hbt -> forgeLi Haoyi2017-10-221-3/+3
|
* Add `StaticContext` macro to let us distinguish top-level targets from ↵Li Haoyi2017-10-211-0/+2
| | | | dynamically generated targets
* - Convert example workflow to `javac` since `scalac` is slowLi Haoyi2017-10-191-1/+2
| | | | | - Implement `Target.Subprocess`, and use it inside `compileAll` - Move `Main` workflow into `HbtTests`, to be run using uTest
* Basic evaluator that creates classfiles and a jar now worksLi Haoyi2017-10-181-1/+4
|
* Include Tarjan's algorithm, for doing a topological sort which elegantly ↵Li Haoyi2017-10-171-0/+3
| | | | handles cycles
* Fleshed out basic implementationsLi Haoyi2017-10-161-0/+33
|
* first commitLi Haoyi2017-10-161-0/+5