| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| | |
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
up mysteriously
|
| |
| |
| |
| | |
with os.proc
|
|/
|
|
| |
__.compile works, haven't run tests yet
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#414)
* Upgrade ammonite to 1.1.2-30-53edc31
This is mainly to get https://github.com/lihaoyi/Ammonite/pull/851 which
should reduce the amount of unnecessary work done by incremental
compilation in the Mill build. This requires some code changes since
this means we now depend on a more recent version of coursier, as a
side-effect this means that we do not depend on scalaz anymore.
Also use the same ammonite version in the Mill build and in
ScalaModule#ammoniteReplClasspath.
Also remove an incorrect dependency in the caffeine integration test.
This was always wrong but did not start failing until this commit,
probably due to dependencies appearing in a different order on the
classpath.
* Rename ScalaWorker to ZincWorker
Starting with the next commit, it will be used in Java-only projects
too, so the name is misleading.
* Upgrade to Zinc 1.2.1
* Fix incremental compilation when a Scala project depends on a Java project
Before this commit, JavaModule#compile simply called javac
unconditionally, thus generating new classfiles every time. But if a
Scala project depends on a Java project, this will throw off the
incremental compilation algorithm which will unnecessarily recompile
files. To avoid this we now use Zinc to compile Java projects too (as a
bonus this means that Java compilation becomes incremental). This
required some refactoring in ZincWorkerImpl to be able to compile stuff
without having to pass Scala-specific options.
The issue solved by this commit could be reproduced by running in the
Mill repository:
$ mill main.compile
$ mill -i
@ main.compile()
and observing that before this commit, the `main.compile()` call ended
up recompiling code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Abstract over the scala compiler organization
* Support using a locally published compiler
Publishing locally with sbt means publishing ivy-style, which uses
a different naming convention than maven, we now handle both cases.
* Add minimal support for Dotty projects
* Rewrite scalalib.Dep, introduce scalalib.CrossVersion
Instead of Dep being a trait with three cases (Java/Scala/Point), it is
now a case class where the cross field is an instance of the
CrossVersion trait which has three cases (Constant/Binary/Full). This is
more versatile since it allows for non-empty constant suffixes which
will be used to implement withDottyCompat in the next commit. It's
also a cleaner separation of concerns. We also deduplicate various
pieces of codes that computed the artifact name: this is now always handled in
Dep and CrossVersion.
* Add simple way to use Scala 2 deps in a Dotty project
This is similar to the withDottyCompat method in the sbt-dotty plugin.
* Turn off the Dotty test on Java >= 9
|
| |
|
|
|
|
|
| |
- Unit tests for client code using the new Java support
- Make server auto-shutdown when the client version changes, to avoid stale-server confusion
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* play json build
* build progress
* add check task
* try to make play json js build
* scalariform and mima plugins in separate files. check mima
* better error message for mima compatibility check
* fix scala 2.10 compilation
* license headers support
* add jmh support
* fix reformat on compile; fix code validation; extract base module
* remove scala 2.13 from cross versions
* include play-json in integration tests
* add example .travis.yml
* bring back scala 2.13 support
* make reformat target, not command
* add release task
* update mill version in travis.yml
* update release script
* update release process
* add README.md for play json build
|
|
|
|
|
|
|
|
| |
* Test mill using Java 9 (in addition to Java 8).
* Use mill -i.
* Fixed Java 9 path.
|
|
|
| |
The scm url syntax is a source of confusion for developper. I added VersionControl.github() to simplify this process. We can add other common VersionControl url scheme like Bazar, etc.
|
|
|
|
|
|
| |
* Add predefined licenses from spdx
* Fix License usages
|
|
|
| |
support multiple test frameworks
|
|
|
|
| |
- Shard out forked/local integration tests over the different `test-mill-*.sh` scripts, to try and reduce test times while maintaining coverage
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
CI-failure commented out
|
| |
|
| |
|
|
|
|
| |
- Make `T.worker`s not flush out their directories between instantiations
|
|
|
|
| |
scala versions
|
|
|
|
|
|
| |
create a version of `JavaCompilerJarTests` that runs through our main method & script runner.
This should let us catch a lot of bugs with `MainRunner` and friends quickly, without needing to run the slow integration tests
|
| |
|
|
|
|
| |
to validate the `dest` paths of overriden commands and overriden targets
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
make better-files benchmarks compile; fixes https://github.com/lihaoyi/mill/issues/37
|
|
|
|
|
|
| |
- `projectDeps` is now `moduleDeps` for compatibility with our `Module` terminology
- `scalalib.Module` is now `ScalaModule` for compatibility with `import scalalib._`
|
|
|
|
| |
- Update `build.sc`, `build.sbt` and `ci/` scripts
|
| |
|
| |
|
|
|
|
| |
things still stubbed out with `???`
|
| |
|
|
|
|
| |
enforce deduplication
|