diff options
author | Stefan Zeiger <szeiger@novocode.com> | 2016-04-26 14:10:33 +0200 |
---|---|---|
committer | Stefan Zeiger <szeiger@novocode.com> | 2016-05-06 13:55:12 +0200 |
commit | b74e4ddf53933f80d3d43d0741700cf17f32a9a7 (patch) | |
tree | 31cb92966a93453951092802d96fad5788cdcc66 /lib | |
parent | afb14588edeb199ad5b6b2deedb55abe3c998503 (diff) | |
download | scala-b74e4ddf53933f80d3d43d0741700cf17f32a9a7.tar.gz scala-b74e4ddf53933f80d3d43d0741700cf17f32a9a7.tar.bz2 scala-b74e4ddf53933f80d3d43d0741700cf17f32a9a7.zip |
Publish usable Scala distributions to Ivy repositories
- 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
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions