diff options
author | Stefan Zeiger <szeiger@novocode.com> | 2015-11-13 14:00:50 +0100 |
---|---|---|
committer | Stefan Zeiger <szeiger@novocode.com> | 2015-11-24 12:44:44 +0100 |
commit | 2803d0ad50e94a3a88d98d709b7a38a5bbb6a383 (patch) | |
tree | d15e97ee879e7f752d9c3c9b93b74bc07220681f /docs | |
parent | 18e261ba7a34825b519a865d8dd72b987f73b5bf (diff) | |
download | scala-2803d0ad50e94a3a88d98d709b7a38a5bbb6a383.tar.gz scala-2803d0ad50e94a3a88d98d709b7a38a5bbb6a383.tar.bz2 scala-2803d0ad50e94a3a88d98d709b7a38a5bbb6a383.zip |
[nomerge] Create a full Scala distribution from sbt
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.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions