[fixes #3474] lombok.jar now contains zero paths that could clash with other modules, as that's already enough to trigger split package errors from jigsaw.

This commit is contained in:
Reinier Zwitserloot committed 2023-09-20 04:08:53 +02:00
1 parent 9ef9b58334
commit 9bcaaafed4
3 files changed
+8 -3

No files matched your search

+1 -1
View File
@@ -282,7 +282,7 @@ lombok.launch.AnnotationProcessorHider$ClaimingProcessor,isolating</echo>
<patternset refid="packing.shadowed" />
</multirootfileset>
<firstmatchmapper>
<globmapper from="*.class" to="*.SCL.lombok" />
<globmapper from="*.class" to="SCL.lombok/*.SCL.lombok" />
<identitymapper />
</firstmatchmapper>
</mappedresources>
+1
View File
@@ -10,6 +10,7 @@ Lombok Changelog
* BUGFIX: Calling extension methods such that automatic widening is applied (i.e. calling `void ext(long arg)` with an `int`) would fail at runtime. [Issue #3463](https://github.com/projectlombok/lombok/issues/3463).
* BUGFIX: Extension methods can now be used in records. [Issue #3450](https://github.com/projectlombok/lombok/issues/3450).
* BUGFIX: `@Getter(lazy=true)` with complicated initialization expressions would fail on javac. [Issue #3314](https://github.com/projectlombok/lombok/issues/3314).
* BUGFIX: Using the maven surefire plugin with a `module-info.java` based project would fail with a `SurefireBooterForkException`. [Issue #3474](https://github.com/projectlombok/lombok/issues/3474).
### v1.18.28 (May 24th, 2023)
* PLATFORM: JDK20 support added. [Issue #3353](https://github.com/projectlombok/lombok/issues/3353).
@@ -430,9 +430,13 @@ class ShadowClassLoader extends ClassLoader {
return false;
}
private String toSclResourceName(String name) {
return "SCL." + sclSuffix + "/" + name.substring(0, name.length() - 6) + ".SCL." + sclSuffix;
}
@Override public Enumeration<URL> getResources(String name) throws IOException {
String altName = null;
if (name.endsWith(".class")) altName = name.substring(0, name.length() - 6) + ".SCL." + sclSuffix;
if (name.endsWith(".class")) altName = toSclResourceName(name);
// Vector? Yes, we need one:
// * We can NOT make inner classes here (this class is loaded with special voodoo magic in eclipse, as a one off, it's not a full loader.
@@ -475,7 +479,7 @@ class ShadowClassLoader extends ClassLoader {
private URL getResource_(String name, boolean noSuper) {
String altName = null;
name = shader == null ? name : shader.reverseResourceName(name);
if (name.endsWith(".class")) altName = name.substring(0, name.length() - 6) + ".SCL." + sclSuffix;
if (name.endsWith(".class")) altName = toSclResourceName(name);
for (File ce : override) {
URL url = getResourceFromLocation(name, altName, ce);