summaryrefslogtreecommitdiff
path: root/build.sbt
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5379 from szeiger/wip/persist-buildcharacterStefan Zeiger2016-10-271-0/+15
|\ | | | | Store buildcharacter.properties in scala-compiler.jar
| * Store buildcharacter.properties in scala-compiler.jarStefan Zeiger2016-09-061-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | In addition to all the individual projects’ version properties files that we already keep in `scala-compiler.jar` we now write a new `scala-buildcharacter.properties` which is identical to the `buildcharacter.properties` written to the root directory by `generateBuildCharacterPropertiesFile`. The new task `extractBuildCharacterPropertiesFile` extracts it from the bootstrap Scala compiler and writes the usual `buildcharacter.properties`. This can be used to reproduce the exact version information for all modules in builds that start from an arbitrary published Scala version instead of being triggered directly by a bootstrap job.
* | Merge 2.11.x into 2.12.xAdriaan Moors2016-10-181-8/+14
|\ \ | | | | | | | | | Including PRs #5199, #5405
| * | Make removing forkjoin dependant on the organization keyDale Wijnand2016-06-201-10/+14
| | |
* | | Merge pull request #5386 from dwijnand/sbt-0.13.12Seth Tisue2016-10-181-0/+5
|\ \ \ | | | | | | | | Bump sbt.version to 0.13.12, without breaking
| * | | Bump sbt.version to 0.13.12, without breakingDale Wijnand2016-09-221-0/+5
| | |/ | |/|
* | | Avoid use of legacy JVM MaxPermSize option in partestJason Zaugg2016-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | In Java 8+, which we require on this branch, this option is a no-op and triggers a JVM warning these days. See http://openjdk.java.net/jeps/122
* | | Merge pull request #5416 from SethTisue/merge-2.12.0-to-2.12.x-sep-24Seth Tisue2016-10-051-7/+7
|\ \ \ | | | | | | | | merge 2.12.0 onto 2.12.x [ci: last-only]
| * \ \ Merge remote-tracking branch 'origin/2.12.0' into merge-2.12.0-to-2.12.x-sep-24Seth Tisue2016-10-041-1/+1
| |\ \ \
| | * | | Enable MiMa for 2.12.0Stefan Zeiger2016-09-291-1/+1
| | | | |
| * | | | Merge remote-tracking branch 'origin/2.12.0' into merge-2.12.0-to-2.12.x-sep-24Seth Tisue2016-09-281-6/+6
| |\| | |
| | * | | Including Lightbend in `-version` message.Adriaan Moors2016-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | Also consistently use "LAMP/EPFL" and not "EPFL LAMP".
| | * | | Merge pull request #5414 from szeiger/wip/no-partest-in-packAdriaan Moors2016-09-261-4/+4
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Do not build partest-javaagent and partest-extras for `pack` See scala-dev#223
| | | * | | Do not build partest-javaagent and partest-extras for `pack`Stefan Zeiger2016-09-221-4/+4
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building them as part of `dist/mkQuick` (and thus, by extension, `dist/mkPack`) was not necessary in the first place. Partest does not rely on these tasks for its dependencies. And when we do build the jars, they now go into their standard location under `target` instead of `build/pack/lib` so they don’t confuse sbt (see https://github.com/sbt/sbt/issues/2748).
| | * / / Fixed reference to script engine factory in META-INF/servicesRaphael Jolly2016-09-161-1/+1
| | |/ /
* | | | Merge pull request #5413 from szeiger/wip/less-verbose-testAllLukas Rytz2016-09-301-8/+13
|\ \ \ \ | |/ / / |/| | | Make output of errors in testAll less verbose
| * | | Make output of errors in testAll less verboseStefan Zeiger2016-09-211-8/+13
| |/ /
* / / Only compare group ID and artifact ID when looking for JLine JARStefan Zeiger2016-09-141-2/+8
|/ / | | | | | | | | | | If the JLine dependency is resolved through Ivy instead of Maven (which can happen with a local proxy setup in sbt that funnels all artifacts through an Ivy repo), the artifact may have a “configuration” set, which prevents a naive comparison of ModuleIDs from finding it.
* | Merge pull request #5368 from retronym/ticket/SD-208Adriaan Moors2016-09-061-3/+12
|\ \ | | | | | | | | | | | | SD-208 Restore 2.11 names for arrayOps implicits Fix scala/scala-dev#208
| * | Use STARR library for ManMakerJason Zaugg2016-08-311-2/+1
| | |
| * | Workaround sbt bug when partest itself throwsJason Zaugg2016-08-311-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | Discussion: https://github.com/sbt/sbt/issues/2722 This commit checks that some test events exist in the test log for `test/it:test` before trusting the result of `Success`.
* | | remove various references to Ant buildSeth Tisue2016-09-021-40/+14
| | |
* | | sbt build: fix "unchecked" warnings when compiling Java codeSeth Tisue2016-08-301-1/+1
|/ /
* | Decrease stack size for JUnit tests to 1M (same as the old ant build)Stefan Zeiger2016-08-291-1/+1
| |
* | increase stack size when running JUnit testsSeth Tisue2016-08-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | scala.collection.immutable.PagedSeqTest.test_SI6615 was failing intermittently during PR validation I verified that this change fixes the problem by: - changing the PageSize constant in PagedSeq (as shown by Jason Zaugg) until the test failed every time locally - making this build change and seeing the test pass again 5M is just an arbitrary number, considerably over the default (which varies according to platform & CPU). 5M is a lot of stack, but not so vastly much that it appreciably eats into the heap
* | Switch remaining uses of ant over to sbtStefan Zeiger2016-08-231-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Modify `tools/scaladoc-diff` to use sbt instead of ant. - Move `stability-test.sh` from `tools` to `scripts`. With the new build process without separate `locker` and `strap` stages, it doesn’t make sense to call this script without first setting up the proper test environment in a CI build. - Replace the use of `build.number` in `bootstrap` with a new `SHA-NIGHTLY` mode for `baseVersionSuffix`. - Make `partest` call sbt instead of ant for initializing the classpath and use the new classpath location (`quick` instead of `pack`).
* | Split “partest run” off from “partest pos neg jvm”Stefan Zeiger2016-08-121-2/+4
| | | | | | | | | | | | | | We’ve seen several OOM failures in “run” tests lately. Maybe going back to more separate partest calls will help. Now that everything is launched from the same sbt instance and test results are always accumulated, this should not have any negative impact on build performance or usability.
* | Improve log output of the `testAll` taskStefan Zeiger2016-08-111-2/+42
| | | | | | | | | | | | | | It’s a lot of code for little benefit but makes the output more useful when test tasks fail. Unfortunately there doesn’t seem to be any way to get the `summary` reported by a test framework at this point. The arguments of `toTask` for InputTasks with applied arguments have also been lost, so we keep track of the commands separately.
* | Merge pull request #5292 from szeiger/wip/sbt-windowsAdriaan Moors2016-07-281-0/+27
|\ \ | | | | | | Switch Windows CI build to sbt (w/ some sbt build improvements) [ci: last-only]
| * | Switch Windows CI build to sbt (w/ some sbt build improvements)Stefan Zeiger2016-07-211-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use sbt in `integrate/windows`: This essentially combines the Unix CI jobs `validate/publish-core` and `validate/test`, first publishing a local release built with STARR and then building a new version with that and running all tests on it. - Unify repository handling across build scripts: A new function `generateRepositoriesConfig` in `common`, based on the existing code in `integrate/bootstrap`, writes the `repositories` file for sbt, either with or without an extra bootstrap repository for resolving a previously built version. It is used in all CI scripts to ensure that artifacts are only resolved through the sanctioned proxies and upstream repositories. - The repository URL arguments in `setupPublishCore` and `setupValidateTest` are now optional as well. These commands are used without a URL from `integrate/windows`, which publishes to `local` instead of a temporary remote repository. - `testAll` is now a task instead of a command. It runs the same sequence of sub-tasks as before but does not propagate failures immediately. It always runs all subtasks and reports errors at the end. - The `generateBuildCharacterPropertiesFile` task now includes all properties from `versions.properties` (whose values have potentially been overwritten with `-D` options) in `buildcharacter.properties`.
* | | Merge pull request #5299 from mpociecha/improve-intellij-integrationAdriaan Moors2016-07-261-1/+5
|\ \ \ | | | | | | | | Improve sbt-based IntelliJ integration in case of Windows
| * | | Improve sbt-based IntelliJ integration in case of WindowsMichał Pociecha2016-07-221-1/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Use File.pathSeparator when processing classpath instead of just : to don't end up with classpath like "C:\sth\a.jar:C:\sth\b.jar" what was causing problems after split(":"). Display questions first and then wait for user input. I tested on 3 computes and without flush the printed questions were always displayed just after user replied - never before.
* / / SI-9560 Remove dependency on parser-combinators/jsonSimon Ochsenreither2016-07-221-4/+3
|/ / | | | | | | | | | | | | Also update a few example IDE files for Eclipse and IntelliJ. This drops the dependency by integrating the bare minimum functionality to keep things working.
* | Temporarily insource Scalacheck 1.11.6Jason Zaugg2016-06-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a temporary measure until we release Scala 2.12.0. It means we are able to release milestones, and RCs of Scala without needing a public release of Scalacheck. While we've never had to wait very long for these in the past (Thanks, Rickard!) we'd like to spare the maintainer some work betwen now and 2.12.0. After we release Scala 2.12.0, we'll revert to a binary dependency on the standard Scalacheck. I have replaced the scala-parser-combinator based command line option parsing with a quick and dirty version. I've had to remove scalacheck as a SBT test framework in our build. We don't use it directly as such (instead, it is used indirectly through `partest --scalacheck`), and it's test discovery (which we expect to return nothing) fails after re-STARR-ing due to an unsolved problem with SBT's testLoader including either STARR or sbt-launch.jar on the classpath used to discover and spawn tests. For the record, I tried the following to no avail: ``` // Two modifications are needed from the stock SBT configuration in order to exclude STARR // from the classloader that performs test discovery. // - We make `isManagedVersion` hold by providing an explicit Scala version, in order to go into the desired // branch in `createTestLoader` // - We remove STARR from the classloader of the scala instance def fixTestLoader = testLoader := { val s = scalaInstance.value val scalaInstance1 = new ScalaInstance(s.version, appConfiguration.value.provider.scalaProvider.loader(), s.libraryJar, s.compilerJar, s.extraJars, Some(s.actualVersion)) assert(scalaInstance1.isManagedVersion) TestFramework.createTestLoader(Attributed.data(fullClasspath.value), scalaInstance1, IO.createUniqueDirectory(taskTemporaryDirectory.value)) } ``` f
* | Fix test failures of the sbt build in 2.12.xLukas Rytz2016-06-231-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - More memory for compiling partest tests - Enable more detailed logging for partest failures: Partest’s `AntRunner` has extra code for logging details of all failed tests at the end of a run which is not present in `SbtRunner` but we can set the `--show-log` and `--show-diff` options to get similar output interspersed with the main test log. - Update OSGi test dependencies for sbt build to same versions as in ant (see 8247b8f077c96ba9a017b53de4d8062fe428c4a7 for the motivation for this change). - Disable MiMa checks (to be reactivated after M5).
* | Merge commit 'aaf7bc0' into merge-2.11-to-2.12-june-19Lukas Rytz2016-06-211-51/+128
|\|
| * 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.
* | Merge commit 'f775e1f' into merge-2.11-to-2.12-june-19Lukas Rytz2016-06-191-2/+2
|\|
| * Typo fixaf2016-06-101-2/+2
| |
* | Remove experimental status from sbt build in load messageJanek Bogucki2016-06-041-3/+1
| | | | | | | | sbt is now the preferred build tool.
* | Merge commit '139f6bf' into merge-2.11-to-2.12-june-1Lukas Rytz2016-06-011-1/+4
|\|
| * Jarlist scala-library in build.sbtRaphael Jolly2016-05-211-1/+4
| |
* | SI-9522 release key reference when deleting from OpenHashMapPerformant Data LLC2016-05-241-1/+2
| | | | | | | | | | | | | | | | | | This sets the key field in the hash table entry to its default value when an entry is deleted, so as not to unexpectedly retain an object reference, leading to a memory leak. Also includes incidental changes to the slot location algorithm that reduce the number of deleted entries.
* | Include missing web assets in scaladocscaladoc-include-assetsJakob Odersky2016-05-191-1/+1
| |
* | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-05-171-3/+7
|\| | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20160517 Conflicts: build.sbt test/files/run/repl-javap-app.check test/files/run/repl-javap-app.scala
| * 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 commit 'd06ce96' into merge/2.11.x-to-2.12.x-20160511Jason Zaugg2016-05-111-21/+49
|\| |
| * | Merge pull request #5128 from szeiger/wip/sbt-ivy-2.11Jason Zaugg2016-05-111-25/+53
| |\ \ | | |/ | |/| Publish usable Scala distributions to Ivy repositories