Skip to content

Commit e7acb3d

Browse files
authored
replace some glassfish osgi bundles with java ee equivalents (#110)
1 parent 849e1fc commit e7acb3d

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ to check if a project requests a Jakarta EE dependency with a version
5858
less than or equal to the maximum "bad" version; if it encounters one,
5959
it replaces it with the mapped Java EE library version instead.
6060

61-
## Caveats with [gradle-consistent-versions](https://github.com/palantir/gradle-consistent-versions)
61+
## Caveats
62+
63+
### Caveats with [gradle-consistent-versions](https://github.com/palantir/gradle-consistent-versions)
6264

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

90+
### Note about Glassfish repackaged OSGi bundles
91+
92+
Glassfish ships some jars that are a repackaging of some Jakarta EE/Java EE components
93+
as an OSGi bundle. Because this can sometimes cause lead to conflicting
94+
names on the classpath, this plugin also replaces some of these Glassfish jars
95+
with their (non-OSGi) Java EE equivalents.
96+
97+
If you use this plugin and your project explicitly needs the Glassfish OSGi
98+
bundle jar as well, please [file a Github issue](https://github.com/palantir/jakarta-package-alignment/issues).
99+
88100
## License
89101

90102
This project is made available under the

changelog/@unreleased/pr-110.v2.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type: improvement
2+
improvement:
3+
description: replace some glassfish osgi bundles with java ee equivalents
4+
links:
5+
- https://github.com/palantir/jakarta-package-alignment/pull/110

jakarta-package-alignment-mappings/src/main/java/com/palantir/gradle/jakartapackagealignment/VersionMappings.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,22 @@ private static Map<String, VersionMapping> createMappings() {
235235
new MavenCoordinate("jakarta.xml.ws", "jakarta.xml.ws-api", "2.3.3"),
236236
new MavenCoordinate("javax.xml.ws", "jaxws-api", "2.3.1")));
237237

238+
// glassfish hk2 repackages some components as an OSGi bundle
239+
// we assume no OSGi usage in conjunction with this plugin, keeping the hk2 dependency
240+
// around could lead to conflicting class names on the classpath
241+
addMapping(
242+
allMappings,
243+
"org.glassfish.hk2.external:jakarta.inject",
244+
new VersionMapping(
245+
new MavenCoordinate("org.glassfish.hk2.external", "jakarta.inject", "2.6.1"),
246+
new MavenCoordinate("javax.inject", "javax.inject", "1")));
247+
addMapping(
248+
allMappings,
249+
"org.glassfish.hk2.external:javax.inject",
250+
new VersionMapping(
251+
new MavenCoordinate("org.glassfish.hk2.external", "javax.inject", "2.4.0"),
252+
new MavenCoordinate("javax.inject", "javax.inject", "1")));
253+
238254
return allMappings;
239255
}
240256

0 commit comments

Comments
 (0)