summaryrefslogtreecommitdiff
path: root/scalaplugin/src
Commit message (Collapse)AuthorAgeFilesLines
* `Core` -> `core`, for consistency with SBT naming schemesLi Haoyi2017-12-30177-13430/+0
| | | | | | | | `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-302-23/+79
| | | | `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-292-8/+8
| | | | `Target` within a single folder
* Cross-publish for ScalaJSRoman Timushev2017-12-293-17/+20
|
* ScalaJS pluginRoman Timushev2017-12-291-2/+2
|
* Move TestEvaluator to coreRoman Timushev2017-12-295-30/+4
|
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-12-291-18/+17
|\
| * Do not use tar for jar verification (#85)Roman Timushev2017-12-291-18/+17
| |
* | Kill old `LabelledTarget` classesLi Haoyi2017-12-293-4/+4
|/
* Slightly simplify `test.sh` matrix and cache more evaluators in ↵Li Haoyi2017-12-263-103/+88
| | | | `HelloWorldTests`, to try and speed up `test.sh` runs
* Cache scala compiler jars in a separate classloader from the compiler plugin ↵Li Haoyi2017-12-262-7/+21
| | | | jars, since the compiler jars change much less frequently and the code can thus be kept hot rather than being discarded each time
* Simplify `AcyclicTests` a bit to speed it upLi Haoyi2017-12-261-2/+2
|
* Fix `HelloWorldTests.scala`Li Haoyi2017-12-261-6/+5
|
* - Shift `MappingCtx` into a magic `LoaderCtx` `Loader` to avoid circular ↵Li Haoyi2017-12-261-5/+9
| | | | | | | | 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-256-47/+41
| | | | Tasks, for usage within `GenIdea` and similar
* prepare mill-bridges to be published to maven central (#78)Nikolay Tatarinov2017-12-242-5/+8
|
* Fix Idea project for cross-modules (#80)Roman Timushev2017-12-241-3/+11
|
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-12-2014-23/+759
|\
| * Add Sonatypype publishing;rockjam2017-12-2013-261/+589
| | | | | | | | now you can publish your module with `mill run MyModule.publish --credentials $SONATYPE_CREDENTIALS --gpgPassphrase $GPG_PASSPHRASE`
| * publishLocal - looks like it worksdos652017-12-206-6/+355
| |
| * Report errors when dependency resolution fails (#71)Grant2017-12-184-17/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-206-38/+33
|/ | | | 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-16/+13
| | | | | | | | 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
* - Remove `GenIdea` dependency on compiled output (fixes ↵Li Haoyi2017-12-171-3/+4
| | | | | | https://github.com/lihaoyi/mill/issues/59) - Add missing flag to fix downloading of source jars for IntelliJ
* Bump Ammonite version in `build.sc` to fix upickle bugLi Haoyi2017-12-171-5/+5
| | | | Move `assembly`/`releaseAssembly` targets out of the stub `ScalaModule`, to take advantage of the new top-level `Target` support
* fix build.sc to build itself with newer version of ammonite (#70)Nikolay Tatarinov2017-12-171-2/+2
|
* upgrade to new version of uPickle/AmmoniteLi Haoyi2017-12-161-3/+8
|
* Ensure `ScalaModule#resources` files are properly propagated through ↵Li Haoyi2017-12-151-1/+1
| | | | classpath of downstream modules, so they appear in downstream `assembly`s. Necessary to make `AutoOverridePlugin` work in the mill-build mill executable
* First pass at using a compiler plugin to remove the need for the `override` ↵Li Haoyi2017-12-154-25/+25
| | | | | | | | 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
* First pass adding a Jawn build to the test suite. Jawn's own test suite ↵Li Haoyi2017-12-1456-0/+4529
| | | | doesn't run properly for some reason
* Move `Evaluator`s to be long lived, and make tests passLi Haoyi2017-12-142-6/+14
|
* First pass at implementing long-lived `Worker` objects. These currently are ↵Li Haoyi2017-12-131-11/+17
| | | | | | 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
* Skip missing source directoriesRoman Timushev2017-12-131-1/+1
|
* Resolve compiler bridge jar (#45)Roman Timushev2017-12-112-11/+23
| | | | | | * Resolve compiler bridge jar * Create a release artifact
* [issue-39] add logging output to file (#53)Ilya Murzinov2017-12-111-0/+6
|
* Implement a `SbtScalaModule` helper trait, to conveniently set up the ↵Li Haoyi2017-12-104-197/+208
| | | | | | default source/test locations for builds using SBT project layout Also split out plain-old-Scala-logic in `Lib` from inheritable traits in `ScalaModule`, since `ScalaModule` was getting a bit unwieldy
* fix console command; add interactiveSubprocess in Jvm (#52)Nikolay Tatarinov2017-12-091-2/+2
|
* Add support for compiler plugins and enable acyclic plugin in buildTin Pavlinic2017-12-091-2/+10
|
* robustify gen-idea against pre-existing filesLi Haoyi2017-12-081-1/+1
|
* pass compile analysis of projectDeps to zinc, fixes #29rockjam2017-12-073-32/+54
|
* Explicitly pass built compiler-bridge jar locations from the build system ↵Li Haoyi2017-12-062-10/+16
| | | | | | | | 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
* Hackily speed up repeated Scala compiles by keeping a global cache of hot ↵Li Haoyi2017-12-052-23/+12
| | | | ScalaInstance/Classloader instances around between compiles
* merge cross-bridge into masterLi Haoyi2017-12-056-82/+95
|\
| * Avoid `inheritIO` in `Jvm.subprocess`, and instead feed it into the proper ↵Li Haoyi2017-12-041-3/+3
| | | | | | | | `log.outputStream`
| * Standardize on a `mill.util.Logger` classLi Haoyi2017-12-044-16/+22
| |
| * Make more stuff use the implicit `T.ctx()`Li Haoyi2017-12-041-3/+1
| |
| * - Make `T.ctx()` available implicitlyLi Haoyi2017-12-041-15/+13
| | | | | | | | | | - 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
| * Update test caseLi Haoyi2017-12-041-1/+1
| |
| * Flesh out `bridges` pre-compilation in Mill build, getting the ↵Li Haoyi2017-12-041-4/+6
| | | | | | | | | | | | | | | | | | | | 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-042-4/+15
| | | | | | | | | | | | 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