summaryrefslogtreecommitdiff
path: root/scalalib/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix `dest`-assignment for overriden `T.command`s, and add basic unit tests ↵Li Haoyi2018-01-261-3/+5
| | | | to validate the `dest` paths of overriden commands and overriden targets
* Remove obsolete `Loader` context APILi Haoyi2018-01-241-2/+2
|
* update mill build to work with new isolated scalaworkerLi Haoyi2018-01-232-31/+23
|
* WIP splitting `mill.scalaworker` out of `mill.scalalib` and into it's own ↵Li Haoyi2018-01-235-313/+76
| | | | isolated module/classloader. Most scalalib test pass, tho GenIdea is still broken
* - Make `forkTest` and `forkRun` the default, renaming `test` and `run` to ↵Li Haoyi2018-01-211-19/+46
| | | | | | | | | | | | `testLocal` and `runLocal` - Support passing `forkEnv` parameters to `test` and `run`, necessary to get Ammonite working - Standardize signatures of `Jvm.interactiveSubprocess`/`Jvm.subprocess` - `Jvm.inprocess` is now `Jvm.runLocal` - Swap `TestModule.testLocal` over to using `Jvm.runLocal`, for consistency with everything else
* - Make `docsJar` and `sourcesJar` more robust against empty inputsLi Haoyi2018-01-211-12/+12
| | | | | - `sourcesJar` now de-dupes items by default, rather than crashing - Resolving commands now works properly within cross-builds
* Swap over to simplified Mill module/source layout from SBT'sLi Haoyi2018-01-2034-637/+0
| | | | Removes a lot of useless folders and gives us a chance to exercise this simplified layout. Support for the SBT layout is still verified by our integration tests
* add a basic test for gen-idea (#114)Stephen Nancekivell2018-01-1914-5/+183
| | | | | | | | | | * add a basic test for gen-idea * update GenIdeaTest with resources as source. * change .gitignore to allow .iml under src/test/resources. Ignore .idea_modules. * normalise library paths in GenIdeaTests
* Get Travis CI green again after adding Ammonite integration testLi Haoyi2018-01-191-17/+21
|
* Run Main.main in current process (#115)Minghao Liu2018-01-193-25/+37
| | | | | | | | | | | | | | | | * no message * fix compile * fix compile again * finishing in process running * remove comment * fix bug * fix bug
* add resource folders, only one output folder is supported (#113)Minghao Liu2018-01-191-9/+15
|
* Implement downloading/caching of binaries and java-source-folder support to ↵Li Haoyi2018-01-172-3/+18
| | | | make better-files benchmarks compile; fixes https://github.com/lihaoyi/mill/issues/37
* - Swap over to new `ivy"foo:bar:baz"` syntax for defining ivy dependenciesLi Haoyi2018-01-158-19/+35
| | | | | | - `projectDeps` is now `moduleDeps` for compatibility with our `Module` terminology - `scalalib.Module` is now `ScalaModule` for compatibility with `import scalalib._`
* Extract out miscellanous mill.define.Module helpers into the millInternal ↵Li Haoyi2018-01-141-1/+1
| | | | namespace
* More fixes for `GenIdea` dealing with nested modulesLi Haoyi2018-01-141-1/+1
|
* Fix GenIdea logic again...Li Haoyi2018-01-141-23/+23
|
* Some tweaks to get tests passing...Li Haoyi2018-01-141-52/+51
|
* Everything seems to compile with new, minimal `Discover` implementation...Li Haoyi2018-01-143-23/+18
|
* rename OSet -> AggLi Haoyi2018-01-139-59/+59
|
* Migrate most classpath-related code onto `Loose.OSet` abstraction, to ↵Li Haoyi2018-01-139-59/+71
| | | | enforce deduplication
* Break up scalalib/Module.scalaLi Haoyi2018-01-123-155/+174
|
* Allow `Cross`-builds to themselves be `Module`s so you can nest stuff insideLi Haoyi2018-01-121-0/+2
| | | | Also properly propagate `mainClass` into `assembly`
* Allow implicit `crossModule()` syntax to automatically find a set of ↵Li Haoyi2018-01-121-1/+20
| | | | cross-coordinates which are compatible with a given implicit resolver
* - Make `sources` and `resources` able to take multiple roots, so we can ↵Li Haoyi2018-01-122-21/+51
| | | | implement `CrossSbtModule` that works with `scala-2.10/` `scala-2.11/` etc. folders
* - Better error reporting in `ReplApplyHandler`Li Haoyi2018-01-121-4/+4
| | | | | - Logger now prints a newline when transitioning to ticker-mode, to avoid over-writing anything on the current line - Consolidate `scalalib.Module` logic around `assemblyClasspath`
* Properly close file inputstreams after hashing files, and eagerly close ↵Li Haoyi2018-01-111-0/+1
| | | | classloaders used for running tests
* Add generated sources target (#109)Minghao Liu2018-01-112-10/+29
| | | | | | | | | | | | * add generated source * naming * multiple content root * no message * fix output classes path
* prepare ci builds - fix tests (#107)Vadim Chelyshov2018-01-081-12/+54
|
* Simplify `Evaluator.Mapping` and consolidate logic within the `Segments` ↵Li Haoyi2018-01-082-7/+5
| | | | data-type
* Consolidate `Cross` and `CrossModule`, eliminate now-unused ↵Li Haoyi2018-01-081-3/+3
| | | | `map`/`flatMap`/`filter` APIs
* Swap over to a new, concise `CrossModule[T](..cases)` macro syntax that ↵Li Haoyi2018-01-071-3/+2
| | | | automatically propagates the `ctx` for you
* Generate the `Segments` list at definition time rather than discovery time, ↵Li Haoyi2018-01-072-8/+8
| | | | | | | | by propagating implicits throughout the tree of nested `mill.Module`s This currently adds some annoying boilerplate to the definition of cross/abstract modules, which can probably be removed using Macros. The `Segments` mapping generated by discovery is still present and used in a few places, though it will be removed
* Break out `Module.scala` from `Task.scala`Li Haoyi2018-01-071-1/+1
|
* Rename `resource/` folders `resources/` to properly match SBT convention, ↵Li Haoyi2018-01-073-1/+1
| | | | making changes within them get picked up by the file-watching `~compile`/`~test` commands
* First pass at implicitly propagating a `def basePath: Path` up the `Module` ↵Li Haoyi2018-01-072-11/+9
| | | | | | | | hierarchy, which each module receives and extends. One constraint is that now must define your abstract modules as `trait`s rather than `class`es, or otherwise add an implicit `ctx: ModuleCtx` parameter to your class definition. So far this lets us remove some explicit `basePath` definitions in `build.sc`. Proper handling of `basePath` in `CrossModule`s is future work
* Forward bulk output to `stderr` when `--show` is called, reserving `stdout` ↵Li Haoyi2018-01-051-0/+1
| | | | for the shown JSON blob
* Fix scalatest support (#101)Vadim Chelyshov2018-01-051-1/+1
| | | * Fix #99 - it's required to provide sbt.testing.Selector for scalatest
* First pass at a ticker-based progress logger to reduce the spamminess of the ↵Li Haoyi2018-01-042-2/+11
| | | | console
* fix idea... againLi Haoyi2018-01-041-1/+1
|
* First pass at providing new pretty-prints for build ↵Li Haoyi2018-01-032-2/+2
| | | | `Module`s/`Target`s/`Cross`s in the Mill REPL, making use of `sourcecode.*` values captured and definition-site and contextual information made available in the build `Mirror`
* Fix `idea` project generation, and make `Result.Exception` display the ↵Li Haoyi2018-01-011-5/+5
| | | | offending stack trace so they're easier to debug
* Pipe in stdin and stderr. We still need to figure out a policy for how ↵Li Haoyi2018-01-012-4/+4
| | | | stderr/stdout map to the various `Logger` levels, but for now this shuts up the integration tests
* Properly handle `isModule` flag on `sbt.testing.FingerPrint`Li Haoyi2018-01-011-0/+3
|
* Make `HelloWorldTests` take an explicit output path so they are less ↵Li Haoyi2018-01-013-11/+21
| | | | | | sensitive to working directories Make `run` and `runMain` take option CLI args
* Properly set the context classloader inside `TestRunner`'s `ClassLoader`Li Haoyi2018-01-011-47/+54
|
* Make `forkArgs` work with `run` and `runMain`Li Haoyi2018-01-011-4/+14
|
* Split Acyclic/Jawn/BetterFiles tests into their own `integration/` test suite.Li Haoyi2018-01-01163-11544/+15
| | | | | | Those tests now download a snapshot of the relevant git repo rather than vendoring the files, and use a bare `build.sc` instead of having the build object be included in the test classpath. Tests pass using `sbt integration/test`, but `mill integration.test` still doesn't work
* Split out generic `T.input` tasks from the `T.source` helpers, allowing ↵Li Haoyi2017-12-311-6/+6
| | | | `T.source` to behave as before but `T.input` can be used for other things. Fixes https://github.com/lihaoyi/mill/issues/77
* - Convert `T.source` into a generic `Target` that flushes the cache every timeLi Haoyi2017-12-317-36/+40
| | | | | | - Prepare `T.ctx().base: Path` that `Task`s (including `T.source`) can use to find a "default" path for source files. - Simplify `Cacher`
* `Core` -> `core`, for consistency with SBT naming schemesLi Haoyi2017-12-30177-0/+13430
`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)