summaryrefslogtreecommitdiff
path: root/build.sbt
Commit message (Collapse)AuthorAgeFilesLines
* Bump on 2.11.10 releaseAdriaan Moors2017-04-101-1/+1
|
* Bump versions on 2.11.9 releaseAdriaan Moors2017-03-281-1/+1
|
* Merge pull request #5504 from retronym/topic/sbt-macro-warnSeth Tisue2016-11-071-0/+4
|\ | | | | Silence SBT logging about macros and incremental compilation.
| * Silence SBT logging about macros and incremental compilation.Jason Zaugg2016-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Since upgrading to SBT 0.13.12, clean builds have incurred warnings like: Because JavaMirrors.scala contains a macro definition, the following dependencies are invalidated unconditionally: .... This commit disables this behaviour of the SBT incremental compiler in the library and reflect projects, as these aren't regular macros (the macro implementations are hard coded in the compiler in `FastTrack`) so the new behaviour isn't actually improving correctness of inc. compilation.
* | [backport] Bump sbt.version to 0.13.12, without breakingDale Wijnand2016-10-191-0/+5
|/
* Make removing forkjoin dependant on the organization keyDale Wijnand2016-06-201-10/+14
|
* Use sbt for PR validationStefan Zeiger2016-06-141-55/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Support directories in `-doc-external-doc`: It is documented as accepting a “classpath_entry_path” for the keys but this only worked for JARs and not for individual class files. When checking for external-doc mappings for a Symbol, we now find the root directory relative to a class file instead of using the full class file path. The corresponding tests for SI-191 and SI8557 are also fixed to support individual class files instead of JARs in partest. This is required for the sbt build which runs partest on “quick” instead of “pack”. - Fix version and repository handling for bootstrapping. The bootstrap `scalaInstance` can now be resolved from any repository added to the project (not just the bootstrap repositories) by using a different workaround for https://github.com/sbt/sbt/issues/1872. - Workaround for https://github.com/sbt/sbt/issues/2640 (putting the wrong `scalaInstance` on partest’s classpath). The required `ScalaInstance` constructor is deprecated, so we have to disable deprecation warnings and fatal warnings until there is a better fix. - Add MiMa to the sbt build (port of the old `test.bc` ant task). The sbt-mima plugin doesn’t have all the features we need, so we do it manually in a similar way to what the plugin does. Checks are done in both directions for the `library` and `compiler` projects. The base version has to be set in `build.sbt`. When set to `None`, MiMa checks are skipped. MiMa checks are run sequentially to avoid spurious errors (see https://github.com/typesafehub/migration-manager/issues/115). - Port the OSGi tests to the sbt build. The set of JARs that gets copied into build/osgi as bundles is a bit different from the ant build. We omit the source JARs but add additional modules that are part of the Scala distribution, which seems more correct. - Get rid up `pull-binary-libs.sh` for the sbt build. Add artifacts are resolved from the special bootstrap repository through Ivy. The special `code.jar` and `instrumented.jar` artifacts are copied to the location where partest expects them (because these paths are hardcoded in partest). Other extra JARs for partest in `test/files/lib` are referenced directly from the Ivy cache. - Move common settings that should be available with unqualified names in local `.sbt` files and on the command line into an auto-plugin. - Add an `antStyle` setting to sbt to allow users to easily enable ant-style incremental compilation instead of sbt’s standard name hashing with `set antStyle := true`. - Disable verbose `info`-level logging during sbt startup for both, `validate/test` and `validate/publish-core` jobs. Update logging is no longer disabled when running locally (where it is useful and doesn’t generate excessive output). - Pass optimization flags for scalac down to partest, using the new partest version 1.0.15\6. - Call the new sbt-based PR validation from `scripts/jobs/validate/test`. - Disable the tests `run/t7843-jsr223-service` and `run/t7933` from https://github.com/scala/scala/pull/4959 for now. We need to set up a new test project (either partest or junit) that can run them on a packaged version of Scala, or possibly move them into a separate project that would naturally run from a packaged Scala as part of the community build.
* Typo fixaf2016-06-101-2/+2
|
* Jarlist scala-library in build.sbtRaphael Jolly2016-05-211-1/+4
|
* Merge pull request #5152 from retronym/topic/silencioJason Zaugg2016-05-171-8/+12
|\ | | | | Eliminate major sources of daily noise in SBT build.
| * [backport] sbt build targets build/Adriaan Moors2016-05-171-5/+5
| | | | | | | | | | It avoids confusion with existing test/partest scripts that test the compiler in build/, while sbt it targeting build-sbt/.
| * Eliminate major sources of daily noise in SBT build.Jason Zaugg2016-05-161-3/+7
| | | | | | | | | | | | | | | | | | | | - Intercept incorrect "binary conflict" warning issued by SBT. Fixes https://github.com/scala/scala-dev/issues/100 - Bump to a new version of pantsbuild/jarjar to fix an incompatibility with Java 8 parameter names in class files, which we run into on the 2.12.x branch. See: https://github.com/pantsbuild/jarjar/pull/19 - Disable info level logging for dependency resolve/download.
* | Merge pull request #5128 from szeiger/wip/sbt-ivy-2.11Jason Zaugg2016-05-111-25/+53
|\ \ | |/ |/| Publish usable Scala distributions to Ivy repositories
| * Publish usable Scala distributions to Ivy repositoriesStefan Zeiger2016-05-061-25/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - sbt requires a `default` configuration in the Scala distribution but doesn’t publish such a configuration to Ivy repositories by default. This is not a problem when publishing to a Maven repository because Maven doesn’t use the concept of configurations and Ivy creates a standard set (including `default`) when resolving artifacts from Maven repositories, but it prevents the use of any Scala distribution published with `publishLocal`. The underlying issue is that sbt requires `default` instead of `default(compile)`. We work around this limitation by publishing a dummy `default` configuration. - sbt has hardcoded dependencies on the `scala-library` artifact of type `jar`. In the tradition of `sbt-osgi` we used type `bundle` when publishing via Ivy but this makes the artifacts unusable from sbt. We now publish the OSGi bundles directly as type `jar` (which is compatible with how they appear in Ivy after resolving from a Maven repository). - We have to be more aggressive about not publishing certain subprojects, otherwise `ivy.xml` files could still be published even when using `publishArtifacts := false`. - `removePomDependencies` now also modifies `ivy.xml` in addition to the Maven POM so that bogus dependencies do not leak into the Ivy descriptors. Fixes https://github.com/scala/scala-dev/issues/130
* | Cleanup IntelliJ integration based on review feedbackLukas Rytz2016-03-221-31/+35
| |
* | Update IntelliJ build for use with sbtLukas Rytz2016-03-211-1/+151
|/
* bump versions after 2.11.8 releaseSeth Tisue2016-03-081-1/+1
|
* Merge pull request #4995 from SethTisue/typesafe-is-now-lightbendSeth Tisue2016-02-241-2/+2
|\ | | | | Typesafe is now Lightbend
| * Typesafe is now LightbendSeth Tisue2016-02-241-2/+2
| |
* | Update to partest 1.0.13Jason Zaugg2016-02-171-3/+2
|/ | | | | | | | Which lets us remove the dependency on sbt-partest-interface, as this has been incorporated into scala-partest itself. Conflicts: scripts/jobs/integrate/bootstrap
* Add SBT tab completion for scala{,c,doc}Jason Zaugg2016-02-091-7/+18
| | | | | Also refactor the partest parser to use the improved tab completion for test paths.
* Add tab completion to the partest commandJason Zaugg2016-02-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We can complete partest options (I've excluded some that aren't relevant in SBT), as well as test file names. If `--srcpath scaladoc` is included, completion of test paths will be based on `test/scaladoc` rather than the default `test/files`. Note that the `--srcpath` option is currently broken via scala partest interface, this change to scala-partest is needed to make it work: https://github.com/scala/scala-partest/pull/49 I've also hijacked the `--grep` option with logic in the SBT command itself, rather than passing this to `partest`. Just like `./bin/partest-ack`, this looks for either test file names or regex matches within the contents of test, check, or flag files. I tried for some time to make the tab completion of thousands of filenames more user friendly, but wasn't able to get something working. Ideally, it should only suggest to `test/files/{pos, neg, ...}` on the first <TAB>, and then offer files on another TAB. Files should also be offered if a full directory has been entered. Hopefully a SBT parser guru will step in and add some polish here.
* Convenient aliases for the SBT buildJason Zaugg2016-02-051-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea here is to avoid the need for switching between the SBT shell and Bash. - Add aliases for partest, scala{,c,p,doc} - Change working directory for these forked processes to the root project base directory, rather than the subprojects base directory. This lets us use relative paths to files in a more familar way. - Don't log the output of forked processes with the `[info] ` prefix, rather pass it through directly to stdout. Demo: ``` > partest --terse test/files/pos/t6231.scala [info] Packaging /Users/jason/code/scala2/build-sbt/pack/lib/scala-partest-javaagent.jar ... [info] Done packaging. Selected 1 tests drawn from specified tests . [info] Passed: Total 1, Failed 0, Errors 0, Passed 1 [success] Total time: 3 s, completed 05/02/2016 12:44:19 PM > scala sandbox/test.scala [info] Running scala.tools.nsc.MainGenericRunner -usejavacp sandbox/test.scala Hello, World! [success] Total time: 4 s, completed 05/02/2016 12:45:08 PM > scalac sandbox/test.scala [info] Running scala.tools.nsc.Main -usejavacp sandbox/test.scala [success] Total time: 3 s, completed 05/02/2016 12:45:15 PM > scala Test [info] Running scala.tools.nsc.MainGenericRunner -usejavacp Test Hello, World! [success] Total time: 1 s, completed 05/02/2016 12:45:20 PM > scala [info] Running scala.tools.nsc.MainGenericRunner -usejavacp Welcome to Scala 2.11.8-20160204-090931-42525ec (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_71). Type in expressions for evaluation. Or try :help. scala> 1.to to toBinaryString toByte toChar toDegrees toDouble toFloat toHexString toInt toLong toOctalString toRadians toShort toString scala> 1.toString res0: String = 1 scala> :quit [success] Total time: 8 s, completed 05/02/2016 12:45:48 PM > ```
* Merge pull request #4884 from szeiger/wip/sbt-pr-validationSeth Tisue2016-01-291-6/+26
|\ | | | | sbt-based PR validation job
| * Use sbt for PR validation builds.Stefan Zeiger2016-01-121-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Improve version handling in the sbt build: The new settings `baseVersion` and `baseVersionSuffix` make it easier to set version numbers for different kinds of builds in a consistent way without e.g. having to first get a git SHA outside of sbt. The new task `generateBuildCharacterPropertiesFile` writes the file `buildcharacter.properties` to the root dir. The format is compatible with the same file produced by the ANT build but it only contains a subset of the properties, in particular the Maven version, which is needed in publishing scripts and passed around between different Jenkins jobs as `jenkins.properties`. SHAs in version numbers are consistently shortened to 7 digits (as used by git and github). Previously we used 7 digits in Maven snapshot version numbers but 10 digits in canonical and OSGi version numbers. # Add Jenkins script support to the sbt build: The new command `setupPublishCore` takes the PR validation snapshot repository as an argument and changes the required settings for the `publish-core` build (use SHA-SNAPSHOT versioning, compile with optimization enabled, do not publish scaladoc sets) For example, the following command can be used to generate `buildcharacter.properties` with the version numbers needed for PR validation builds: sbt setupPublishCore dummy generateBuildCharacterPropertiesFile The sbt build will now automatically detect and use a “~/.credentials” file with the credentials for publishing to a remote repository. # Call sbt from `publish-core`: The correct`$SBT_CMD` is set directly in `bootstrap` and used by `publish-core` to first generate `buildcharacter.properties` and then build and publish. Parsing the git revision, computing a version number and getting binary dependencies are no longer required in the script. This is all done in the sbt build.
* | Use portable Java APIs instead of calling chmod from sbtStefan Zeiger2016-01-251-3/+4
|/ | | | | Instead of waiting for a Java-8-only build to use `Files.setPosixPermissions()` we can call `setExecutable` and `setReadable`, both of which are available on Java 6.
* Create partest.properties from the sbt buildStefan Zeiger2015-12-041-1/+7
| | | | | | | | | This allows partest to be run from the command line on the artifacts produced by the sbt build. The actual location for partest.properties is hardcoded in the partest script as build/pack/partest.properties. This will have to be changed when we make sbt the default build tool. To test this now you can manually copy the generated file from build-sbt/quick/partest.properties to build/pack/partest.properties.
* Make all of partest work in the sbt buildStefan Zeiger2015-12-041-3/+4
| | | | | | | | | | | | - Fix the scoping of files/lib/*.jar. These files were not on the classpath when running partest from sbt. - Pass the same standard Java options to partest as from the command line. This requires new versions of scala-partest and scala-partest-interface. - Fix the classpath scanning in jvm/innerClassEnclMethodJavaReflection. It only worked for JARs and relative directories but not for absolute directory paths (which are produced by sbt).
* Fix dependency problems in the sbt buildStefan Zeiger2015-11-301-2/+2
| | | | | | | | | - Create the directory for the output file when building an OSGi bundle. Otherwise a publishing command would fail if dist/mkPack had not been run before. - Depend only on “packagedArtifact” in “mkPack”, not on “packageBin”. The latter is sbt’s standard packaging task but some of the required dependencies need to be packaged as OSGi bundles.
* [nomerge] Create a full Scala distribution from sbtStefan Zeiger2015-11-241-107/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replicates the results of `ant -Dlocker.skip=1 distpack` with the following differences: - The POM files produced by the ant build under dists/maven still contain unresolved variables like `@VERSION@`. The ant build resolves them in the actual publishing process. The sbt build generates the correct version numbers directly. - Scaladoc sets in the ant build are created with the scaladoc tool from “quick”. The sbt build uses the STARR scaladoc. - The scaladoc sets for scala-actors, scala-compiler, scala-reflect and scalap from the ant build contain documentation for the classes `Null`, `Nothing`, `Any` and `AnyRef`. The sbt build omits those classes from all doc sets (except for scala-library, of course) under the assumption that this is a bug in the ant build. Other idiosyncracies of the ant build like declaring a packaging type of `jar` (instead of `bundle`) for OSGi bundles, or using slightly different module names and descriptions in scaladocs, OSGi bundles and POMs, are reproduced faithfully for now. Publishing from the sbt build is done in the usual sbt way. No actual publishing targets are currently defined in the build. In order to test stability of the publishing process, the `publishDists` task can be used to publish to dists/maven-sbt with the same directory layout and naming conventions employed by the ant build for publishing to dists/maven. Source and binary JARs are OSGi-enabled. For the source JARs this is done by hand-crafting the appropriate MANIFEST.MF entries (like the ant build does). Binary JARs are packaged with BND, using the same outdated BND version as the ant build for now to get identical results. We do not use sbt-osgi because it depends on a newer version of BND (probably OK to upgrade in the future) and does not allow a crucial bit of configuration that we need: Setting the classpath for BND. In sbt-osgi this is always `fullClasspath in Compile` whereas we really want `products in Compile in packageBin` to keep things simple.
* [nomerge] Some small fixes for generated artifacts in the sbt buildStefan Zeiger2015-11-241-3/+22
|
* [nomerge] Build man pages and scala-dist.jar from sbtStefan Zeiger2015-11-241-1/+47
| | | | | | | | - ManMaker is compiled in a new subproject “manual”. A simple command line runner complements the ant task so that it can be run from sbt. - Another new subproject “scala-dist” is responsible for building the scala-dist.jar artifact.
* Improve version handling and scaladoc generation in sbt buildStefan Zeiger2015-11-061-91/+64
| | | | | | | | | | | | | | | | | | - Move version-related code into a separate VersionUtil object - Fix the canonical version. The sbt build previously took the full version including the suffix (plus timestamp and hash) whereas the ant build uses the version without the suffix - Include the version number in the generated scaladocs - Add project descriptions and include them in the scaladocs (like the ant build does) - Add other missing scaladoc options to the sbt build - Copy resources in all subprojects when building dist/mkQuick and fix `includeFilter` settings to include all required files
* Build scaladoc sets from sbtStefan Zeiger2015-11-051-15/+34
| | | | | | | - Docs for actors, compiler, library, reflect and scalap are built by default. Generated artifacts are removed when cleaning the respective subproject. - Fix some exclude patterns for scaladoc sources in the ANT build
* Create usable “quick” and “pack” builds from sbtStefan Zeiger2015-11-021-32/+64
| | | | | | | | | | | | | | - Add dependencies for scala-swing, scala-continuations-library and scala-continuations-plugin - Build all JARs for “pack” in dist/packageBin - Add “dist/mkQuick” task for building all required projects for “quick” and creating the launcher scripts - Add “dist/mkPack” task for packaging all required projects for “pack” and creating the launcher scripts - Include classes from “forkjoin” project in scala-library.jar
* Create shaded JLine in sbt buildStefan Zeiger2015-10-291-7/+46
| | | | | | | | | | | | | | | | | | Reusing parts of #4593, this commits adds two additional subprojects to the sbt build: - repl-jline, which is already used by the ant build, builds the part of the REPL that depends on JLine. The actual JLine depenency is moved to this project. - repl-jline-shaded uses JarJar to create a shaded version of repl-jline and jline.jar. Unlike the ant build, this setup does not use any circular dependencies. dist/mkBin puts all of quick/repl, quick/repl-jline and quick/repl-jline-shaded onto the classpath of build-sbt/quick/bin/scala. A future addition to the sbt build for building build-sbt/pack will have to put the generated classfiles into the correct JARs, mirroring the old structure.
* Fix the dist/mkBin target in the sbt buildStefan Zeiger2015-10-271-3/+14
| | | | | | | | | | | | - Set the correct unmanagedResourceDirectories for the compiler and library projects. These projects already had includeFilter definitions to copy the correct resource files to the target dirs but they were meaningless without a source dir. - Set a target path for ‘dist’ to make stream files go to the proper .gitignored dir. - Set permissions ugo+rx on all generated script and batch files.
* Merge remote-tracking branch 'origin/2.11.x' into topic/completely-2.11Jason Zaugg2015-09-171-3/+3
|\
| * sbt build: appropriately restrict scope of ScalaCheck dependencySeth Tisue2015-09-141-1/+1
| |
| * sbt build: remove redundancy w/ versions.propertiesSeth Tisue2015-09-141-2/+2
| | | | | | | | afaict, this was just an oversight
| * sbt build: bring versions up to date with versions.propertiesSeth Tisue2015-09-141-3/+3
| | | | | | | | | | Scala bootstrap version, ScalaCheck version should be the same as the ant build.
* | REPL depends on presentation compilerJason Zaugg2015-09-021-1/+1
|/ | | | | | | | In preparation for use of the presentation compiler to drive REPL tab completion, add a dependency in the build. As far as the outside world is concerned, these are already comingled in scala-compiler.jar, and this patch doesn't change that.
* bump copyright year to 2015Seth Tisue2015-07-171-1/+1
| | | | | (just hitting the highlights here, not worrying yet about bumping the dates in every modified source file)
* Merge pull request #4563 from adriaanm/jline-shadeAdriaan Moors2015-06-191-0/+1
|\ | | | | Corral, shade & embed jline.
| * SI-9339 Support classpaths with no single compatible jlineAdriaan Moors2015-06-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As usual, the repl will use whatever jline 2 jar on the classpath, if there is one. Failing that, there's a fallback and an override. If instantiating the standard `jline.InteractiveReader` fails, we fall back to an embedded, shaded, version of jline, provided by `jline_embedded.InteractiveReader`. (Assume `import scala.tools.nsc.interpreter._` for this message.) The instantiation of `InteractiveReader` eagerly exercises jline, so that a linkage error will result if jline is missing or if the provided one is not binary compatible. The property `scala.repl.reader` overrides this behavior, if set to the FQN of a class that looks like `YourInteractiveReader` below. ``` class YourInteractiveReader(completer: () => Completion) extends InteractiveReader ``` The repl logs which classes it tried to instantiate under `-Ydebug`. # Changes to source & build The core of the repl (`src/repl`) no longer depends on jline. The jline interface is now in `src/repl-jline`. The embedded jline + our interface to it are generated by the `quick.repl` target. The build now also enforces that only `src/repl-jline` depends on jline. The sources in `src/repl` are now sure to be independent of it, though they do use reflection to instantiate a suitable subclass of `InteractiveReader`, as explained above. The `quick.repl` target builds the sources in `src/repl` and `src/repl-jline`, producing a jar for the `repl-jline` classes, which is then transformed using jarjar to obtain a shaded copy of the `scala.tools.nsc.interpreter.jline` package. Jarjar is used to combine the `jline` jar and the `repl-jline` into a new jar, rewriting package names as follows: - `org.fusesource` -> `scala.tools.fusesource_embedded` - `jline` -> `scala.tools.jline_embedded` - `scala.tools.nsc.interpreter.jline` -> `scala.tools.nsc.interpreter.jline_embedded` Classes not reachable from `scala.tools.**` are pruned, as well as empty dirs. The classes in the `repl-jline` jar as well as those in the rewritten one are copied to the repl's output directory. PS: The sbt build is not updated, sorry. PPS: A more recent fork of jarjar: https://github.com/shevek/jarjar.
* | [sbt] Allow the REPL to be run from the SBT buildJason Zaugg2015-06-021-1/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Tell SBT to that we're forking an interactive process - Automatically add `-usejavacp` so the REPL adds the classes from the system classloader to the compilers classpath. JLine seems to be working from within this setup. ``` % sbt Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=384m; support was removed in 8.0 [info] Loading global plugins from /Users/jason/.sbt/0.13/plugins [info] Loading project definition from /Users/jason/code/scala2/project [info] *** Welcome to the sbt build definition for Scala! *** [info] This build definition has an EXPERIMENTAL status. If you are not [info] interested in testing or working on the build itself, please use [info] the Ant build definition for now. Check README.md for more information. > repl/run [info] Running scala.tools.nsc.MainGenericRunner -usejavacp Welcome to Scala version 2.11.6-SNAPSHOT-20150528-131650-70f0b1ded8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_25). Type in expressions to have them evaluated. Type :help for more information. scala> 1 + 1 res0: Int = 2 (reverse-i-search)`1': 1 + 1 ```
* Inlcude ASM as a dependency in sbt buildLukas Rytz2015-05-111-9/+57
|
* Avoid unwanted boostrap JARs in the subproject classpathsJason Zaugg2015-04-211-19/+7
| | | | | | | | | | | | | | | I added build configuration to ask SBT to forcible override the Scala version in the subproject to the declared bootstrap version. I did this in response to a warning by SBT the declared `scalaVersion` has been evicted. However, we actually *want* the newer version. To get rid of the warning, we need to exclude all `"org.scala-lang" % "*"` when depending on Scala modules. This cleanly breaks the cycle. Here's a diff of `*/dependencyClasspath` as a result of this patch: https://gist.github.com/retronym/217c76001b1b81798042
* `test/it:test` runs partest regression testsGrzegorz Kossakowski2015-04-171-2/+60
| | | | | | | | | | Partest tests are defined in Integration configuration. This means you need to run them with `test/it:test` command. We put them in separate configuration because they are slow to run so user needs to ask explicitly for partest to run. Introduce a common way of setting jar location so it can be reused between `scalaSubprojectSettings` and `partestJavaAgent`.
* `test` task runs Junit testsJason Zaugg2015-04-171-2/+5
| | | | | | | Add dependency on scaladoc in junit subproject, as required by 6e6632e (it introduced a junit test for scaladoc). Enable assertion stack traces and info logging of each test.