Skip to content

sbt build: ivy publishing of compiler not working #130

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
adriaanm opened this issue Apr 6, 2016 · 0 comments
Closed

sbt build: ivy publishing of compiler not working #130

adriaanm opened this issue Apr 6, 2016 · 0 comments
Assignees
Labels
Milestone

Comments

@adriaanm
Copy link
Contributor

adriaanm commented Apr 6, 2016

publishM2 works, but publishLocal does not produce something that I can use for scalaVersion in another project

@lrytz lrytz added the t:build label Apr 25, 2016
szeiger added a commit to szeiger/scala that referenced this issue Apr 26, 2016
- 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 scala/scala-dev#130
@adriaanm adriaanm modified the milestone: 2.12.0-M5 Apr 27, 2016
retronym pushed a commit to retronym/scala that referenced this issue May 4, 2016
- 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 scala/scala-dev#130
retronym pushed a commit to retronym/scala that referenced this issue May 9, 2016
- 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 scala/scala-dev#130
milessabin pushed a commit to typelevel/scala that referenced this issue Aug 17, 2016
- 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 scala/scala-dev#130
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants