Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package plexus-classworlds for openSUSE:Factory checked in at 2026-05-25 21:57:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plexus-classworlds (Old) and /work/SRC/openSUSE:Factory/.plexus-classworlds.new.2084 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plexus-classworlds" Mon May 25 21:57:53 2026 rev:8 rq:1355097 version:2.12.0 Changes: -------- --- /work/SRC/openSUSE:Factory/plexus-classworlds/plexus-classworlds.changes 2026-05-12 19:31:20.954726665 +0200 +++ /work/SRC/openSUSE:Factory/.plexus-classworlds.new.2084/plexus-classworlds.changes 2026-05-25 22:00:40.734530943 +0200 @@ -1,0 +2,7 @@ +Mon May 25 13:48:34 UTC 2026 - Fridrich Strba <[email protected]> + +- Upgrade to version 2.12.0 + * Bug fixes + + Fix loadGlob using OR instead of AND for glob matching + +------------------------------------------------------------------- Old: ---- plexus-classworlds-2.11.0.tar.gz New: ---- plexus-classworlds-2.12.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plexus-classworlds.spec ++++++ --- /var/tmp/diff_new_pack.DTh3Da/_old 2026-05-25 22:00:41.554564687 +0200 +++ /var/tmp/diff_new_pack.DTh3Da/_new 2026-05-25 22:00:41.558564852 +0200 @@ -18,7 +18,7 @@ %global short_name classworlds Name: plexus-%{short_name} -Version: 2.11.0 +Version: 2.12.0 Release: 0 Summary: Plexus Classworlds Classloader Framework License: Apache-2.0 AND Plexus ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.DTh3Da/_old 2026-05-25 22:00:41.602566662 +0200 +++ /var/tmp/diff_new_pack.DTh3Da/_new 2026-05-25 22:00:41.606566827 +0200 @@ -1,6 +1,6 @@ -mtime: 1778576070 -commit: 92d456fb5f93e5833500139a81eefd7e6e0dd05225cc01e1314a53ffbf287bdf +mtime: 1779717021 +commit: b5f8dc0d25b37f587a43c65df25c3aa753e6a72e788ebcabeebc920adfcc25c3 url: https://src.opensuse.org/java-packages/plexus-classworlds -revision: 92d456fb5f93e5833500139a81eefd7e6e0dd05225cc01e1314a53ffbf287bdf +revision: b5f8dc0d25b37f587a43c65df25c3aa753e6a72e788ebcabeebc920adfcc25c3 projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-05-25 15:50:21.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ plexus-classworlds-2.11.0.tar.gz -> plexus-classworlds-2.12.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plexus-classworlds-plexus-classworlds-2.11.0/pom.xml new/plexus-classworlds-plexus-classworlds-2.12.0/pom.xml --- old/plexus-classworlds-plexus-classworlds-2.11.0/pom.xml 2026-05-11 20:20:54.000000000 +0200 +++ new/plexus-classworlds-plexus-classworlds-2.12.0/pom.xml 2026-05-19 23:08:30.000000000 +0200 @@ -25,7 +25,7 @@ </parent> <artifactId>plexus-classworlds</artifactId> - <version>2.11.0</version> + <version>2.12.0</version> <packaging>bundle</packaging> <name>Plexus Classworlds</name> @@ -36,7 +36,7 @@ <scm> <connection>scm:git:[email protected]:codehaus-plexus/plexus-classworlds.git</connection> <developerConnection>scm:git:[email protected]:codehaus-plexus/plexus-classworlds.git</developerConnection> - <tag>plexus-classworlds-2.11.0</tag> + <tag>plexus-classworlds-2.12.0</tag> <url>https://github.com/codehaus-plexus/plexus-classworlds/tree/${project.scm.tag}/</url> </scm> <issueManagement> @@ -52,7 +52,7 @@ </distributionManagement> <properties> - <project.build.outputTimestamp>2026-05-11T18:20:49Z</project.build.outputTimestamp> + <project.build.outputTimestamp>2026-05-19T21:08:25Z</project.build.outputTimestamp> </properties> <dependencies> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plexus-classworlds-plexus-classworlds-2.11.0/src/main/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParser.java new/plexus-classworlds-plexus-classworlds-2.12.0/src/main/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParser.java --- old/plexus-classworlds-plexus-classworlds-2.11.0/src/main/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParser.java 2026-05-11 20:20:54.000000000 +0200 +++ new/plexus-classworlds-plexus-classworlds-2.12.0/src/main/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParser.java 2026-05-19 23:08:30.000000000 +0200 @@ -334,7 +334,7 @@ final String suffix = localName.substring(starLoc + 1); - File[] matches = dir.listFiles((dir1, name) -> name.startsWith(prefix) || name.endsWith(suffix)); + File[] matches = dir.listFiles((dir1, name) -> name.startsWith(prefix) && name.endsWith(suffix)); if (matches != null) { for (File match : matches) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plexus-classworlds-plexus-classworlds-2.11.0/src/test/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParserTest.java new/plexus-classworlds-plexus-classworlds-2.12.0/src/test/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParserTest.java --- old/plexus-classworlds-plexus-classworlds-2.11.0/src/test/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParserTest.java 2026-05-11 20:20:54.000000000 +0200 +++ new/plexus-classworlds-plexus-classworlds-2.12.0/src/test/java/org/codehaus/plexus/classworlds/launcher/ConfigurationParserTest.java 2026-05-19 23:08:30.000000000 +0200 @@ -1,7 +1,16 @@ package org.codehaus.plexus.classworlds.launcher; +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + import org.codehaus.plexus.classworlds.AbstractClassWorldsTestCase; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -80,4 +89,47 @@ assertEquals("cheesetest prop valuetoast", result); } + + @Test + void loadGlobMatchesBothPrefixAndSuffix(@TempDir Path tempDir) throws Exception { + Files.createFile(tempDir.resolve("maven-core.jar")); + Files.createFile(tempDir.resolve("maven-model.jar")); + Files.createFile(tempDir.resolve("sisu-plexus.jar")); + Files.createFile(tempDir.resolve("guice.jar")); + + List<File> loaded = new ArrayList<>(); + ConfigurationHandler handler = new NoopConfigurationHandler() { + @Override + public void addLoadFile(File file) { + loaded.add(file); + } + }; + ConfigurationParser parser = new ConfigurationParser(handler, System.getProperties()); + + parser.loadGlob(new File(tempDir.toFile(), "maven-*.jar").toString(), false); + + assertEquals( + 2, + loaded.size(), + "glob 'maven-*.jar' should match only files starting with 'maven-' AND ending with '.jar'"); + List<String> names = loaded.stream().map(File::getName).sorted().collect(Collectors.toList()); + assertEquals(Arrays.asList("maven-core.jar", "maven-model.jar"), names); + } + + private abstract static class NoopConfigurationHandler implements ConfigurationHandler { + @Override + public void setAppMain(String mainClassName, String mainRealmName) {} + + @Override + public void addRealm(String realmName) {} + + @Override + public void addImportFrom(String realmName, String importSpec) {} + + @Override + public void addLoadFile(File file) {} + + @Override + public void addLoadURL(java.net.URL url) {} + } } ++++++ plexus-classworlds-build.xml ++++++ --- /var/tmp/diff_new_pack.DTh3Da/_old 2026-05-25 22:00:42.070585922 +0200 +++ /var/tmp/diff_new_pack.DTh3Da/_new 2026-05-25 22:00:42.074586086 +0200 @@ -10,7 +10,7 @@ <property name="project.groupId" value="org.codehaus.plexus"/> <property name="project.artifactId" value="plexus-classworlds"/> - <property name="project.version" value="2.11.0"/> + <property name="project.version" value="2.12.0"/> <property name="project.name" value="Plexus Classworlds"/> <property name="project.description" value="A class loader framework"/> <property name="project.organization.name" value="Codehaus Plexus"/>
