summaryrefslogtreecommitdiff
path: root/scalaplugin/src/main/scala
Commit message (Collapse)AuthorAgeFilesLines
...
* pass scalacOptions and javacOptions to compile (#23)Nikolay Tatarinov2017-11-261-3/+14
|
* fix console command in scala plugin; use subprocess for run (#21)Nikolay Tatarinov2017-11-261-11/+7
|
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-11-261-5/+8
|\
| * fix #6 include project classes to incremental compilation classpath (#20)Nikolay Tatarinov2017-11-261-5/+8
| |
* | bring back ScalaModule#run, bring back TaskModule now with a new ↵Li Haoyi2017-11-261-4/+11
|/ | | | defaultCommandName member
* Remove `TaskModule`, make default-task selection to be by-name (tentatively ↵Li Haoyi2017-11-252-14/+8
| | | | | | | | | | 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-251-1/+1
| | | | | | | | 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`
* Swap over to using `java.nio` APIs to make self-executable jars, instead of ↵Li Haoyi2017-11-251-1/+1
| | | | shelling out to `chmod`
* Allow the definition of a prependShellScript in a ScalaModule (#13)André Duarte2017-11-251-1/+9
|
* First pass at simplifying test suite definition & runningLi Haoyi2017-11-251-2/+5
| | | | | | Added a `TaskModule` subclass of `Module`, which delegates to a `self` task that you can run directly from bash Fixed `GenIdea` to fix reversing of module path in generating module name
* First pass at simplifying test suite definition & runningLi Haoyi2017-11-252-7/+23
| | | | Fixed `GenIdea` to fix reversing of module path in generating module name
* Fix idea project generation again...Li Haoyi2017-11-231-1/+1
|
* unwrap Segments when generating Intellij project filesLi Haoyi2017-11-231-2/+3
|
* Targets living in cross modules can now be properly discovered, run and cached.Li Haoyi2017-11-221-2/+2
| | | | | | | | Try out the following commands on our Mill `build.sc` file to exercise this functionality - `scalaplugin/target/mill run Core.cross[jarA].jar` - `scalaplugin/target/mill run Core.cross[jarB].jar` - `scalaplugin/target/mill run Core.cross[jarC].jar`
* First hack pass at cross-build discovery and command-running now works.Li Haoyi2017-11-181-1/+1
| | | | | | Can be tested out on our `build.sc` via `scalaplugin/target/mill run Core.cross[a].printIt` Needs tons of cleanup...
* Inject logging callback into Evaluator, so we can silence the logging in our ↵Li Haoyi2017-11-181-1/+1
| | | | unit tests
* Tweak implicits to make `build.sc` pass againLi Haoyi2017-11-181-6/+14
|
* Refactor `Evaluator` implementation to reduce the number of "unsafe" map lookupsLi Haoyi2017-11-181-1/+2
|
* Implement `T.persistent{}` targets, which have their dest directory persist ↵Li Haoyi2017-11-181-55/+97
| | | | between runs so the task implementation can use it as a cache
* CleanupLi Haoyi2017-11-181-3/+3
|
* Extract out shared `Hierarchy.traverse` function for walking `Hierarchy` treeLi Haoyi2017-11-182-12/+8
|
* Vendor `com.lihaoyi:acyclic` codebase as a cross-building example, first ↵Li Haoyi2017-11-162-7/+7
| | | | non-working experiments in cross building working...
* Allow opting in to faster/sloppier `PathRef` signatures using mtime + ↵Li Haoyi2017-11-151-1/+1
| | | | | | filesize instead of md5ing the file body. Used for third-party dependencies (which are large jars but shouldn't change often) this speeds up the no-op `mill run ScalaPlugin.compile` by about a quarter
* Strip out `play-json` dependency in favor of `upickle`, which we are forced ↵Li Haoyi2017-11-151-22/+2
| | | | 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-0/+7
|
* Avoid compiling code just to get access to compiled code output pathsLi Haoyi2017-11-151-5/+10
|
* Mark the scala library jar as `type=Scala` to make intellij believe it is a ↵Li Haoyi2017-11-151-3/+3
| | | | scala sdk
* WIP cleanup of gnarly GenIdea codeLi Haoyi2017-11-151-87/+118
|
* First pass at an `assembly` task now works, rudimentary but enough to be ↵Li Haoyi2017-11-141-1/+14
| | | | used metacircularly
* First pass at IntelliJ project generation for a Mill build. Run using `sbt ↵Li Haoyi2017-11-142-30/+184
| | | | scalaplugin/assembly && amm build.sc idea`
* Rename `Subproject` to `Module`Li Haoyi2017-11-121-4/+4
|
* remove dead functionLi Haoyi2017-11-121-24/+0
|
* Clean up `mill.Main`Li Haoyi2017-11-121-13/+17
|
* Rename out `Task.path` to `Task.source`, use it more aggressively to get ↵Li Haoyi2017-11-121-3/+3
| | | | `amm -w` watch-n-rebuild functionality working on `build.sc`
* Make sure Mill classpath doesn't leak into test classloaders, except for ↵Li Haoyi2017-11-121-1/+10
| | | | specific white-listed classes (e.g. `sbt-test-interface`)
* cleanup `build.sc` importsLi Haoyi2017-11-113-46/+55
|
* `T{}` blocks can now be implicitLi Haoyi2017-11-111-3/+3
|
* - Smoothed out syntax for defining ivy dependenciesLi Haoyi2017-11-111-23/+41
| | | | - Made `build.sc` file directly runnable using Ammonite, without any wrapper
* First set of unit tests running through MillLi Haoyi2017-11-112-16/+14
|
* - Give `Target`s nicer `toString`s using `sourcecode.Enclosing`. Still not ↵Li Haoyi2017-11-111-12/+9
| | | | | | | | | | as good as the `Labeling` they get during evaluation, but better than nothing - Split out `TargetImpl` from `Target`, so we can make our dummy `TestUtils.Test` class implement `Target`s for discoverability etc. - Make `Discovered` only discover `Target`s, not `Task`s - Make `groupAroundNamedTargets` properly sort the groups topologically, and by flexible enough to combine groups which have cycles between them.
* Swap over to new `projectDeps` mechanism for defining dependencies between ↵Li Haoyi2017-11-112-10/+115
| | | | various `scalaplugin.Subproject`s
* First sketch at SBT test integration worksLi Haoyi2017-11-111-1/+31
|
* rename forge -> millLi Haoyi2017-11-101-5/+5
|
* Add basic tests for un-cached evaluation of `Task`sLi Haoyi2017-11-101-2/+2
|
* Kill `Router.main` annotation and make routing dependent on the `Command` ↵Li Haoyi2017-11-101-2/+1
| | | | return type
* Migrate over to the new `Task`/`Target`/`Command` splitLi Haoyi2017-11-091-7/+6
|
* Make `Applicative` macros able to inject a configurable `Ctx` object, used ↵Li Haoyi2017-11-091-16/+5
| | | | in `Target` to inject the `dest` folder for the `T{...}` block to use
* make scalaplugin.Subproject use the builtin destination folderLi Haoyi2017-11-091-7/+17
|
* Swap `compileScala` over to `T{...}` macroLi Haoyi2017-11-081-67/+64
|
* First full metacircular compile-build-execute workflow now works using the ↵Li Haoyi2017-11-071-0/+10
| | | | | | | | `build.sc` file in the root of the repo. Run using ``` sbt scalaplugin/compile "core/run build.sc ScalaPlugin.console" ```