summaryrefslogtreecommitdiff
path: root/core/src/test
Commit message (Collapse)AuthorAgeFilesLines
* First pass at implicitly propagating a `def basePath: Path` up the `Module` ↵Li Haoyi2018-01-0710-85/+142
| | | | | | | | 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
* First pass at providing new pretty-prints for build ↵Li Haoyi2018-01-038-17/+22
| | | | `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-test-compilationLi Haoyi2018-01-011-2/+8
|
* Fix `idea` project generation, and make `Result.Exception` display the ↵Li Haoyi2018-01-012-2/+2
| | | | offending stack trace so they're easier to debug
* Split out generic `T.input` tasks from the `T.source` helpers, allowing ↵Li Haoyi2017-12-312-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-315-15/+18
| | | | | | - Prepare `T.ctx().base: Path` that `Task`s (including `T.source`) can use to find a "default" path for source files. - Simplify `Cacher`
* Make use of `T.command`s `T.ctx().dest` in `ScalaPlugin#test.test` and ↵Li Haoyi2017-12-301-1/+1
| | | | `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-291-2/+2
| | | | `Target` within a single folder
* Assign different overrides of a Target different cache directories and ↵Li Haoyi2017-12-294-3/+22
| | | | paths, to fix https://github.com/lihaoyi/mill/issues/86
* Move TestEvaluator to coreRoman Timushev2017-12-291-0/+29
|
* Tidy up Task.scala macros...Li Haoyi2017-12-291-1/+1
|
* Kill old `LabelledTarget` classesLi Haoyi2017-12-296-30/+28
|
* WIP Migrating `Target` name/pickler generation from the `Mirror` discovery ↵Li Haoyi2017-12-295-39/+58
| | | | into the `Target` definitions themselves. Haven't deleted the old/unused `Mirror` data structures yet...
* Generate zipmap definitions for higher arities (#81)Duncan Mak2017-12-271-34/+3
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* WIP: provide Mapping as a Ctx argument that can be accessed from within ↵Li Haoyi2017-12-254-5/+5
| | | | Tasks, for usage within `GenIdea` and similar
* Refactor `mill.Main` to avoid going through Ammonite's main-method-dispatch ↵Li Haoyi2017-12-251-1/+1
| | | | system
* Remove `Router.scala`, whose changes have been upstreamed into the Ammonite ↵Li Haoyi2017-12-241-3/+3
| | | | | | 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-241-0/+7
|
* Merge branch 'master' of github.com:lihaoyi/millLi Haoyi2017-12-201-0/+3
|\
| * Add Sonatypype publishing;rockjam2017-12-202-1/+4
| | | | | | | | now you can publish your module with `mill run MyModule.publish --credentials $SONATYPE_CREDENTIALS --gpgPassphrase $GPG_PASSPHRASE`
| * publishLocal - looks like it worksdos652017-12-201-1/+1
| |
* | Remove implicit `Discovered.apply[T]` method. This forces people to pass ↵Li Haoyi2017-12-2010-109/+113
|/ | | | around their generated `Discovered.make` structures by hand, making it harder to accidentally generate the same `Discovered` twice and slow down runtime/compilation
* upgrade to new version of uPickle/AmmoniteLi Haoyi2017-12-162-1/+2
|
* First pass at using a compiler plugin to remove the need for the `override` ↵Li Haoyi2017-12-151-1/+14
| | | | | | | | 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-142-17/+24
|
* `Core.compile()` now works in the build REPLLi Haoyi2017-12-101-2/+2
|
* First pass at simplifying Ammonite integration and enabling the REPL. Can ↵Li Haoyi2017-12-101-1/+1
| | | | query for terms like `Core.compile`, but still can't run `Core.compile()`
* Add support for compiler plugins and enable acyclic plugin in buildTin Pavlinic2017-12-091-1/+3
|
* pass compile analysis of projectDeps to zinc, fixes #29rockjam2017-12-071-0/+3
|
* Standardize on a `mill.util.Logger` classLi Haoyi2017-12-044-11/+11
|
* Make more stuff use the implicit `T.ctx()`Li Haoyi2017-12-041-6/+7
|
* - Make `T.ctx()` available implicitlyLi Haoyi2017-12-043-3/+8
| | | | | - 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
* Fix error messages on resolving cross-built modules and re-enable relevant ↵Li Haoyi2017-11-261-2/+2
| | | | neg tests
* Refactor `build.sc` to pull out common `ScalaModule` code into a separate traitLi Haoyi2017-11-262-1/+24
| | | | 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-261-2/+0
| | | | defaultCommandName member
* - Make `Discovered` logic use the public getter of a `val` field, instead of ↵Li Haoyi2017-11-256-126/+162
| | | | | | | | 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-252-13/+13
|
* Fix cross-build discoveryLi Haoyi2017-11-251-3/+1
|
* Swap out all our `Either[String, Seq[String]]`s for `Mirror.Segment`sLi Haoyi2017-11-251-12/+12
|
* First pass at some cross-build resolving tests, not all passing yetLi Haoyi2017-11-251-2/+65
|
* Unit tests for `Main.resolve`Li Haoyi2017-11-251-0/+49
|
* Targets living in cross modules can now be properly discovered, run and cached.Li Haoyi2017-11-224-16/+62
| | | | | | | | 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-182-2/+84
| | | | | | Can be tested out on our `build.sc` via `scalaplugin/target/mill run Core.cross[a].printIt` Needs tons of cleanup...
* dry-up-workspaceLi Haoyi2017-11-181-3/+3
|
* Refactor `eval/FailureTests` to DRY it upLi Haoyi2017-11-181-36/+48
|
* Shift mixed task/target group-count tests into `GraphTests` with the other ↵Li Haoyi2017-11-183-76/+104
| | | | `groupAroundNamedArgs` tests, and move the graph definitions themselves into `TestGraphs` so they can be shared
* Add some basic tests for failure/exception handling during evaluation...Li Haoyi2017-11-182-2/+94
|
* Move graph algorithms on tasks into `define/Graph.scala`, and move ↵Li Haoyi2017-11-182-36/+37
| | | | `GraphTests.scala` into `define/` as well
* Move some test cases that are testing `mill/discover/` code, into that packageLi Haoyi2017-11-183-79/+107
|
* Add basic unit tests for `T.command` discoveryLi Haoyi2017-11-181-1/+43
|