This project morphs the "org.scala-lang" % "scala-dist" % $version
maven artifact
into a Scala $version
distribution (zip, tar.gz, deb, rpm, and msi).
The following parts of this repo are not part of the distribution:
documentation/
: the LaTeX version of the Scala Language Specification (we're moving to a Markdown-based spec);tool-support/
: a collection of editor configurations etc (looking for a maintainer/packager!);bash-completion/
: generates bash completions for the common scala commands (looking for a maintainer/packager!).
To build a distribution, run:
universal:package-bin
- Builds the universal zip installeruniversal-docs:package-bin
- Builds the universal documentation zipdebian:package-bin
- Builds the debian DEB file. Requires dpkg-debrpm:package-bin
- Builds the yum RPM file. requires rpmbuildwindows:package-bin
- Builds the windows MSI. Requires WIX 3.6 installed
Alternatively, the s3-upload
task's mapping are configured based on the platform
the installer is running on: on Windows, it builds the MSI; on another platform,
it'll create and upload the other packages in the above list. (Use s3Upload::mappings
for a dry-run.)
The version of Scala to package is derived from the most recent git tag,
or you can specify it using -Dproject.version
.
This packager only works for Scala 2.11 releases (starting with M8),
as earlier ones did not publish the scala-dist
artifact to maven.
Due to limited resources, the native packages are quite rudimental, and bash-completion/tool-support aren't packaged at all.
If you'd like to maintain any of these packages, please contact scala-internals, and we'll do our very best to support you!
- install windows 7 professional N 64-bit, ensure network access to github
- install oracle java 6 jdk
- install wix v3.6 (reboot!)
- download sbt launcher 0.13.1 from xsbt.org to c:\users\jenkins\Downloads
- install git
- configure the jenkins master's tool locations for
- HOME
- jdk path
- git (path of git.exe)
- sbt launch jar
Please read the Scala Pull Request Policy and sign the CLA.
The branching structure mimics that of scala/scala: master is the upcoming 2.11.0 release, and the 2.10.x branch is your target for 2.10.x features.