From f3e578b9f14a5f44b10194e8502e05be2c6c5c3a Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Wed, 25 Oct 2023 16:41:01 +1100 Subject: [PATCH 01/10] Issue #9511 Verify location of scanned class files --- .../ee10/annotations/AnnotationParser.java | 9 +++-- .../annotations/TestAnnotationParser.java | 34 ++++++++++++++++-- .../src/test/resources/bad-classes.jar | Bin 1977 -> 2738 bytes .../ee9/annotations/AnnotationParser.java | 6 ++++ .../ee9/annotations/TestAnnotationParser.java | 32 +++++++++++++++-- 5 files changed, 74 insertions(+), 7 deletions(-) diff --git a/jetty-ee10/jetty-ee10-annotations/src/main/java/org/eclipse/jetty/ee10/annotations/AnnotationParser.java b/jetty-ee10/jetty-ee10-annotations/src/main/java/org/eclipse/jetty/ee10/annotations/AnnotationParser.java index 4a9c6ecf6052..ddbb52bffb2f 100644 --- a/jetty-ee10/jetty-ee10-annotations/src/main/java/org/eclipse/jetty/ee10/annotations/AnnotationParser.java +++ b/jetty-ee10/jetty-ee10-annotations/src/main/java/org/eclipse/jetty/ee10/annotations/AnnotationParser.java @@ -452,7 +452,7 @@ public AnnotationVisitor visitAnnotation(String desc, boolean visible) public static class MyClassVisitor extends ClassVisitor { final int _asmVersion; - final Resource _containingResource; + final Resource _containingResource; //resource containing the class to parse final Set _handlers; ClassInfo _ci; @@ -472,6 +472,12 @@ public void visit(final int version, final String superName, final String[] interfaces) { + //Check that the named class exists in the containingResource at the correct location. + //eg given the class with name "com.foo.Acme" and the containingResource "jar:file://some/place/something.jar!/" + //then the file "jar:file://some/place/something.jar!/com/foo/Acme.class" must exist. + if (_containingResource.resolve(name + ".class") == null) + throw new IllegalStateException("Class " + name + " not in correct location in " + _containingResource); + _ci = new ClassInfo(_containingResource, normalize(name), version, access, signature, normalize(superName), normalize(interfaces)); for (Handler h : _handlers) { @@ -656,7 +662,6 @@ protected void parseClass(Set handlers, Resource containingRe LOG.debug("Parse class from {}", classFile.toUri()); URI location = classFile.toUri(); - try (InputStream in = Files.newInputStream(classFile)) { ClassReader reader = new ClassReader(in); diff --git a/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java b/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java index 92c3e106f40b..2cd16f55a013 100644 --- a/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java +++ b/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java @@ -29,11 +29,13 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.jar.JarFile; import org.eclipse.jetty.toolchain.test.FS; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.jupiter.WorkDir; import org.eclipse.jetty.toolchain.test.jupiter.WorkDirExtension; +import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.TypeUtil; import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.util.resource.ResourceFactory; @@ -46,10 +48,12 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.in; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.notNullValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; @ExtendWith(WorkDirExtension.class) public class TestAnnotationParser @@ -193,9 +197,34 @@ public void testHiddenFilesInJar() throws Exception try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { - parser.parse(emptySet, resourceFactory.newResource(badClassesJar)); - // only the valid classes inside bad-classes.jar should be parsed. If any invalid classes are parsed and exception would be thrown here + //Check class file in wrong location causes error + assertThrows(RuntimeException.class, () -> parser.parse(emptySet, resourceFactory.newResource(badClassesJar))); + } + //Check hidden and non classfiles skipped + assertThat(parser.getParsedClassNames().keySet(), containsInAnyOrder("Top", "com.acme.Foo")); + } + + @Test + public void testHiddenAndBadFilesInDir() throws Exception + { + AnnotationParser parser = new AnnotationParser(); + Set emptySet = Collections.emptySet(); + + Path badClassesPath = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); + + try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) + { + Path dir = MavenTestingUtils.getTargetTestingPath("baddir"); + IO.delete(dir.toFile()); + Resource badClassesJar = resourceFactory.newJarFileResource(badClassesPath.toUri()); + badClassesJar.copyTo(dir); + + //check class file in wrong location in jar causes error + assertThrows(RuntimeException.class, () -> parser.parse(emptySet, resourceFactory.newResource(dir))); } + + //Check hidden and non classfiles skipped + assertThat(parser.getParsedClassNames().keySet(), containsInAnyOrder("Top", "com.acme.Foo")); } @Test @@ -210,6 +239,7 @@ public void testModuleInfoClassInJar() throws Exception parser.parse(emptySet, resourceFactory.newResource(badClassesJar)); // Should throw no exceptions, and happily skip the module-info.class files } + assertThat(parser.getParsedClassNames().keySet(), not(containsInAnyOrder("module-info"))); } @Test diff --git a/jetty-ee10/jetty-ee10-annotations/src/test/resources/bad-classes.jar b/jetty-ee10/jetty-ee10-annotations/src/test/resources/bad-classes.jar index 5538c18b552da21d6a9ff7167512820508362e65..21f799557eff77f177844aede0236d884d89467d 100644 GIT binary patch delta 1308 zcmdnVze$uYz?+#xgn@&DgQ2%3GJGPRB@3ALcC+J(cqRElQZwU+xT@OoC0Z8G#YLZp zt4?DO&HhyMv51i&z?+>z^{CuJCk6%v5C)mV#lXP9z>p6z>4MzmiA=nVTu4HnlqbtD zcACQ%tpR1pkoSUj&oDU=rrh?Q?R$!8>2aD&IWTX}$$)=*2 zB!yuTL`OkRVlu>3h_AiS^r_<27haT~SD&tzoRe5wZ2dL=x*Z!ETQysp9-A6lS{a*| z99tNhnHyW|KgEBTgH@1CG{>1z} z^5jm)-w%ua>?v_$6MOz=N{Aa<-TX6qLiS&}v*gO62}hR5EZ_()sLKp2S{1D}gE?$1 z`=-Wv$BB)y8HOANOo|t>6i#wJIob4+hi6UHZAl69rlmU@RHR)5Jc^hz)!5{~apWD{ z-M<*$?Wn8K-}t98#3M#(nybA_?rq;Ng>y?2jLUhtwuD7E%oU05OFVLYlUHx$ao&4M zh9TP$%I8@=PG2|W+CkrY(fLgs zcCrMkIWH*P!qemA7*z$0P6uy?Kg3nlo-fg|crGsb zL|k*v$Ye7bxmt$E9q$jg5DQ}*` z#K<^Vk*Rd!b798G_gFuBz$~2zQ~}fq2i!oGo>NX@hF)?`VsWvyhtD}bAOFx57gle1 z_DD;^_tZ(Bu!2*bXCAD27IfiyxW?pUCS{pRTez|vfEqzKz?+dtgaP5B$@kgJc|l%+ zyL7TLyD1CEg_C30r6djk^(5!#>Vx!gF+iLTc6K0#6w?!i$+;ZjlaF!8iE%SR)Fme8 zrs})p=R@2#xq?GWLWl`T3d!-4>)5rJ+LMLG~3WSP-C}1tpLIyjj^mlH5Qz8|W4eRuB&WUZ;EL diff --git a/jetty-ee9/jetty-ee9-annotations/src/main/java/org/eclipse/jetty/ee9/annotations/AnnotationParser.java b/jetty-ee9/jetty-ee9-annotations/src/main/java/org/eclipse/jetty/ee9/annotations/AnnotationParser.java index eed4f576965e..8ec7641eff5b 100644 --- a/jetty-ee9/jetty-ee9-annotations/src/main/java/org/eclipse/jetty/ee9/annotations/AnnotationParser.java +++ b/jetty-ee9/jetty-ee9-annotations/src/main/java/org/eclipse/jetty/ee9/annotations/AnnotationParser.java @@ -472,6 +472,12 @@ public void visit(final int version, final String superName, final String[] interfaces) { + //Check that the named class exists in the containingResource at the correct location. + //eg given the class with name "com.foo.Acme" and the containingResource "jar:file://some/place/something.jar!/" + //then the file "jar:file://some/place/something.jar!/com/foo/Acme.class" must exist. + if (_containingResource.resolve(name + ".class") == null) + throw new IllegalStateException("Class " + name + " not in correct location in " + _containingResource); + _ci = new ClassInfo(_containingResource, normalize(name), version, access, signature, normalize(superName), normalize(interfaces)); for (Handler h : _handlers) { diff --git a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java index 3804b762debb..0812afa482d4 100644 --- a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java +++ b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java @@ -187,15 +187,40 @@ public void handle(AnnotationParser.MethodInfo info, String annotation) @Test public void testHiddenFilesInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTargetPath("test-classes/bad-classes.jar"); + Path badClassesJar = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { - parser.parse(emptySet, resourceFactory.newResource(badClassesJar)); - // only the valid classes inside bad-classes.jar should be parsed. If any invalid classes are parsed and exception would be thrown here + //Check class file in wrong location causes error + assertThrows(RuntimeException.class, () -> parser.parse(emptySet, resourceFactory.newResource(badClassesJar))); + } + //Check hidden and non classfiles skipped + assertThat(parser.getParsedClassNames().keySet(), containsInAnyOrder("Top", "com.acme.Foo")); + } + + @Test + public void testHiddenAndBadFilesInDir() throws Exception + { + AnnotationParser parser = new AnnotationParser(); + Set emptySet = Collections.emptySet(); + + Path badClassesPath = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); + + try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) + { + Path dir = MavenTestingUtils.getTargetTestingPath("baddir"); + IO.delete(dir.toFile()); + Resource badClassesJar = resourceFactory.newJarFileResource(badClassesPath.toUri()); + badClassesJar.copyTo(dir); + + //check class file in wrong location in jar causes error + assertThrows(RuntimeException.class, () -> parser.parse(emptySet, resourceFactory.newResource(dir))); } + + //Check hidden and non classfiles skipped + assertThat(parser.getParsedClassNames().keySet(), containsInAnyOrder("Top", "com.acme.Foo")); } @Test @@ -210,6 +235,7 @@ public void testModuleInfoClassInJar() throws Exception parser.parse(emptySet, resourceFactory.newResource(badClassesJar)); // Should throw no exceptions, and happily skip the module-info.class files } + assertThat(parser.getParsedClassNames().keySet(), not(containsInAnyOrder("module-info"))); } @Test From 49f2dfe49f1f8fb6d1a36b979ae465d107947240 Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 26 Oct 2023 09:00:25 +1100 Subject: [PATCH 02/10] Fix compile issue --- .../eclipse/jetty/ee9/annotations/TestAnnotationParser.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java index 0812afa482d4..ffd5897b9f45 100644 --- a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java +++ b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java @@ -34,6 +34,7 @@ import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.jupiter.WorkDir; import org.eclipse.jetty.toolchain.test.jupiter.WorkDirExtension; +import org.eclipse.jetty.util.IO; import org.eclipse.jetty.util.TypeUtil; import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.util.resource.ResourceFactory; @@ -46,10 +47,12 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.in; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.notNullValue; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; @ExtendWith(WorkDirExtension.class) public class TestAnnotationParser From 3ca2bceec95da08f3faffb8162e38a8bbff942d8 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 30 Oct 2023 12:28:01 +1000 Subject: [PATCH 03/10] prefer using MavenPaths.findTestResourceFile over MavenTestingUtils.getTestResourcePathFile Signed-off-by: Olivier Lamy --- .../annotations/TestAnnotationParser.java | 18 +++++++-------- jetty-ee8/jetty-ee8-annotations/pom.xml | 21 +++++++++++++----- .../test/jar/test-sci-for-container-path.jar | Bin 3129 -> 0 bytes .../src/test/jar/test-sci-for-webinf.jar | Bin 2883 -> 0 bytes .../src/test/jar/test-sci-with-ordering.jar | Bin 3266 -> 0 bytes .../src/test/jar/test-sci.jar | Bin 7570 -> 0 bytes .../ee9/annotations/TestAnnotationParser.java | 18 ++++++++------- 7 files changed, 34 insertions(+), 23 deletions(-) delete mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-container-path.jar delete mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-webinf.jar delete mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-with-ordering.jar delete mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci.jar diff --git a/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java b/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java index 2cd16f55a013..f5edccfb32f9 100644 --- a/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java +++ b/jetty-ee10/jetty-ee10-annotations/src/test/java/org/eclipse/jetty/ee10/annotations/TestAnnotationParser.java @@ -29,9 +29,9 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; -import java.util.jar.JarFile; import org.eclipse.jetty.toolchain.test.FS; +import org.eclipse.jetty.toolchain.test.MavenPaths; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.jupiter.WorkDir; import org.eclipse.jetty.toolchain.test.jupiter.WorkDirExtension; @@ -191,7 +191,7 @@ public void handle(AnnotationParser.MethodInfo info, String annotation) @Test public void testHiddenFilesInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); + Path badClassesJar = MavenPaths.findTestResourceFile("bad-classes.jar"); AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); @@ -210,7 +210,7 @@ public void testHiddenAndBadFilesInDir() throws Exception AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); - Path badClassesPath = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); + Path badClassesPath = MavenPaths.findTestResourceFile("bad-classes.jar"); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { @@ -230,7 +230,7 @@ public void testHiddenAndBadFilesInDir() throws Exception @Test public void testModuleInfoClassInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTestResourcePathFile("jdk9/slf4j-api-1.8.0-alpha2.jar"); + Path badClassesJar = MavenPaths.findTestResourceFile("jdk9/slf4j-api-1.8.0-alpha2.jar"); AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); @@ -245,7 +245,7 @@ public void testModuleInfoClassInJar() throws Exception @Test public void testJep238MultiReleaseInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTestResourcePathFile("jdk9/log4j-api-2.9.0.jar"); + Path badClassesJar = MavenPaths.findTestResourceFile("jdk9/log4j-api-2.9.0.jar"); AnnotationParser parser = new AnnotationParser(); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { @@ -264,7 +264,7 @@ public void testJep238MultiReleaseInJar() throws Exception @Test public void testJep238MultiReleaseInJarJDK10() throws Exception { - Path jdk10Jar = MavenTestingUtils.getTestResourcePathFile("jdk10/multirelease-10.jar"); + Path jdk10Jar = MavenPaths.findTestResourceFile("jdk10/multirelease-10.jar"); AnnotationParser parser = new AnnotationParser(); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) @@ -316,8 +316,8 @@ public void testScanDuplicateClassesInJars() throws Exception { try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { - Resource testJar = resourceFactory.newResource(MavenTestingUtils.getTargetPath("test-classes/tinytest.jar")); - Resource testJar2 = resourceFactory.newResource(MavenTestingUtils.getTargetPath("test-classes/tinytest_copy.jar")); + Resource testJar = resourceFactory.newResource(MavenPaths.findTestResourceFile("tinytest.jar")); + Resource testJar2 = resourceFactory.newResource(MavenPaths.findTestResourceFile("tinytest_copy.jar")); AnnotationParser parser = new AnnotationParser(); DuplicateClassScanHandler handler = new DuplicateClassScanHandler(); Set handlers = Collections.singleton(handler); @@ -335,7 +335,7 @@ public void testScanDuplicateClasses() throws Exception { try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { - Resource testJar = resourceFactory.newResource(MavenTestingUtils.getTargetFile("test-classes/tinytest.jar").toPath()); + Resource testJar = resourceFactory.newResource(MavenPaths.findTestResourceFile("tinytest.jar")); File testClasses = new File(MavenTestingUtils.getTargetDir(), "test-classes"); AnnotationParser parser = new AnnotationParser(); DuplicateClassScanHandler handler = new DuplicateClassScanHandler(); diff --git a/jetty-ee8/jetty-ee8-annotations/pom.xml b/jetty-ee8/jetty-ee8-annotations/pom.xml index d021a3de51c8..5de5ae2f0cb3 100644 --- a/jetty-ee8/jetty-ee8-annotations/pom.xml +++ b/jetty-ee8/jetty-ee8-annotations/pom.xml @@ -68,12 +68,6 @@ - - - jar - src/test/jar - - org.apache.felix @@ -92,6 +86,21 @@ org.apache.maven.plugins maven-resources-plugin + + copy-ee8-test-jar-resources + + copy-resources + + generate-test-resources + + ${project.build.testOutputDirectory}/jar + + + ${maven.multiModuleProjectDirectory}/jetty-ee9/${ee9.module}/src/test/jar + + + + copy-ee8-test-resources diff --git a/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-container-path.jar b/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-container-path.jar deleted file mode 100644 index d6fa63a78d67a2e0f627ac751f5d37a201ebd30d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3129 zcmWIWW@h1H0D)VTwZ32ml;8x?zOEsTx}JV+`T~t1dKY=Ub+yi&Ilno`;EM5sr$stm=T7K&>pF3;KUoqsMNIpE zO2y7O-9f_MLBS<+wbqKra0^W~4ic>qJ{|N~r01*8S0A9fmvOPzflZN}m7W51UF*WV z%r0;_-@W1zrx&Nk0CO6q4_JUsOU}=QJ04R7$d4cuiOIRCc$5ht`>{B+s4O!%wHU6R z0~~Z=I}TWOF)}b%Gczz4AR8MDRG(S|B6Ctpob&Ta5;OBsi#+o(OEMF4GOJRH^pbND zi;H`MPWv5l5V2M6XWAG4!!0&rg2d}XvMsz9kF;d)wEYcGw^*_z#me+W{6?d~hwMKB zk6E)iKI(RTUwm$6@$&C)|2`ExAX#SIk$CygwANg1Yo3#nzAVu*KJv-Ew5{Ukeqo-^ zp)WgEZ@4S)YMOb>DxJ{U_T8oHmYifix?|sT#>0hIKi)PgzjbIG=U0U(8`oVBy?=R5 z#}(CB#hu#oTeOUp)UIE)^HO5_LzDR2kL-EvQM*{K9o2Yy%W?j}e}`0d?aELwI{rf1 zePWG!xnxoOVaZL8lWofE+$|;2b-o5qulC*j=#zqm=&7Sdf+^>A_r1t?S>4zw!y7!= zxBqp3;BnVFrAhzY&s_NvVEM>NDz*LpzL%Yfa~zpG+YUY1-;|iRmK zXeQ(R3*yFG<3xHIHVYQ4zc0h!YtsI6g+Fuh#C1_pmuBBHx+&WA_(}N0-Xm)Q_sF?Q z%fk{BBwjbD&fD@97@yyOaVv?O4$4!Lbkm9w({oevO7tpnb6O`D<~JJ%w3gSge(LL= zvefC=O{=BB(JP}%48;pXZclv6QdhT9JJ3V>soLv5_saeKbKHy1IZ^O*N(` z!}}f2-%FJE5m5Ntx*Z7Vuc=v z3(N$1crt_cx${@Oea`t_<@VFn^44XVXt`4L+|NqY&Y6`fUFTKKRGryrIWu&nYYd)z z&yVbc+{CifJa}HkECM7j6$48IJpv_y2_9V~sl_F_#mSkvY57IE$*>HsTaZ|i0e1%n z!vzl*lyHMM8tx8!CKdo43rc+!e`US1be`^8t=m@1r%PO4!`e9`t%loUrjWh8?W1gy&&yRZzqd?# zdar9=?)KXY?<$$ZoJ}kK^KnPrNA)W@;+L${EO~CPjkpyMt9>p;;&c4ZFG9)r-5k#v z+y9iiHA}1vWxQHl($uDPP+8}a*J7!^0Rii>j#TinlzXf(ete{@@Hr#(Ya?0szas}094)ZARy>1{3^%jF{9->V@lEL0cQ zpSS8*!Gi7gj{o>(ebz9z$@)TH{`0IK{FY72-O4)NmX+LbpY+4)kKu(U?5KI=2T$v% zB4Fw%17asKQxPc63ySg!Qj1D5Q;T`eY~%tKJPa59?t65=@{wn2Sbwn@Y78ms{WFat-2>VqYcwgE_#Pkx7IZce4TLEg%qJ zc9|MVOHQDy$(ufZ_lDUC0)}if-Id0V=!^nxA88 zh8LmuoB%4!5vItpBKehsf*4@~_QD-z$CAc;GHrks^~e^18tv#M3c{jfcJjP}TD}B$ Tv$BEA7Xb)7iapDYQRBBp&n zrDErt?jT|Bpx~0ZT5CmQxP>Mg2Z`1QpAPyg((~2ls}E4#%edI72hu65yF zW*4}e?_P0<(~Hw%fH@7*2P{CRCFkeD9gnF3fl0gdQ21WY|J4)DIzU`ztrMrnsq*6gswa{0kZHaHZ)NGSX zlQhrDd9lkZQmk*kIhXV?{$t7`X8Q*D)IVurUAuxBtQPJHA_aV*Ot%(^b!#WVmC$L1$;4)J`3PsPw=T)eFLHw;mU?^+tM! zKdz4cy}4)Y8lIh2Giz6D9rUX|KCH!(!LhogV*kH@{CB^6p6U}9gO`}Q zyf<>6c;wQnfUnb(7DwdNFz?>>m^JFONTU^_RK$`slX4gR6YlDHrK)7YGXKTt+4r{k z^6W@4mydj~I;Vo&=w~21?{8>DE?+;E`GKIvy z;oLdDEP?TE4#d`2(@R!jSz?7ADER;*Uk^_r@IH6`s<+QM->cgGzNgN3U*`7r{dC5= z_?)MX9-p7C)@e`O!gJ@fJZauv>7r#f4hE;F$-aW~w)Rc~W*;YD7B?o*qynJh zDsppLLr(i0HW1kJTzk=-S7wXiUCw(pQimyS{0mTK+!v%2T*5>GEh_3E;+ zblcrrJ8xbOz16hQ>7?&Amu?-_lc9N=Y4+trcKR7dMoq0p!3tpCf8amzb-t&Jyzt8Dxk>c9q zNrx@&c5UUoSbcORckVy!`SX(BbLN*7L)|#xkSkC%% zm0Qnshl2hi7RG)#lI3y*39)%QPi#N+M7D-wr)q^rKPUU=m!I4>%*_y8;3!rn$D|{x zV|ggvz2MUAzO6a^Iy1I0nP(R$^h?eBP`vDD=4|Jv`wzM1n%PXy371+CKPyZmKtSgG zaq$N~h21DGzYO91uju~a&I!4V ze|z{odkD#Q+Oy26VMfg*Uf`h9K^@|DJE#LD37ivPw$$B6DL9rUc9R6a`41~3r*U4HTG{gV0_ff(mq_@ z(9(RW_Qn+|#=3?(Sv0~XMa3+No-=3V>}l~!qUX(;GIRQ|&}mU2b7sy@&t8#!fEAdr z7@0(vao4Iqp8$aX!&^rXja0|Nv|+DhL5e|ONuxTDglj{pbMaXWsth3jWbq*&6H+z8 z?8MC2pvn;fKsufPnMhS7Zf&5-5&}TlxPiG8t__}-aq9+Eo(SERK;3YUB2}d@{n#s0 zmDE{Hm8FuK$Ic@-mF0V3=F(LcoP^8A?zR?0Q+5zGynhq diff --git a/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-with-ordering.jar b/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-with-ordering.jar deleted file mode 100644 index 18e0a15593bce5e8be9d6d6811d8e9bf5f00a34e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3266 zcmbVO2|Sc}A0PKIuEu29Xj8q8#tg=*b)<5I8RHmNj%*VTMy_TiLp!E)s3_(7EK97S zH@U49LZM#ASSeH}S`juQOv*~x=UL3mi@bgM&F6XMc|OngcmIEf171j25(becDT(mU z!_rLx{3lpCo1$&(_GvpT!Ng%6AWTO3tP~mi%mgnaKa5~%XS2`J$r(e~$04+_Z1HH! zLuovEM|<0YUx_+hdM}14TDbOREj-#xTx=-EHCX|5cY8!tMjTNdPjsSP*-?m8h9i>n zh#ML5EFuSaVa9gG7W|IWqvGzCxu1`;kz>Xdx#4zpNSZ(Ivhc=uV_?gst@c0|G|eY8 zm}~rM1mq)xAo&CX>%b8FuuzIGKp}_t^WmYGfDkT0cy8#Z041F415mkm@qa>{$83*J z5`e+1gkZ4mK|I$Cu6$F_C?}9P2%wpVhR{gl5P)J6LZ*>PLF8iq1>+M$qEb_cJ-Eib zNR!UT*Ii%NX}g$a&(v$oJtkhhx&>*uH7e`6xr$8^HqCmbn1NtS3e9Uw+5PG2byK$L zb%x%E-9#s+aoY)@0wCdD;u!#rQgBsz1dQPikgOGAkH$Fb2S~}UXy7I$qv6?T%|%D>xu8kHDLFWF4cd!x4pXBHyQh+dEDwDvS1r_11~qj_Xq@8>>vM*XeoKFW{?dmg$(e4J)+!KicF#`jJV2w)=Ny zyg3^KuIgTBiuzVDiPqg^TsuZcx{_^R$yA`0rbfnoGZ-)>vV0&HYo+90ndNLSzwf|Y zEAgKTI&cW>M*Sf|Nz?r%4B3~! z7G^T@P>$B9VYS!u{d9Z#AS-Hn=+LR~3eqO;vWx;sVa0*Q-Tgnr`d6f+DULcQn}o*% zwW-HROTYH1>4K@(sLHyrQuK79qNT}J_sSUhEpC@gAM}$HXC01=7)R`2Ni*su`kn1X z;lbt>`Jb>Si_8itR2LwR&`S4%hgk3)M@SfuPzxej-=Z3-G#klEO(580ZzO2FyBDfp34%jkj$lbhET^Ht5zi{1dA1^hu|< zRtgcH!QtQ#dK_ZhE)Eutm8W9!iE)+d^bc8nQ-Vq1KnS;nSGN+y)nKrsG5@Et=&i#= z1E@4K)rX9xlW76y<+gwhBvH6#h{MDRq6k2?;jIktc-epr&*4uR#MP~hR)GM3X3!b+emTwAi5t11m>XRw-nxk~)S|In`$*ZQ4 z>x*CZ5IPM7#&^%9+AmxenFthrQ_dOlxHxYWpZHtCw!tQ)D_(COal^RLQZnhGW5;l ztGrO3YE=dfV=~;W4F_MIb?Y@Srw-_c?WLQI82jHo)x~p!Pt;{ym887 zTYDFQz!2p`tAls$6z1DZcoJ4uF|;x)5~R2Rd|X^0zSPvAC61-C|2!MCA}kW52o6^7 z>IHz`(6v?!9=|cj&vljCG}YnQt6?UJ5i2 zcv66Mq^vt0mKCf$AeL3+L|1&Bf~9f6i{;`0TiKL&dTxrXiX}H3>o@}G;k76Syoe|y PQU?5C!BcQd9D4g36Wc=s diff --git a/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci.jar b/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci.jar deleted file mode 100644 index bb9b90654bbc2aeb9f2e711a158a958597e6a50c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7570 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 diff --git a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java index ffd5897b9f45..e2e00d783a2e 100644 --- a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java +++ b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationParser.java @@ -31,6 +31,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import org.eclipse.jetty.toolchain.test.FS; +import org.eclipse.jetty.toolchain.test.MavenPaths; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.jupiter.WorkDir; import org.eclipse.jetty.toolchain.test.jupiter.WorkDirExtension; @@ -190,7 +191,8 @@ public void handle(AnnotationParser.MethodInfo info, String annotation) @Test public void testHiddenFilesInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); + + Path badClassesJar = MavenPaths.findTestResourceFile("bad-classes.jar"); AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); @@ -209,7 +211,7 @@ public void testHiddenAndBadFilesInDir() throws Exception AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); - Path badClassesPath = MavenTestingUtils.getTestResourcePathFile("bad-classes.jar"); + Path badClassesPath = MavenPaths.findTestResourceFile("bad-classes.jar"); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { @@ -229,7 +231,7 @@ public void testHiddenAndBadFilesInDir() throws Exception @Test public void testModuleInfoClassInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTargetPath("test-classes/jdk9/slf4j-api-1.8.0-alpha2.jar"); + Path badClassesJar = MavenPaths.findTestResourceFile("jdk9/slf4j-api-1.8.0-alpha2.jar"); AnnotationParser parser = new AnnotationParser(); Set emptySet = Collections.emptySet(); @@ -244,7 +246,7 @@ public void testModuleInfoClassInJar() throws Exception @Test public void testJep238MultiReleaseInJar() throws Exception { - Path badClassesJar = MavenTestingUtils.getTargetPath("test-classes/jdk9/log4j-api-2.9.0.jar"); + Path badClassesJar = MavenPaths.findTestResourceFile("jdk9/log4j-api-2.9.0.jar"); AnnotationParser parser = new AnnotationParser(); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) @@ -264,7 +266,7 @@ public void testJep238MultiReleaseInJar() throws Exception @Test public void testJep238MultiReleaseInJarJDK10() throws Exception { - Path jdk10Jar = MavenTestingUtils.getTargetPath("test-classes/jdk10/multirelease-10.jar"); + Path jdk10Jar = MavenPaths.findTestResourceFile("jdk10/multirelease-10.jar"); AnnotationParser parser = new AnnotationParser(); try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { @@ -314,8 +316,8 @@ public void testScanDuplicateClassesInJars() throws Exception { try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { - Resource testJar = resourceFactory.newResource(MavenTestingUtils.getTargetPath("test-classes/tinytest.jar")); - Resource testJar2 = resourceFactory.newResource(MavenTestingUtils.getTargetPath("test-classes/tinytest_copy.jar")); + Resource testJar = resourceFactory.newResource(MavenPaths.findTestResourceFile("tinytest.jar")); + Resource testJar2 = resourceFactory.newResource(MavenPaths.findTestResourceFile("tinytest_copy.jar")); AnnotationParser parser = new AnnotationParser(); DuplicateClassScanHandler handler = new DuplicateClassScanHandler(); Set handlers = Collections.singleton(handler); @@ -333,7 +335,7 @@ public void testScanDuplicateClasses() throws Exception { try (ResourceFactory.Closeable resourceFactory = ResourceFactory.closeable()) { - Resource testJar = resourceFactory.newResource(MavenTestingUtils.getTargetPath("test-classes/tinytest.jar")); + Resource testJar = resourceFactory.newResource(MavenPaths.findTestResourceFile("tinytest.jar")); File testClasses = new File(MavenTestingUtils.getTargetDir(), "test-classes"); AnnotationParser parser = new AnnotationParser(); DuplicateClassScanHandler handler = new DuplicateClassScanHandler(); From 0f4249ef2261b46b0b2ba0959d5c68036ec8dc0e Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 30 Oct 2023 12:38:49 +1000 Subject: [PATCH 04/10] fix jars path for ee8 Signed-off-by: Olivier Lamy --- .../jetty/ee9/annotations/TestAnnotationConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java index b5bdcf115ce5..bb6a2df414c8 100644 --- a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java +++ b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java @@ -84,7 +84,7 @@ public void setup(WorkDir workDir) throws Exception assertTrue(Files.exists(web31true), web31true + " should exist"); // prepare an sci that will be on the webapp's classpath - jarDir = MavenTestingUtils.getProjectDirPath("src/test/jar"); + jarDir = MavenPaths.targetTestDir("jar"); testSciJar = jarDir.resolve("test-sci.jar"); assertTrue(Files.exists(testSciJar)); From f20425fd0f21d20d0d94be5ce95676f161ec3604 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 30 Oct 2023 12:44:20 +1000 Subject: [PATCH 05/10] fix path Signed-off-by: Olivier Lamy --- .../jetty/ee9/annotations/TestAnnotationConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java index bb6a2df414c8..8471d2efeee0 100644 --- a/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java +++ b/jetty-ee9/jetty-ee9-annotations/src/test/java/org/eclipse/jetty/ee9/annotations/TestAnnotationConfiguration.java @@ -84,7 +84,7 @@ public void setup(WorkDir workDir) throws Exception assertTrue(Files.exists(web31true), web31true + " should exist"); // prepare an sci that will be on the webapp's classpath - jarDir = MavenPaths.targetTestDir("jar"); + jarDir = MavenPaths.findTestResourceDir("jar"); testSciJar = jarDir.resolve("test-sci.jar"); assertTrue(Files.exists(testSciJar)); From 3bdff12aa1c460256e3cf8bf1b9185aebb529527 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 30 Oct 2023 13:23:40 +1000 Subject: [PATCH 06/10] restore specific ee8 jars Signed-off-by: Olivier Lamy --- jetty-ee8/jetty-ee8-annotations/pom.xml | 21 +++++------------- .../test/jar/test-sci-for-container-path.jar | Bin 0 -> 3129 bytes .../src/test/jar/test-sci-for-webinf.jar | Bin 0 -> 2883 bytes .../src/test/jar/test-sci-with-ordering.jar | Bin 0 -> 3266 bytes .../src/test/jar/test-sci.jar | Bin 0 -> 7570 bytes 5 files changed, 6 insertions(+), 15 deletions(-) create mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-container-path.jar create mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-webinf.jar create mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-with-ordering.jar create mode 100644 jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci.jar diff --git a/jetty-ee8/jetty-ee8-annotations/pom.xml b/jetty-ee8/jetty-ee8-annotations/pom.xml index 5de5ae2f0cb3..d021a3de51c8 100644 --- a/jetty-ee8/jetty-ee8-annotations/pom.xml +++ b/jetty-ee8/jetty-ee8-annotations/pom.xml @@ -68,6 +68,12 @@ + + + jar + src/test/jar + + org.apache.felix @@ -86,21 +92,6 @@ org.apache.maven.plugins maven-resources-plugin - - copy-ee8-test-jar-resources - - copy-resources - - generate-test-resources - - ${project.build.testOutputDirectory}/jar - - - ${maven.multiModuleProjectDirectory}/jetty-ee9/${ee9.module}/src/test/jar - - - - copy-ee8-test-resources diff --git a/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-container-path.jar b/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-for-container-path.jar new file mode 100644 index 0000000000000000000000000000000000000000..d6fa63a78d67a2e0f627ac751f5d37a201ebd30d GIT binary patch literal 3129 zcmWIWW@h1H0D)VTwZ32ml;8x?zOEsTx}JV+`T~t1dKY=Ub+yi&Ilno`;EM5sr$stm=T7K&>pF3;KUoqsMNIpE zO2y7O-9f_MLBS<+wbqKra0^W~4ic>qJ{|N~r01*8S0A9fmvOPzflZN}m7W51UF*WV z%r0;_-@W1zrx&Nk0CO6q4_JUsOU}=QJ04R7$d4cuiOIRCc$5ht`>{B+s4O!%wHU6R z0~~Z=I}TWOF)}b%Gczz4AR8MDRG(S|B6Ctpob&Ta5;OBsi#+o(OEMF4GOJRH^pbND zi;H`MPWv5l5V2M6XWAG4!!0&rg2d}XvMsz9kF;d)wEYcGw^*_z#me+W{6?d~hwMKB zk6E)iKI(RTUwm$6@$&C)|2`ExAX#SIk$CygwANg1Yo3#nzAVu*KJv-Ew5{Ukeqo-^ zp)WgEZ@4S)YMOb>DxJ{U_T8oHmYifix?|sT#>0hIKi)PgzjbIG=U0U(8`oVBy?=R5 z#}(CB#hu#oTeOUp)UIE)^HO5_LzDR2kL-EvQM*{K9o2Yy%W?j}e}`0d?aELwI{rf1 zePWG!xnxoOVaZL8lWofE+$|;2b-o5qulC*j=#zqm=&7Sdf+^>A_r1t?S>4zw!y7!= zxBqp3;BnVFrAhzY&s_NvVEM>NDz*LpzL%Yfa~zpG+YUY1-;|iRmK zXeQ(R3*yFG<3xHIHVYQ4zc0h!YtsI6g+Fuh#C1_pmuBBHx+&WA_(}N0-Xm)Q_sF?Q z%fk{BBwjbD&fD@97@yyOaVv?O4$4!Lbkm9w({oevO7tpnb6O`D<~JJ%w3gSge(LL= zvefC=O{=BB(JP}%48;pXZclv6QdhT9JJ3V>soLv5_saeKbKHy1IZ^O*N(` z!}}f2-%FJE5m5Ntx*Z7Vuc=v z3(N$1crt_cx${@Oea`t_<@VFn^44XVXt`4L+|NqY&Y6`fUFTKKRGryrIWu&nYYd)z z&yVbc+{CifJa}HkECM7j6$48IJpv_y2_9V~sl_F_#mSkvY57IE$*>HsTaZ|i0e1%n z!vzl*lyHMM8tx8!CKdo43rc+!e`US1be`^8t=m@1r%PO4!`e9`t%loUrjWh8?W1gy&&yRZzqd?# zdar9=?)KXY?<$$ZoJ}kK^KnPrNA)W@;+L${EO~CPjkpyMt9>p;;&c4ZFG9)r-5k#v z+y9iiHA}1vWxQHl($uDPP+8}a*J7!^0Rii>j#TinlzXf(ete{@@Hr#(Ya?0szas}094)ZARy>1{3^%jF{9->V@lEL0cQ zpSS8*!Gi7gj{o>(ebz9z$@)TH{`0IK{FY72-O4)NmX+LbpY+4)kKu(U?5KI=2T$v% zB4Fw%17asKQxPc63ySg!Qj1D5Q;T`eY~%tKJPa59?t65=@{wn2Sbwn@Y78ms{WFat-2>VqYcwgE_#Pkx7IZce4TLEg%qJ zc9|MVOHQDy$(ufZ_lDUC0)}if-Id0V=!^nxA88 zh8LmuoB%4!5vItpBKehsf*4@~_QD-z$CAc;GHrks^~e^18tv#M3c{jfcJjP}TD}B$ Tv$BEA7Xb)7iapDYQRBBp&n zrDErt?jT|Bpx~0ZT5CmQxP>Mg2Z`1QpAPyg((~2ls}E4#%edI72hu65yF zW*4}e?_P0<(~Hw%fH@7*2P{CRCFkeD9gnF3fl0gdQ21WY|J4)DIzU`ztrMrnsq*6gswa{0kZHaHZ)NGSX zlQhrDd9lkZQmk*kIhXV?{$t7`X8Q*D)IVurUAuxBtQPJHA_aV*Ot%(^b!#WVmC$L1$;4)J`3PsPw=T)eFLHw;mU?^+tM! zKdz4cy}4)Y8lIh2Giz6D9rUX|KCH!(!LhogV*kH@{CB^6p6U}9gO`}Q zyf<>6c;wQnfUnb(7DwdNFz?>>m^JFONTU^_RK$`slX4gR6YlDHrK)7YGXKTt+4r{k z^6W@4mydj~I;Vo&=w~21?{8>DE?+;E`GKIvy z;oLdDEP?TE4#d`2(@R!jSz?7ADER;*Uk^_r@IH6`s<+QM->cgGzNgN3U*`7r{dC5= z_?)MX9-p7C)@e`O!gJ@fJZauv>7r#f4hE;F$-aW~w)Rc~W*;YD7B?o*qynJh zDsppLLr(i0HW1kJTzk=-S7wXiUCw(pQimyS{0mTK+!v%2T*5>GEh_3E;+ zblcrrJ8xbOz16hQ>7?&Amu?-_lc9N=Y4+trcKR7dMoq0p!3tpCf8amzb-t&Jyzt8Dxk>c9q zNrx@&c5UUoSbcORckVy!`SX(BbLN*7L)|#xkSkC%% zm0Qnshl2hi7RG)#lI3y*39)%QPi#N+M7D-wr)q^rKPUU=m!I4>%*_y8;3!rn$D|{x zV|ggvz2MUAzO6a^Iy1I0nP(R$^h?eBP`vDD=4|Jv`wzM1n%PXy371+CKPyZmKtSgG zaq$N~h21DGzYO91uju~a&I!4V ze|z{odkD#Q+Oy26VMfg*Uf`h9K^@|DJE#LD37ivPw$$B6DL9rUc9R6a`41~3r*U4HTG{gV0_ff(mq_@ z(9(RW_Qn+|#=3?(Sv0~XMa3+No-=3V>}l~!qUX(;GIRQ|&}mU2b7sy@&t8#!fEAdr z7@0(vao4Iqp8$aX!&^rXja0|Nv|+DhL5e|ONuxTDglj{pbMaXWsth3jWbq*&6H+z8 z?8MC2pvn;fKsufPnMhS7Zf&5-5&}TlxPiG8t__}-aq9+Eo(SERK;3YUB2}d@{n#s0 zmDE{Hm8FuK$Ic@-mF0V3=F(LcoP^8A?zR?0Q+5zGynhq literal 0 HcmV?d00001 diff --git a/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-with-ordering.jar b/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci-with-ordering.jar new file mode 100644 index 0000000000000000000000000000000000000000..18e0a15593bce5e8be9d6d6811d8e9bf5f00a34e GIT binary patch literal 3266 zcmbVO2|Sc}A0PKIuEu29Xj8q8#tg=*b)<5I8RHmNj%*VTMy_TiLp!E)s3_(7EK97S zH@U49LZM#ASSeH}S`juQOv*~x=UL3mi@bgM&F6XMc|OngcmIEf171j25(becDT(mU z!_rLx{3lpCo1$&(_GvpT!Ng%6AWTO3tP~mi%mgnaKa5~%XS2`J$r(e~$04+_Z1HH! zLuovEM|<0YUx_+hdM}14TDbOREj-#xTx=-EHCX|5cY8!tMjTNdPjsSP*-?m8h9i>n zh#ML5EFuSaVa9gG7W|IWqvGzCxu1`;kz>Xdx#4zpNSZ(Ivhc=uV_?gst@c0|G|eY8 zm}~rM1mq)xAo&CX>%b8FuuzIGKp}_t^WmYGfDkT0cy8#Z041F415mkm@qa>{$83*J z5`e+1gkZ4mK|I$Cu6$F_C?}9P2%wpVhR{gl5P)J6LZ*>PLF8iq1>+M$qEb_cJ-Eib zNR!UT*Ii%NX}g$a&(v$oJtkhhx&>*uH7e`6xr$8^HqCmbn1NtS3e9Uw+5PG2byK$L zb%x%E-9#s+aoY)@0wCdD;u!#rQgBsz1dQPikgOGAkH$Fb2S~}UXy7I$qv6?T%|%D>xu8kHDLFWF4cd!x4pXBHyQh+dEDwDvS1r_11~qj_Xq@8>>vM*XeoKFW{?dmg$(e4J)+!KicF#`jJV2w)=Ny zyg3^KuIgTBiuzVDiPqg^TsuZcx{_^R$yA`0rbfnoGZ-)>vV0&HYo+90ndNLSzwf|Y zEAgKTI&cW>M*Sf|Nz?r%4B3~! z7G^T@P>$B9VYS!u{d9Z#AS-Hn=+LR~3eqO;vWx;sVa0*Q-Tgnr`d6f+DULcQn}o*% zwW-HROTYH1>4K@(sLHyrQuK79qNT}J_sSUhEpC@gAM}$HXC01=7)R`2Ni*su`kn1X z;lbt>`Jb>Si_8itR2LwR&`S4%hgk3)M@SfuPzxej-=Z3-G#klEO(580ZzO2FyBDfp34%jkj$lbhET^Ht5zi{1dA1^hu|< zRtgcH!QtQ#dK_ZhE)Eutm8W9!iE)+d^bc8nQ-Vq1KnS;nSGN+y)nKrsG5@Et=&i#= z1E@4K)rX9xlW76y<+gwhBvH6#h{MDRq6k2?;jIktc-epr&*4uR#MP~hR)GM3X3!b+emTwAi5t11m>XRw-nxk~)S|In`$*ZQ4 z>x*CZ5IPM7#&^%9+AmxenFthrQ_dOlxHxYWpZHtCw!tQ)D_(COal^RLQZnhGW5;l ztGrO3YE=dfV=~;W4F_MIb?Y@Srw-_c?WLQI82jHo)x~p!Pt;{ym887 zTYDFQz!2p`tAls$6z1DZcoJ4uF|;x)5~R2Rd|X^0zSPvAC61-C|2!MCA}kW52o6^7 z>IHz`(6v?!9=|cj&vljCG}YnQt6?UJ5i2 zcv66Mq^vt0mKCf$AeL3+L|1&Bf~9f6i{;`0TiKL&dTxrXiX}H3>o@}G;k76Syoe|y PQU?5C!BcQd9D4g36Wc=s literal 0 HcmV?d00001 diff --git a/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci.jar b/jetty-ee8/jetty-ee8-annotations/src/test/jar/test-sci.jar new file mode 100644 index 0000000000000000000000000000000000000000..bb9b90654bbc2aeb9f2e711a158a958597e6a50c GIT binary patch literal 7570 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 literal 0 HcmV?d00001 From 2a832fdb87e0febe819c7978af59d93a79c8b3da Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 30 Oct 2023 14:02:48 +1000 Subject: [PATCH 07/10] fix wrong jar Signed-off-by: Olivier Lamy --- .../src/test/resources/bad-classes.jar | Bin 1977 -> 2738 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/jetty-ee9/jetty-ee9-annotations/src/test/resources/bad-classes.jar b/jetty-ee9/jetty-ee9-annotations/src/test/resources/bad-classes.jar index 5538c18b552da21d6a9ff7167512820508362e65..21f799557eff77f177844aede0236d884d89467d 100644 GIT binary patch delta 1308 zcmdnVze$uYz?+#xgn@&DgQ2%3GJGPRB@3ALcC+J(cqRElQZwU+xT@OoC0Z8G#YLZp zt4?DO&HhyMv51i&z?+>z^{CuJCk6%v5C)mV#lXP9z>p6z>4MzmiA=nVTu4HnlqbtD zcACQ%tpR1pkoSUj&oDU=rrh?Q?R$!8>2aD&IWTX}$$)=*2 zB!yuTL`OkRVlu>3h_AiS^r_<27haT~SD&tzoRe5wZ2dL=x*Z!ETQysp9-A6lS{a*| z99tNhnHyW|KgEBTgH@1CG{>1z} z^5jm)-w%ua>?v_$6MOz=N{Aa<-TX6qLiS&}v*gO62}hR5EZ_()sLKp2S{1D}gE?$1 z`=-Wv$BB)y8HOANOo|t>6i#wJIob4+hi6UHZAl69rlmU@RHR)5Jc^hz)!5{~apWD{ z-M<*$?Wn8K-}t98#3M#(nybA_?rq;Ng>y?2jLUhtwuD7E%oU05OFVLYlUHx$ao&4M zh9TP$%I8@=PG2|W+CkrY(fLgs zcCrMkIWH*P!qemA7*z$0P6uy?Kg3nlo-fg|crGsb zL|k*v$Ye7bxmt$E9q$jg5DQ}*` z#K<^Vk*Rd!b798G_gFuBz$~2zQ~}fq2i!oGo>NX@hF)?`VsWvyhtD}bAOFx57gle1 z_DD;^_tZ(Bu!2*bXCAD27IfiyxW?pUCS{pRTez|vfEqzKz?+dtgaP5B$@kgJc|l%+ zyL7TLyD1CEg_C30r6djk^(5!#>Vx!gF+iLTc6K0#6w?!i$+;ZjlaF!8iE%SR)Fme8 zrs})p=R@2#xq?GWLWl`T3d!-4>)5rJ+LMLG~3WSP-C}1tpLIyjj^mlH5Qz8|W4eRuB&WUZ;EL From de7498a148420a624cb608ef8a3a216b940b76c6 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Mon, 30 Oct 2023 18:38:01 +1000 Subject: [PATCH 08/10] add some debug options Signed-off-by: Olivier Lamy --- .../jetty-ee10-demos/jetty-ee10-demo-mock-resources/pom.xml | 1 + .../jetty-ee10-demo-container-initializer/pom.xml | 1 + jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/pom.xml | 6 ++++++ .../java/org/eclipse/jetty/ee10/osgi/test/TestOSGiUtil.java | 6 ++++++ 4 files changed, 14 insertions(+) diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-mock-resources/pom.xml b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-mock-resources/pom.xml index 430d327de575..8ac621a383d1 100644 --- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-mock-resources/pom.xml +++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-mock-resources/pom.xml @@ -41,6 +41,7 @@ org.example;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}" javax.sql, jakarta.transaction;version="2.0.0" <_nouses>true + ee10 diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-spec/jetty-ee10-demo-container-initializer/pom.xml b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-spec/jetty-ee10-demo-container-initializer/pom.xml index 2c851f372292..81198c27623f 100644 --- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-spec/jetty-ee10-demo-container-initializer/pom.xml +++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-spec/jetty-ee10-demo-container-initializer/pom.xml @@ -34,6 +34,7 @@ osgi.serviceloader; osgi.serviceloader=jakarta.servlet.ServletContainerInitializer org.example.initializer;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}" <_nouses>true + ee10 diff --git a/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/pom.xml b/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/pom.xml index 98e59263057e..e0674b28d07c 100644 --- a/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/pom.xml +++ b/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/pom.xml @@ -12,8 +12,11 @@ target/distribution ${project.groupId}.boot.test.osgi + false true true + WARN + 0 @@ -519,7 +522,10 @@ ${skipTests} + ${bundle.debug} ${session.repositorySession.localRepository.basedir.absolutePath} + ${pax.exam.debug.port} + ${pax.exam.LEVEL} ${env.GLOBAL_MVN_SETTINGS} -Dconscrypt-version=${conscrypt.version} diff --git a/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/src/test/java/org/eclipse/jetty/ee10/osgi/test/TestOSGiUtil.java b/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/src/test/java/org/eclipse/jetty/ee10/osgi/test/TestOSGiUtil.java index 06f840980752..13ec92196fed 100644 --- a/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/src/test/java/org/eclipse/jetty/ee10/osgi/test/TestOSGiUtil.java +++ b/jetty-ee10/jetty-ee10-osgi/test-jetty-ee10-osgi/src/test/java/org/eclipse/jetty/ee10/osgi/test/TestOSGiUtil.java @@ -25,6 +25,7 @@ import org.eclipse.jetty.util.ssl.SslContextFactory; import org.ops4j.pax.exam.CoreOptions; import org.ops4j.pax.exam.Option; +import org.ops4j.pax.exam.options.extra.VMOption; import org.ops4j.pax.tinybundles.core.TinyBundle; import org.ops4j.pax.tinybundles.core.TinyBundles; import org.osgi.framework.Bundle; @@ -103,6 +104,11 @@ public static List