diff options
author | Stefan Zeiger <szeiger@novocode.com> | 2016-07-19 15:14:34 +0200 |
---|---|---|
committer | Stefan Zeiger <szeiger@novocode.com> | 2016-07-21 14:57:15 +0200 |
commit | faa4110fc7d8b92cac1e50a6952cdf3bc85d1cdf (patch) | |
tree | 91cba1a24f8657c214b3d581e8fb928f40bd5047 /scripts/common | |
parent | 2f75e051a181d4f8618746953ec07226b556fdb3 (diff) | |
download | scala-faa4110fc7d8b92cac1e50a6952cdf3bc85d1cdf.tar.gz scala-faa4110fc7d8b92cac1e50a6952cdf3bc85d1cdf.tar.bz2 scala-faa4110fc7d8b92cac1e50a6952cdf3bc85d1cdf.zip |
Switch Windows CI build to sbt (w/ some sbt build improvements)
- 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`.
Diffstat (limited to 'scripts/common')
-rw-r--r-- | scripts/common | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/common b/scripts/common index bfddf3d149..95389e5495 100644 --- a/scripts/common +++ b/scripts/common @@ -154,3 +154,23 @@ EOF fi popd } + +# Generate a repositories file with all allowed repositories in our build environment. +# Takes one optional argument, the private repository URL. +# See http://www.scala-sbt.org/0.13/docs/Proxy-Repositories.html +function generateRepositoriesConfig() { + jcenterCacheUrl=${jcenterCacheUrl-"https://scala-ci.typesafe.com/artifactory/jcenter/"} + sbtRepositoryConfig="$scriptsDir/sbt-repositories-config" + echo > "$sbtRepositoryConfig" '[repositories]' + if [ -n "$1" ] + then + echo >> "$sbtRepositoryConfig" " private-repo: $1" + fi + cat >> "$sbtRepositoryConfig" << EOF + jcenter-cache: $jcenterCacheUrl + typesafe-ivy-releases: https://dl.bintray.com/typesafe/ivy-releases/, [organisation]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly + sbt-plugin-releases: https://dl.bintray.com/sbt/sbt-plugin-releases/, [organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] + maven-central + local +EOF +} |