Skip to content

Commit

Permalink
replace some glassfish osgi bundles with java ee equivalents (#110)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjlaub authored Oct 30, 2023
1 parent 849e1fc commit e7acb3d
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,9 @@ to check if a project requests a Jakarta EE dependency with a version
less than or equal to the maximum "bad" version; if it encounters one,
it replaces it with the mapped Java EE library version instead.

## Caveats with [gradle-consistent-versions](https://github.com/palantir/gradle-consistent-versions)
## Caveats

### Caveats with [gradle-consistent-versions](https://github.com/palantir/gradle-consistent-versions)

This plugin works with the gradle-consistent-versions plugin, but
currently only correctly replaces transitive Jakarta dependencies
Expand All @@ -85,6 +87,16 @@ an explicit dependency on the corresponding Java EE library instead
version of the Jakarta EE dependency with the updated `jakarta`
namespace.

### Note about Glassfish repackaged OSGi bundles

Glassfish ships some jars that are a repackaging of some Jakarta EE/Java EE components
as an OSGi bundle. Because this can sometimes cause lead to conflicting
names on the classpath, this plugin also replaces some of these Glassfish jars
with their (non-OSGi) Java EE equivalents.

If you use this plugin and your project explicitly needs the Glassfish OSGi
bundle jar as well, please [file a Github issue](https://github.com/palantir/jakarta-package-alignment/issues).

## License

This project is made available under the
Expand Down
5 changes: 5 additions & 0 deletions changelog/@unreleased/pr-110.v2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
type: improvement
improvement:
description: replace some glassfish osgi bundles with java ee equivalents
links:
- https://github.com/palantir/jakarta-package-alignment/pull/110
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,22 @@ private static Map<String, VersionMapping> createMappings() {
new MavenCoordinate("jakarta.xml.ws", "jakarta.xml.ws-api", "2.3.3"),
new MavenCoordinate("javax.xml.ws", "jaxws-api", "2.3.1")));

// glassfish hk2 repackages some components as an OSGi bundle
// we assume no OSGi usage in conjunction with this plugin, keeping the hk2 dependency
// around could lead to conflicting class names on the classpath
addMapping(
allMappings,
"org.glassfish.hk2.external:jakarta.inject",
new VersionMapping(
new MavenCoordinate("org.glassfish.hk2.external", "jakarta.inject", "2.6.1"),
new MavenCoordinate("javax.inject", "javax.inject", "1")));
addMapping(
allMappings,
"org.glassfish.hk2.external:javax.inject",
new VersionMapping(
new MavenCoordinate("org.glassfish.hk2.external", "javax.inject", "2.4.0"),
new MavenCoordinate("javax.inject", "javax.inject", "1")));

return allMappings;
}

Expand Down

0 comments on commit e7acb3d

Please sign in to comment.