summaryrefslogtreecommitdiff
path: root/core/src
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Flesh out `bridges` pre-compilation in Mill build, getting the ↵Li Haoyi2017-12-043-14/+17
| | | | | | | | | | 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
* Fix error messages on resolving cross-built modules and re-enable relevant ↵Li Haoyi2017-11-262-3/+11
| | | | neg tests
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-11-261-1/+3
|\
| * Check owner of method instead of linear search (#28)Iulian Dragos2017-11-261-1/+3
| | | | | | Inherited methods from Object can be checked for owner instead of looking at the name of the method. This should be cleaner and faster, though probably below the margin of error at this point.
* | Get acyclic's tests running after compilation failures, fixing a ↵Li Haoyi2017-11-261-0/+5
| | | | | | | | metadata.mill.json invalidation bug
* | Acyclic test suite works now that we can fork and set a proper working ↵Li Haoyi2017-11-261-3/+3
|/ | | | directory, but only when run alone (???)
* Bust caches when the build itself has changed. (#24)Iulian Dragos2017-11-261-2/+10
| | | | | Use the Ammonite classloader to check if the classpath has changed Fix #7
* fix console command in scala plugin; use subprocess for run (#21)Nikolay Tatarinov2017-11-261-2/+3
|
* Refactor `build.sc` to pull out common `ScalaModule` code into a separate traitLi Haoyi2017-11-264-5/+31
| | | | Also workaround a few scala-reflect bugs in `Discovered` and `Router` that were making this not-work
* bring back ScalaModule#run, bring back TaskModule now with a new ↵Li Haoyi2017-11-264-10/+13
| | | | defaultCommandName member
* improve task failure pretty-printingLi Haoyi2017-11-251-21/+16
|
* Remove `TaskModule`, make default-task selection to be by-name (tentatively ↵Li Haoyi2017-11-252-22/+17
| | | | | | | | | | hardcoded to `run`) so we can pass CLI arguments to the default run tasks Forward CLI arguments to the `TestModule#run` command; you can now select what tests you want to run using uTest, via: ``` mill run Core.test mill.define.ApplicativeTests ```
* - Make `Discovered` logic use the public getter of a `val` field, instead of ↵Li Haoyi2017-11-258-133/+169
| | | | | | | | the private backing-field (which seems to end with a whitespace, and doesn't seem to exist for fields defined in anonynomous classes e.g. `new { val x = 1 }` - Re-enable `mill.main.MainTests.nested` - Share test graphs between `CrossModuleTests`, `DiscoveredTests` and `MainTests`
* Streamline cross-build Scala syntax to avoid the unnecessary `List(...)` wrapperLi Haoyi2017-11-254-18/+26
|
* Fix cross-build discoveryLi Haoyi2017-11-252-5/+3
|
* Swap over to using `java.nio` APIs to make self-executable jars, instead of ↵Li Haoyi2017-11-251-5/+9
| | | | shelling out to `chmod`
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-11-251-3/+15
|\
| * Allow the definition of a prependShellScript in a ScalaModule (#13)André Duarte2017-11-251-3/+15
| |
* | Swap out all our `Either[String, Seq[String]]`s for `Mirror.Segment`sLi Haoyi2017-11-254-32/+42
| |
* | First pass at some cross-build resolving tests, not all passing yetLi Haoyi2017-11-252-3/+68
| |
* | Unit tests for `Main.resolve`Li Haoyi2017-11-252-36/+95
|/
* Merge PR #15: first attempt to refactor Main.apply()Li Haoyi2017-11-252-90/+128
|\
| * commentsandrea2017-11-252-55/+53
| |