summaryrefslogtreecommitdiff
path: root/core/src
Commit message (Collapse)AuthorAgeFilesLines
* Swap out awkward quasiquotes in `Task` macros in exchange for `reify`/`splice`Li Haoyi2017-12-302-20/+60
|
* `Core` -> `core`, for consistency with SBT naming schemesLi Haoyi2017-12-301-5/+5
| | | | | | | | `ScalaPlugin` -> `scalalib`, to avoid confusion with Scala compiler plugins `ScalaModule` -> `module`, to be used via `scalalib.Module`, avoid unnecessary duplication in th name prefix `plugin` -> `moduledefs`, to more accurately describe what it does (since it includes `Cacher` as well)
* Make use of `T.command`s `T.ctx().dest` in `ScalaPlugin#test.test` and ↵Li Haoyi2017-12-305-14/+43
| | | | `forkTest`, and allow users to dump the structured JSON test results via `--show`
* Re-organize `out/` directory to keep all files related to a particular ↵Li Haoyi2017-12-293-33/+28
| | | | `Target` within a single folder
* Assign different overrides of a Target different cache directories and ↵Li Haoyi2017-12-297-37/+88
| | | | paths, to fix https://github.com/lihaoyi/mill/issues/86
* Merge pull request #67 from lihaoyi/scalajsRoman Timushev2017-12-291-0/+29
|\ | | | | Scala.js support
| * Move TestEvaluator to coreRoman Timushev2017-12-291-0/+29
| |
* | More tidying up in TaskLi Haoyi2017-12-291-55/+61
|/
* Tidy up Task.scala macros...Li Haoyi2017-12-292-21/+65
|
* Kill old `LabelledTarget` classesLi Haoyi2017-12-2910-95/+65
|
* WIP Migrating `Target` name/pickler generation from the `Mirror` discovery ↵Li Haoyi2017-12-2910-80/+157
| | | | into the `Target` definitions themselves. Haven't deleted the old/unused `Mirror` data structures yet...
* First pass at generating CLI output when you run `Target`s, based on their ↵Li Haoyi2017-12-283-17/+59
| | | | return values, converted to JSON
* Properly propagate failures in task evaluation to the ammonite script runnerLi Haoyi2017-12-282-13/+15
|
* fix repl flagLi Haoyi2017-12-281-2/+5
|
* Generate zipmap definitions for higher arities (#81)Duncan Mak2017-12-273-109/+12
| | | | | | | | | | | | | | | | | | | | | | | | * Remove method defns for zipMap/zip that will be generated. The trait Applyer will now extend from ApplyerGenerated which will contain the code-generated definitions. * Script to generate code for Applicative * Generate the zip methods in Target * Generate zip methods in ApplicativeTests * Make sure the full 22-arities are generated * Move code generator into build.sc. Remove generate.sc from directories where code will be generated. * Generate code as part of the SBT also * Properly wire up the test sources * Generate all the code in one place
* Slightly simplify `test.sh` matrix and cache more evaluators in ↵Li Haoyi2017-12-261-16/+0
| | | | `HelloWorldTests`, to try and speed up `test.sh` runs
* Simplify `MainRunner` and `RunScript` codeLi Haoyi2017-12-264-54/+49
|
* Greatly simplify `CustomCodeWrapper`Li Haoyi2017-12-263-36/+15
|
* - Shift `MappingCtx` into a magic `LoaderCtx` `Loader` to avoid circular ↵Li Haoyi2017-12-267-27/+28
| | | | | | | | dependencies between `Ctx` -> `Discovered` -> `Task` - `mill idea` works now using `GenIdea` as a standalone `T.command` making use of the new contextually-available `Mapping` - Limit implicit `ReplApplyHandler` to `--repl` only, to avoid it kicking in if `build.sc` scripts are screwed up and adding further confusion
* WIP: provide Mapping as a Ctx argument that can be accessed from within ↵Li Haoyi2017-12-2510-33/+45
| | | | Tasks, for usage within `GenIdea` and similar
* Refactor `mill.Main` to avoid going through Ammonite's main-method-dispatch ↵Li Haoyi2017-12-257-184/+297
| | | | system
* Remove `Router.scala`, whose changes have been upstreamed into the Ammonite ↵Li Haoyi2017-12-246-450/+88
| | | | | | master branch Remove the `out/run.sc` entrypoint script, using Ammonite's new `codeWrapper` API to synthesize the necessary wrapper/forwarder objects to substitute it
* Allow Target creation from Result[T] (#79)Roman Timushev2017-12-242-1/+17
|
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-12-205-7/+19
|\
| * Add Sonatypype publishing;rockjam2017-12-206-7/+21
| | | | | | | | now you can publish your module with `mill run MyModule.publish --credentials $SONATYPE_CREDENTIALS --gpgPassphrase $GPG_PASSPHRASE`
| * publishLocal - looks like it worksdos652017-12-204-6/+9
| |
| * Report errors when dependency resolution fails (#71)Grant2017-12-181-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Report errors when dependency resolution fails Function `Lib.reolveDependencies` now checks the result of the coursier dependency resolution for errors. The return value of the fuction is now a `Result[Seq[PathRef]]` and errors are signaled by returning an instance of Failure when errors occur while resolving dependencies. `ScalaModule` now has a new task called `resolve` which allows for triggering dependency resolution directly from the cmd line like: `mill run resolve`. `ResolveDepsTests` was added to verify failed resolution is properly detected and reported. * Remove type signatures in ScalaModule.scala * Updates from PR comments
* | Remove implicit `Discovered.apply[T]` method. This forces people to pass ↵Li Haoyi2017-12-2014-140/+152
|/ | | | around their generated `Discovered.make` structures by hand, making it harder to accidentally generate the same `Discovered` twice and slow down runtime/compilation
* - Swap `Task.traverse` implementation to match behavior of other `traverse` ↵Li Haoyi2017-12-181-3/+5
| | | | | | | | implementations, added a `Task.sequence` that does what `traverse` used to do - Added a `test.sh` script to easily kick off self-hosted unit test runs - Tweak `ScalaModule` to fall back to the old behavior of including the transitive classpath during compilation
* Allow top-level targets in build files by configuring Ammonite's ↵Li Haoyi2017-12-161-17/+35
| | | | `codeWrapper` to inherit from `mill.Module`
* upgrade to new version of uPickle/AmmoniteLi Haoyi2017-12-165-20/+19
|
* First pass at using a compiler plugin to remove the need for the `override` ↵Li Haoyi2017-12-153-38/+18
| | | | | | | | 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
* Move `Evaluator`s to be long lived, and make tests passLi Haoyi2017-12-149-47/+59
|
* First pass at implementing long-lived `Worker` objects. These currently are ↵Li Haoyi2017-12-133-5/+53
| | | | | | managed by the `Evaluator`, which is now a stateful object that shouldn't be thrown away every time. We still need to update the code/test-suite to make the `Evaluator` hang around in between `evaluate` calls
* Clean up now-unused classloader cachesLi Haoyi2017-12-131-9/+2
|
* Allow `classPathSig` to be injected into `Evaluator`, and in ↵Li Haoyi2017-12-132-14/+18
| | | | | | | | `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`
* Do not erase cache for skipped tasks (#60)Roman Timushev2017-12-121-1/+3
|
* Cache classloader signaturesRoman Timushev2017-12-121-5/+9
|
* Fix task cache in REPLRoman Timushev2017-12-111-3/+7
|
* [issue-39] add logging output to file (#53)Ilya Murzinov2017-12-113-19/+72
|
* `Core.compile()` now works in the build REPLLi Haoyi2017-12-105-11/+44
|
* First pass at simplifying Ammonite integration and enabling the REPL. Can ↵Li Haoyi2017-12-103-202/+127
| | | | query for terms like `Core.compile`, but still can't run `Core.compile()`
* fix console command; add interactiveSubprocess in Jvm (#52)Nikolay Tatarinov2017-12-091-0/+8
|
* Add support for compiler plugins and enable acyclic plugin in buildTin Pavlinic2017-12-093-1/+12
|
* pass compile analysis of projectDeps to zinc, fixes #29rockjam2017-12-073-3/+11
|
* Explicitly pass built compiler-bridge jar locations from the build system ↵Li Haoyi2017-12-061-2/+22
| | | | | | | | 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
* Avoid `inheritIO` in `Jvm.subprocess`, and instead feed it into the proper ↵Li Haoyi2017-12-043-4/+50
| | | | `log.outputStream`
* Standardize on a `mill.util.Logger` classLi Haoyi2017-12-049-38/+54
|
* Make more stuff use the implicit `T.ctx()`Li Haoyi2017-12-042-10/+12
|
* - Make `T.ctx()` available implicitlyLi Haoyi2017-12-049-53/+87
| | | | | - Convert `ScalaModule.{compile,assembly}` to use the new implicit `T.ctx()` - Add a `log: PrintStream` to the `T.ctx()`, in preparation for per-task logging