summaryrefslogtreecommitdiff
path: root/scalanativelib/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix shutdown hook failures in tests (#422)aosagie2018-09-021-1/+1
| | | | | | * Remove duplication from ClassLoader.create * Prevent closing of context class loader in tests so that shutdown hooks can run
* Fix incremental compilation when a Scala project depends on a Java project ↵Guillaume Martres2018-08-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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.
* more terminology fixesLi Haoyi2018-08-221-1/+1
|
* standardize more worker terminologyLi Haoyi2018-08-222-19/+19
|
* tweaksLi Haoyi2018-08-221-1/+1
|
* standardize naming of ScalaWorker/Api/ImplLi Haoyi2018-08-222-6/+6
|
* fix buildLi Haoyi2018-08-221-1/+1
|
* Add support for Dotty projects (#397)Guillaume Martres2018-08-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* improve error messages for scala native test suiteLi Haoyi2018-07-181-4/+8
|
* WIP: Scala native (#206)Andrew Richards2018-07-182-0/+389
* add scala-native PR#1143 as submodule * first pass at integrating scala-native build into mill including worker/bridge * add the native libraries to the compile and run classpath * sssshhh don't be so noisy * update scala-native to latest build WIP * update mill to latest scala-native build-api code * add test interface from scala-native this code is not published ornot published at the correct scala version so copy it in for now * implement tests for scala-native very messy at the moment also correct bridge version as much as possible with out a scala-native release * update to scala-native/master scala-native #1143 now merged * Remove scala-native submodule * updates for scala-native 0.3.7 release * fixes after rebase * make test framework agnostic and tidy dependencies * add robust method of getting JVM classpath for running tests support for multiple test frameworks tidy up * rebase fixes for 0.2.0 * add SbtNativeModule and tidy * rebase fixes * fix building of compile / run Classpath (via transitiveIvyDeps) better method of loading JVM test frameworks * add tests for build, run, utest, scalatest * move native tests into it own trait which can be extended/overidden * change release mode to a sealed trait instead of boolean * add logLevel to ScalaNativeModule and plumb in propagate release and log levels to test projects * use test-runner from scala-native instead of including project source add ability easily compile against scala-native snapshots * add some docs * update to 0.3.8