summaryrefslogtreecommitdiff
path: root/build.sc
Commit message (Collapse)AuthorAgeFilesLines
* Split out generic `T.input` tasks from the `T.source` helpers, allowing ↵Li Haoyi2017-12-311-1/+1
| | | | `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-311-1/+1
| | | | | | - 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-301-33/+34
| | | | | | | | `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)
* Assign different overrides of a Target different cache directories and ↵Li Haoyi2017-12-291-2/+3
| | | | paths, to fix https://github.com/lihaoyi/mill/issues/86
* Cross-publish for ScalaJSRoman Timushev2017-12-291-1/+1
|
* ScalaJS plugin buildRoman Timushev2017-12-291-2/+33
|
* Move all the source generation logic into a `shared.sc` file to avoid ↵Li Haoyi2017-12-281-113/+16
| | | | | | | | duplication DRY it up internally Move the Bridge downloading logic into `shared.sc` as well, and swap the subprocesses for in-memory processing using scalaj-http and ZipInputStream
* Generate zipmap definitions for higher arities (#81)Duncan Mak2017-12-271-1/+103
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* - Shift `MappingCtx` into a magic `LoaderCtx` `Loader` to avoid circular ↵Li Haoyi2017-12-261-1/+1
| | | | | | | | dependencies between `Ctx` -> `Discovered` -> `Task` - `mill idea` works now using `GenIdea` as a standalone `T.command` making use of the new contextually-available `Mapping` - Limit implicit `ReplApplyHandler` to `--repl` only, to avoid it kicking in if `build.sc` scripts are screwed up and adding further confusion
* WIP: provide Mapping as a Ctx argument that can be accessed from within ↵Li Haoyi2017-12-251-0/+1
| | | | Tasks, for usage within `GenIdea` and similar
* prepare mill-bridges to be published to maven central (#78)Nikolay Tatarinov2017-12-241-10/+16
|
* Remove `Router.scala`, whose changes have been upstreamed into the Ammonite ↵Li Haoyi2017-12-241-1/+1
| | | | | | 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
* Add Sonatypype publishing;rockjam2017-12-201-8/+20
| | | | now you can publish your module with `mill run MyModule.publish --credentials $SONATYPE_CREDENTIALS --gpgPassphrase $GPG_PASSPHRASE`
* publishLocal - looks like it worksdos652017-12-201-0/+5
|
* - Swap `Task.traverse` implementation to match behavior of other `traverse` ↵Li Haoyi2017-12-181-2/+2
| | | | | | | | 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
* Bump Ammonite version in `build.sc` to fix upickle bugLi Haoyi2017-12-171-32/+31
| | | | Move `assembly`/`releaseAssembly` targets out of the stub `ScalaModule`, to take advantage of the new top-level `Target` support
* fix build.sc to build itself with newer version of ammonite (#70)Nikolay Tatarinov2017-12-171-1/+6
|
* Allow top-level targets in build files by configuring Ammonite's ↵Li Haoyi2017-12-161-0/+3
| | | | `codeWrapper` to inherit from `mill.Module`
* remove unused MILL_COMPILER_PLUGIN flagLi Haoyi2017-12-151-2/+1
|
* First pass at using a compiler plugin to remove the need for the `override` ↵Li Haoyi2017-12-151-15/+30
| | | | | | | | 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 assemble to a separate moduleRoman Timushev2017-12-131-1/+11
|
* Resolve compiler bridge jar (#45)Roman Timushev2017-12-111-0/+11
| | | | | | * Resolve compiler bridge jar * Create a release artifact
* Implement a `SbtScalaModule` helper trait, to conveniently set up the ↵Li Haoyi2017-12-101-4/+1
| | | | | | default source/test locations for builds using SBT project layout Also split out plain-old-Scala-logic in `Lib` from inheritable traits in `ScalaModule`, since `ScalaModule` was getting a bit unwieldy
* Add support for compiler plugins and enable acyclic plugin in buildTin Pavlinic2017-12-091-0/+6
|
* pass compile analysis of projectDeps to zinc, fixes #29rockjam2017-12-071-8/+5
|
* Explicitly pass built compiler-bridge jar locations from the build system ↵Li Haoyi2017-12-061-6/+15
| | | | | | | | 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
* Flesh out `bridges` pre-compilation in Mill build, getting the ↵Li Haoyi2017-12-041-0/+35
| | | | | | | | | | 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
* Pass `$JAVA_OPTS` to the JVM (#34)Iulian Dragos2017-11-291-1/+1
| | | This allows an easy way to hook an external debugger via -agentlib. JAVA_OPTS is picked up by both Scala and Sbt, so it seems an easy win.
* Tweak readme, fix SBT executable assembly prefixLi Haoyi2017-11-271-1/+4
|
* upgrade zinc 1.0.3 -> 1.0.5 (#26)Nikolay Tatarinov2017-11-261-2/+2
|
* Refactor `build.sc` to pull out common `ScalaModule` code into a separate traitLi Haoyi2017-11-261-14/+12
| | | | Also workaround a few scala-reflect bugs in `Discovered` and `Router` that were making this not-work
* Fix cross-build discoveryLi Haoyi2017-11-251-14/+14
|
* Swap over to using `java.nio` APIs to make self-executable jars, instead of ↵Li Haoyi2017-11-251-14/+14
| | | | shelling out to `chmod`
* Allow the definition of a prependShellScript in a ScalaModule (#13)André Duarte2017-11-251-0/+4
|
* First pass at simplifying test suite definition & runningLi Haoyi2017-11-251-1/+1
| | | | | | 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-251-15/+6
| | | | Fixed `GenIdea` to fix reversing of module path in generating module name
* Targets living in cross modules can now be properly discovered, run and cached.Li Haoyi2017-11-221-2/+9
| | | | | | | | 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`
* tweak-formattingLi Haoyi2017-11-181-4/+6
|
* First hack pass at cross-build discovery and command-running now works.Li Haoyi2017-11-181-0/+6
| | | | | | Can be tested out on our `build.sc` via `scalaplugin/target/mill run Core.cross[a].printIt` Needs tons of cleanup...
* CleanupLi Haoyi2017-11-181-3/+3
|
* First pass at cleaning up `build.sc` file syntaxLi Haoyi2017-11-151-51/+42
|
* Mark the scala library jar as `type=Scala` to make intellij believe it is a ↵Li Haoyi2017-11-151-2/+2
| | | | scala sdk
* First pass at an `assembly` task now works, rudimentary but enough to be ↵Li Haoyi2017-11-141-1/+2
| | | | used metacircularly
* First pass at IntelliJ project generation for a Mill build. Run using `sbt ↵Li Haoyi2017-11-141-1/+3
| | | | scalaplugin/assembly && amm build.sc idea`
* Rename `Subproject` to `Module`Li Haoyi2017-11-121-8/+6
|
* Clean up `mill.Main`Li Haoyi2017-11-121-2/+2
|
* Rename out `Task.path` to `Task.source`, use it more aggressively to get ↵Li Haoyi2017-11-121-4/+4
| | | | `amm -w` watch-n-rebuild functionality working on `build.sc`
* cleanup `build.sc` importsLi Haoyi2017-11-111-6/+3
|
* `T{}` blocks can now be implicitLi Haoyi2017-11-111-27/+22
|
* - Smoothed out syntax for defining ivy dependenciesLi Haoyi2017-11-111-17/+17
| | | | - Made `build.sc` file directly runnable using Ammonite, without any wrapper