summaryrefslogtreecommitdiff
path: root/scalajslib/src
Commit message (Collapse)AuthorAgeFilesLines
* make mainClass discovery work in ScalaJSModule#runLi Haoyi2018-03-031-24/+17
| | | | Also disable ScalaJSModule#runMain, since the official Scala.js-SBT plugin does not support it and it requires an expensive re-linking every time it is run.
* share repositories between ScalaWorker and ScalaModuleLi Haoyi2018-03-021-1/+1
|
* Allow people to substitute in their own implementation of ↵Li Haoyi2018-03-021-1/+2
| | | | ScalaModule#scalaWorker to configure resolvers/etc.
* make scala.js work with multi-module projects (#165)Nikolay Tatarinov2018-02-261-15/+10
|
* A few attempts at micro-optimizing the current hot spotsLi Haoyi2018-02-251-1/+1
|
* support multiple test frameworks (#148)Nikolay Tatarinov2018-02-221-2/+2
| | | support multiple test frameworks
* - Fix UpickleTests' JS case when running forkedLi Haoyi2018-02-111-3/+3
| | | | - Shard out forked/local integration tests over the different `test-mill-*.sh` scripts, to try and reduce test times while maintaining coverage
* make test-mill-release run integration tests using the release assemblyLi Haoyi2018-02-111-1/+1
|
* Properly pick up non-top-level sjsir files during `fastOptJS`Li Haoyi2018-02-111-1/+1
|
* Refactor ScalaModule to simplify it and delay ivy resolution until the last ↵Li Haoyi2018-02-111-5/+5
| | | | moment
* make ScalaJSModule override scalaLibraryDeps instead of overriding ivyDeps, ↵Li Haoyi2018-02-111-2/+1
| | | | to reduce the change for conflict
* WIP getting Scala.js dependencies working nicelyLi Haoyi2018-02-111-6/+6
|
* fix jsbridges dependencyLi Haoyi2018-02-101-1/+1
|
* Make ScalaJSModule avoid stomping over existing definitionsLi Haoyi2018-02-101-3/+8
|
* Some long-overdue renamingsLi Haoyi2018-02-091-1/+1
|
* scala.js run (#127)Nikolay Tatarinov2018-02-092-0/+37
| | | | scala.js run command
* fix artifact naming for publishLocal/publishLi Haoyi2018-02-041-1/+1
|
* Add support for external modules, useful for things `GenIdea` supportLi Haoyi2018-02-041-0/+2
|
* Fix `HelloJsWorld` testsLi Haoyi2018-02-041-2/+3
|
* Embed the `MILL_VERSION` to the `releaseAssembly` CLI flags so it knows ↵Li Haoyi2018-02-041-1/+1
| | | | which version of the various Mill jars it needs to resolve from maven central
* fix scalalib testsLi Haoyi2018-02-031-1/+4
|
* - Renamed `Ctx.FooCtx` => `Ctx.Foo`Li Haoyi2018-02-021-1/+1
| | | | - Remove un-used `Evaluator#millSourcePath` parameter
* compile zinc compiler bridges on demand to remove restriction on supported ↵Li Haoyi2018-02-021-2/+0
| | | | scala versions
* Move `ScalaWorkerApi`/`ScalaJSBridge` over to new `ExternalModule` classLi Haoyi2018-02-021-1/+1
| | | | Also add a simple unit to validate that you can use `ExternalModule`s as part of a build, and that the
* WIP: Scala js testing (#119)Nikolay Tatarinov2018-02-012-55/+134
| | | fixes #102. Use scala js testing framework to launch tests
* Make `idea` task work with releaseAssembly and publishLocalLi Haoyi2018-01-271-1/+2
|
* Migrate `scalajslib` over to a `T.worker` setup similar to `scalalib`Li Haoyi2018-01-253-89/+109
|
* Swap over to simplified Mill module/source layout from SBT'sLi Haoyi2018-01-205-167/+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
* - Swap over to new `ivy"foo:bar:baz"` syntax for defining ivy dependenciesLi Haoyi2018-01-151-2/+2
| | | | | | - `projectDeps` is now `moduleDeps` for compatibility with our `Module` terminology - `scalalib.Module` is now `ScalaModule` for compatibility with `import scalalib._`
* - Collapse `Ctx#segments` and `Ctx#segments0` into one field, instead doing ↵Li Haoyi2018-01-151-3/+3
| | | | the prefix-stripping up-front in `BaseModule`
* Some tweaks to get tests passing...Li Haoyi2018-01-141-15/+17
|
* Everything seems to compile with new, minimal `Discover` implementation...Li Haoyi2018-01-141-2/+1
|
* rename OSet -> AggLi Haoyi2018-01-132-6/+6
|
* Migrate most classpath-related code onto `Loose.OSet` abstraction, to ↵Li Haoyi2018-01-132-9/+16
| | | | enforce deduplication
* Consolidate `Cross` and `CrossModule`, eliminate now-unused ↵Li Haoyi2018-01-081-2/+1
| | | | `map`/`flatMap`/`filter` APIs
* Swap over to a new, concise `CrossModule[T](..cases)` macro syntax that ↵Li Haoyi2018-01-071-6/+4
| | | | automatically propagates the `ctx` for you
* Generate the `Segments` list at definition time rather than discovery time, ↵Li Haoyi2018-01-071-6/+11
| | | | | | | | 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
* Rename `resource/` folders `resources/` to properly match SBT convention, ↵Li Haoyi2018-01-072-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-071-4/+4
| | | | | | | | 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
* - Convert `T.source` into a generic `Target` that flushes the cache every timeLi Haoyi2017-12-311-1/+2
| | | | | | - 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-305-0/+306
`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)