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-09-29 17:49:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plexus-classworlds (Old)
and /work/SRC/openSUSE:Factory/.plexus-classworlds.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plexus-classworlds"
Tue Sep 29 17:49:30 2026 rev:9 rq:1381212 version:2.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/plexus-classworlds/plexus-classworlds.changes
2026-05-25 22:00:40.734530943 +0200
+++
/work/SRC/openSUSE:Factory/.plexus-classworlds.new.383539/plexus-classworlds.changes
2026-09-29 17:50:52.959970315 +0200
@@ -1,0 +2,13 @@
+Mon Sep 28 12:30:30 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Upgrade to version 2.12.1
+ * Maintenance
+ + Rewrite README with usage, status and version guidance
+ + Convert the site documents from xdoc to Markdown
+ * Build
+ + Update parent to plexus 27
+ * Dependency updates
+ + Update parent POM to 26
+ + Bump org.jacoco:jacoco-maven-plugin from 0.8.14 to 0.8.15
+
+-------------------------------------------------------------------
Old:
----
plexus-classworlds-2.12.0.tar.gz
New:
----
plexus-classworlds-2.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plexus-classworlds.spec ++++++
--- /var/tmp/diff_new_pack.7ETMNL/_old 2026-09-29 17:50:54.243023892 +0200
+++ /var/tmp/diff_new_pack.7ETMNL/_new 2026-09-29 17:50:54.246024017 +0200
@@ -18,7 +18,7 @@
%global short_name classworlds
Name: plexus-%{short_name}
-Version: 2.12.0
+Version: 2.12.1
Release: 0
Summary: Plexus Classworlds Classloader Framework
License: Apache-2.0 AND Plexus
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.7ETMNL/_old 2026-09-29 17:50:54.325027316 +0200
+++ /var/tmp/diff_new_pack.7ETMNL/_new 2026-09-29 17:50:54.339027900 +0200
@@ -1,6 +1,6 @@
-mtime: 1779717021
-commit: b5f8dc0d25b37f587a43c65df25c3aa753e6a72e788ebcabeebc920adfcc25c3
+mtime: 1790598911
+commit: 8dd30fea579bb3e5eb53c1548baa60866dded20e41bc85d525473b7d12c50115
url: https://src.opensuse.org/java-packages/plexus-classworlds
-revision: b5f8dc0d25b37f587a43c65df25c3aa753e6a72e788ebcabeebc920adfcc25c3
+revision: 8dd30fea579bb3e5eb53c1548baa60866dded20e41bc85d525473b7d12c50115
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-09-28 14:35:11.000000000 +0200
@@ -0,0 +1 @@
+.osc
++++++ plexus-classworlds-2.12.0.tar.gz -> plexus-classworlds-2.12.1.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/README.md
new/plexus-classworlds-plexus-classworlds-2.12.1/README.md
--- old/plexus-classworlds-plexus-classworlds-2.12.0/README.md 2026-05-19
23:08:30.000000000 +0200
+++ new/plexus-classworlds-plexus-classworlds-2.12.1/README.md 2026-08-19
10:07:59.000000000 +0200
@@ -1,15 +1,42 @@
-Plexus-Classworlds
-==================
+# Plexus Classworlds
-[](http://www.apache.org/licenses/)
-[](https://search.maven.org/artifact/org.codehaus.plexus/plexus-classworlds)
+[](https://central.sonatype.com/artifact/org.codehaus.plexus/plexus-classworlds)
+[](https://github.com/codehaus-plexus/plexus-classworlds/actions)
[](https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/codehaus/plexus/plexus-classworlds/README.md)
-
+[](https://www.apache.org/licenses/LICENSE-2.0)
-Current master is now at https://github.com/codehaus-plexus/plexus-classworlds
+A classloader framework for container developers who need more than Java's
built-in hierarchy.
-Backward Compatibility
-----------------------
+Classworlds replaces the strict parent-child classloader tree with a pool of
**realms** that can import
+specific packages from each other — a directed graph rather than a hierarchy.
That is how Maven keeps a
+plugin's dependencies from colliding with its own, and how it loads plugins in
isolation from one another.
+
+It also ships a
[launcher](https://codehaus-plexus.github.io/plexus-classworlds/launcher.html)
that builds
+the realms from a configuration file and invokes an application's `main`
method in the right one. Maven's
+own startup scripts use it.
+
+## Status
+
+Maintained, conservatively. Maven's startup depends on this, so changes are
deliberate and public API is
+kept compatible.
+
+## Using it
+
+```xml
+<dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>2.12.0</version>
+</dependency>
+```
+
+Check the badge above for the current version.
+
+## Requirements
+
+Java 8 or later.
+
+## Backward Compatibility
This project maintains a legacy compatibility layer in the
`org.codehaus.classworlds` package.
This package **cannot be removed** without coordinating with the Eclipse Sisu
and Apache Maven teams.
@@ -24,3 +51,17 @@
New code should use the `org.codehaus.plexus.classworlds` package.
See [COMPATIBILITY.md](COMPATIBILITY.md) for the full picture, including what
Sisu references
and what is required before any future removal can be considered.
+
+## Documentation
+
+- [Project site](https://codehaus-plexus.github.io/plexus-classworlds/) —
including [API
usage](https://codehaus-plexus.github.io/plexus-classworlds/apiusage.html) and
the
[launcher](https://codehaus-plexus.github.io/plexus-classworlds/launcher.html)
+- [Javadoc](https://javadoc.io/doc/org.codehaus.plexus/plexus-classworlds)
+- [Release
notes](https://github.com/codehaus-plexus/plexus-classworlds/releases)
+
+## Contributing
+
+See
[CONTRIBUTING.md](https://github.com/codehaus-plexus/.github/blob/master/CONTRIBUTING.md).
In short:
+`mvn verify` builds, and run `mvn spotless:apply` before pushing or CI will
fail on formatting.
+
+Please report security vulnerabilities privately — see
+[SECURITY.md](https://github.com/codehaus-plexus/.github/blob/master/SECURITY.md),
not a public issue.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/plexus-classworlds-plexus-classworlds-2.12.0/pom.xml
new/plexus-classworlds-plexus-classworlds-2.12.1/pom.xml
--- old/plexus-classworlds-plexus-classworlds-2.12.0/pom.xml 2026-05-19
23:08:30.000000000 +0200
+++ new/plexus-classworlds-plexus-classworlds-2.12.1/pom.xml 2026-08-19
10:07:59.000000000 +0200
@@ -21,11 +21,11 @@
<parent>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus</artifactId>
- <version>25</version>
+ <version>27</version>
</parent>
<artifactId>plexus-classworlds</artifactId>
- <version>2.12.0</version>
+ <version>2.12.1</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.12.0</tag>
+ <tag>plexus-classworlds-2.12.1</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-19T21:08:25Z</project.build.outputTimestamp>
+
<project.build.outputTimestamp>2026-08-19T08:07:53Z</project.build.outputTimestamp>
</properties>
<dependencies>
@@ -170,7 +170,7 @@
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
- <version>0.8.14</version>
+ <version>0.8.15</version>
<executions>
<execution>
<goals>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/markdown/apiusage.md
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/markdown/apiusage.md
---
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/markdown/apiusage.md
1970-01-01 01:00:00.000000000 +0100
+++
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/markdown/apiusage.md
2026-08-19 10:07:59.000000000 +0200
@@ -0,0 +1,76 @@
+---
+title: Classworlds API Usage
+author: bob mcwhirter
+---
+
+# Classworlds API Usage
+
+The Java API can be used to create new realms and connect
+realms together through importation of specific packages.
+
+The core of the **Classworlds** infrastructure is
+the
+[ClassWorld](apidocs/index.html?org/codehaus/plexus/classworlds/ClassWorld.html)
+class. An application must create a `ClassWorld` instance.
+It is advisable to store the instance as a singleton or some other
+handy location.
+
+```
+
+ClassWorld world = new ClassWorld();
+
+```
+
+Once a `ClassWorld` is created, realms within it
+can be created. These realms effectively only allow loading
+of the core JVM classes initially.
+
+```
+
+ClassWorld world = new ClassWorld();
+ClassRealm containerRealm = world.newRealm( "container" );
+ClassRealm logComponentRealm = world.newRealm( "logComponent" );
+
+```
+
+In order to make each `ClassRealm` useful, constituents
+in form of URLs must be added to it where each can provide certain classes.
+The URL must return either a JAR or a directory on the default file system.
+
+```
+
+containerRealm.addURL( containerJarUrl );
+logComponentRealm.addURL( logComponentJarUrl );
+
+```
+
+`ClassRealm`s can optionally be filtered to further restrict which
classes/resources
+are exposed. The filter is provided as additional argument to `world.newRealm(
"filteredcontainer", myPredicate );`
+
+Now, links between the various realms need to be created to allow
+classes loaded from one to be available to classes loaded in another.
+
+```
+
+logComponentRealm.importFrom( "container",
+ "com.werken.projectz.component" );
+
+```
+
+The container implementation can then be loaded from its realm
+and used.
+
+```
+
+Class containerClass = containerRealm.loadClass( CONTAINER_CLASSNAME );
+MyContainer container = (MyContainer) containerClass.newInstance();
+Thread.currentThread().setContextClassLoader( containerRealm.getClassLoader()
);
+container.run();
+
+```
+
+Ideally, the container itself would be responsible for creating
+a `ClassRealm` for each component that's loaded, and
+importing the component contract interfaces into the component's
+`ClassRealm` and using `loadClass(..)`
+to gain entry into the sandboxed component realm.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/markdown/index.md
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/markdown/index.md
--- old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/markdown/index.md
1970-01-01 01:00:00.000000000 +0100
+++ new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/markdown/index.md
2026-08-19 10:07:59.000000000 +0200
@@ -0,0 +1,53 @@
+---
+title: Plexus Classworlds
+author: bob mcwhirter
+---
+
+# Overview
+
+**Plexus Classworlds** is a framework for container developers
+who require complex manipulation of Java's ClassLoaders. Java's
+native ClassLoader mechanisms and classes can cause
+much headache and confusion for certain types of application
+developers. Projects which involve dynamic loading of components
+or otherwise represent a 'container' can benefit from the classloading
+control provided by **Classworlds**.
+
+**Plexus Classworlds** provides a richer set of semantics for
+class loading than Java's normal mechanisms, while still being
+able to provide a ClassLoader interface to integrate
+seamlessly with the Java environment.
+
+The **Classworlds** model does away with the hierarchy
+normally associated with ClassLoaders. Instead,
+[`ClassWorld`](apidocs/index.html?org/codehaus/plexus/classworlds/ClassWorld.html)
provides a
+pool of
[`ClassRealms`](apidocs/index.html?org/codehaus/plexus/classworlds/realm/ClassRealm.html)
+which can import arbitrary packages from other ClassRealms.
+Effectively, **Classworlds** turns the old-style
+hierarchy into a directed graph.
+
+In a application container environment, the container may
+have a realm capable of loading on the container/component
+contract interfaces and classes. Another realm is created
+for each component which imports the contract classes from
+the container realm.
+
+This model allows for fine-grained control of which
+classloader loads any particular class. This form of
+partial isolation can reduce the myriad strange errors
+that are produced by loading classes from multiple
+loaders.
+
+In addition, **Plexus Classworlds** provides a
+[launcher](launcher.html)
+to assist in the creation of classloaders and `ClassRealm`s
+from a configuration file and the launching of the application's `main`
+method from the correct class loaded through the correct classloader.
+
+And for seamless transition from [older **Classworlds** up to
1.1](https://github.com/codehaus/classworlds),
+**Plexus Classworlds** provides
+[a compatibility
layer](apidocs/index.html?org/codehaus/classworlds/package-summary.html).
+This package is deprecated for new code but must remain on the classpath
because
+`org.eclipse.sisu:org.eclipse.sisu.plexus` references it in its compiled
bytecode.
+See
[COMPATIBILITY.md](https://github.com/codehaus-plexus/plexus-classworlds/blob/master/COMPATIBILITY.md)
+for details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/markdown/launcher.md
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/markdown/launcher.md
---
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/markdown/launcher.md
1970-01-01 01:00:00.000000000 +0100
+++
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/markdown/launcher.md
2026-08-19 10:07:59.000000000 +0200
@@ -0,0 +1,148 @@
+---
+title: App Launching
+author: bob mcwhirter
+---
+
+# Launcher Introduction
+
+## Purpose
+
+In order to reduce the number of classloading projects,
+**Plexus Classworlds** replaces forehead
+for application launching.
+
+The main problems to solve in application launching include
+locating all of application's JARs, configuring the initial
+classloaders, and invoking the `main` entry method.
+
+The [launcher
facilities](apidocs/index.html?org/codehaus/plexus/classworlds/launcher/package-summary.html)
+of **Classworlds** simplify
+the process of locating application jars. A common idiom is
+to have a script which starts the JVM with only the
+`plexus-classworlds.jar` in the classpath and a system
+property to specify the location of a launcher configuration.
+Additionally, typically a property specifying the application installation
+location is passed on the command-line.
+
+```
+
+$JAVA_HOME/bin/java \
+ -classpath $APP_HOME/boot/plexus-classworlds-2.5.2.jar \
+ -Dclassworlds.conf=$APP_HOME/etc/classworlds.conf \
+ -Dapp.home=$APP_HOME \
+ org.codehaus.plexus.classworlds.launcher.Launcher \
+ $*
+
+```
+
+# Configuration
+
+## Entry Point Definition
+
+The entry-point class and realm must be specified
+using the `main is` directive before
+specifying realm definitions.
+
+```
+
+main is com.werken.projectz.Server from app
+
+```
+
+## System Properties Definition
+
+System properties can be set before and after the entry point, but before
realms:
+
+```
+
+set <property> [[using <properties filename>]] [[default <default value>]]
+
+```
+
+## Realm Definitions
+
+At least one **Classworlds** realm must be defined
+within the configuration file. The syntax for starting a
+realm definition is `[realm.name]`. All lines
+following the realm header are considered directives for
+that realm. The realm definition continues either until
+another realm is defined or until the end of the file is
+reached.
+
+```
+
+[realm.one]
+ ...
+ ...
+[realm.two]
+ ...
+ ...
+[realm.three]
+ ...
+ ...
+
+```
+
+Within a realm definition, three directives are available:
+`load`, `optionally` and `import`.
+
+The `load` and `optionally`
+directives specify a class source to be used for loading
+classes in the realm: the only difference is that in case of absent source,
+`load` fails but `optionally` does not.
+Any loaded source that contain a star (`*`) in the file name is
+replaced by the list of files that match the filename prefix and suffix.
+System properties may be referred to using `${propname}` notation.
+The `load` and `optionally` directives are equivalent to the
+`addURL(..)` method of `ClassRealm`.
+
+```
+
+[app]
+ load ${app.home}/lib/*.jar
+ optionally ${app.home}/lib/ext/*.jar
+ load ${tools.jar}
+
+```
+
+The `import` directive specifies that certain
+packages should be imported and loaded by way of another
+realm. The `import` directive is equivalent
+to the `importFrom(..)` method of
+`ClassRealm`.
+
+```
+
+[app]
+ ...
+
+[subcomponent]
+ import com.werken.projectz.Foo from app
+ ...
+
+```
+
+## Entry point methods
+
+**Classworlds** can be used to invoke any existing
+application's `main()` method. Using the standard
+entry point does not allow for gaining access to the
+`ClassWorld` of the application, but not all
+applications will need it at run-time.
+
+For those applications that do require the `ClassWorld`
+instance, an alternative entry-point method signature can be
+provided. Simply add a `ClassWorld` parameter to
+the standard `main` parameter list.
+
+```
+
+public class MyApp
+{
+ public static void main( String[] args, ClassWorld world )
+ {
+ ...
+ }
+}
+
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/xdoc/apiusage.xml
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/xdoc/apiusage.xml
--- old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/xdoc/apiusage.xml
2026-05-19 23:08:30.000000000 +0200
+++ new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/xdoc/apiusage.xml
1970-01-01 01:00:00.000000000 +0100
@@ -1,93 +0,0 @@
-<?xml version="1.0"?>
-
-<document>
-
- <properties>
- <title>Classworlds API Usage</title>
- <author email="[email protected]">bob mcwhirter</author>
- </properties>
-
- <body>
-
- <section name="Classworlds API Usage">
-
- <p>
- The Java API can be used to create new realms and connect
- realms together through importation of specific packages.
- </p>
-
- <p>
- The core of the <b>Classworlds</b> infrastructure is
- the
- <a
href="apidocs/index.html?org/codehaus/plexus/classworlds/ClassWorld.html">ClassWorld</a>
- class. An application must create a <code>ClassWorld</code> instance.
- It is advisable to store the instance as a singleton or some other
- handy location.
- </p>
-
-<source><![CDATA[
-ClassWorld world = new ClassWorld();
-]]></source>
-
- <p>
- Once a <code>ClassWorld</code> is created, realms within it
- can be created. These realms effectively only allow loading
- of the core JVM classes initially.
- </p>
-
-<source><![CDATA[
-ClassWorld world = new ClassWorld();
-ClassRealm containerRealm = world.newRealm( "container" );
-ClassRealm logComponentRealm = world.newRealm( "logComponent" );
-]]></source>
-
- <p>
- In order to make each <code>ClassRealm</code> useful, constituents
- in form of URLs must be added to it where each can provide certain classes.
- The URL must return either a JAR or a directory on the default file system.
- </p>
-
-<source><![CDATA[
-containerRealm.addURL( containerJarUrl );
-logComponentRealm.addURL( logComponentJarUrl );
-]]></source>
-
- <p>
- <code>ClassRealm</code>s can optionally be filtered to further restrict
which classes/resources
- are exposed. The filter is provided as additional argument to
<code>world.newRealm( "filteredcontainer", myPredicate );</code>
- </p>
-
- <p>
- Now, links between the various realms need to be created to allow
- classes loaded from one to be available to classes loaded in another.
- </p>
-
-<source><![CDATA[
-logComponentRealm.importFrom( "container",
- "com.werken.projectz.component" );
-]]></source>
-
- <p>
- The container implementation can then be loaded from its realm
- and used.
- </p>
-
-<source><![CDATA[
-Class containerClass = containerRealm.loadClass( CONTAINER_CLASSNAME );
-MyContainer container = (MyContainer) containerClass.newInstance();
-Thread.currentThread().setContextClassLoader( containerRealm.getClassLoader()
);
-container.run();
-]]></source>
-
- <p>
- Ideally, the container itself would be responsible for creating
- a <code>ClassRealm</code> for each component that's loaded, and
- importing the component contract interfaces into the component's
- <code>ClassRealm</code> and using <code>loadClass(..)</code>
- to gain entry into the sandboxed component realm.
- </p>
-
- </section>
-
-</body>
-</document>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/xdoc/index.xml
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/xdoc/index.xml
--- old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/xdoc/index.xml
2026-05-19 23:08:30.000000000 +0200
+++ new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/xdoc/index.xml
1970-01-01 01:00:00.000000000 +0100
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-
-<document>
-
- <properties>
- <title>Plexus Classworlds</title>
- <author email="[email protected]">bob mcwhirter</author>
- </properties>
-
- <body>
-
- <section name="Overview">
-
- <p>
- <b>Plexus Classworlds</b> is a framework for container developers
- who require complex manipulation of Java's ClassLoaders. Java's
- native ClassLoader mechanisms and classes can cause
- much headache and confusion for certain types of application
- developers. Projects which involve dynamic loading of components
- or otherwise represent a 'container' can benefit from the classloading
- control provided by <b>Classworlds</b>.
- </p>
-
- <p>
- <b>Plexus Classworlds</b> provides a richer set of semantics for
- class loading than Java's normal mechanisms, while still being
- able to provide a ClassLoader interface to integrate
- seamlessly with the Java environment.
- </p>
-
- <p>
- The <b>Classworlds</b> model does away with the hierarchy
- normally associated with ClassLoaders. Instead,
- <a
href="apidocs/index.html?org/codehaus/plexus/classworlds/ClassWorld.html"><code>ClassWorld</code></a>
provides a
- pool of <a
href="apidocs/index.html?org/codehaus/plexus/classworlds/realm/ClassRealm.html"><code>ClassRealms</code></a>
- which can import arbitrary packages from other ClassRealms.
- Effectively, <b>Classworlds</b> turns the old-style
- hierarchy into a directed graph.
- </p>
-
- <p>
- In a application container environment, the container may
- have a realm capable of loading on the container/component
- contract interfaces and classes. Another realm is created
- for each component which imports the contract classes from
- the container realm.
- </p>
-
- <p>
- This model allows for fine-grained control of which
- classloader loads any particular class. This form of
- partial isolation can reduce the myriad strange errors
- that are produced by loading classes from multiple
- loaders.
- </p>
-
- <p>
- In addition, <b>Plexus Classworlds</b> provides a
- <a href="launcher.html">launcher</a>
- to assist in the creation of classloaders and <code>ClassRealm</code>s
- from a configuration file and the launching of the application's
<code>main</code>
- method from the correct class loaded through the correct classloader.
- </p>
-
- <p>
- And for seamless transition from <a
href="https://github.com/codehaus/classworlds">older <b>Classworlds</b> up to
1.1</a>,
- <b>Plexus Classworlds</b> provides
- <a
href="apidocs/index.html?org/codehaus/classworlds/package-summary.html">a
compatibility layer</a>.
- This package is deprecated for new code but must remain on the classpath
because
- <code>org.eclipse.sisu:org.eclipse.sisu.plexus</code> references it in its
compiled bytecode.
- See <a
href="https://github.com/codehaus-plexus/plexus-classworlds/blob/master/COMPATIBILITY.md">COMPATIBILITY.md</a>
- for details.
- </p>
- </section>
-
-</body>
-</document>
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/xdoc/launcher.xml
new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/xdoc/launcher.xml
--- old/plexus-classworlds-plexus-classworlds-2.12.0/src/site/xdoc/launcher.xml
2026-05-19 23:08:30.000000000 +0200
+++ new/plexus-classworlds-plexus-classworlds-2.12.1/src/site/xdoc/launcher.xml
1970-01-01 01:00:00.000000000 +0100
@@ -1,180 +0,0 @@
-<?xml version="1.0"?>
-
-<document>
-
- <properties>
- <title>App Launching</title>
- <author email="[email protected]">bob mcwhirter</author>
- </properties>
-
- <body>
-
- <section name="Launcher Introduction">
-
- <subsection name="Purpose">
-
- <p>
- In order to reduce the number of classloading projects,
- <b>Plexus Classworlds</b> replaces forehead
- for application launching.
- </p>
-
- <p>
- The main problems to solve in application launching include
- locating all of application's JARs, configuring the initial
- classloaders, and invoking the <code>main</code> entry method.
- </p>
-
- <p>
- The <a
href="apidocs/index.html?org/codehaus/plexus/classworlds/launcher/package-summary.html">launcher
facilities</a>
- of <b>Classworlds</b> simplify
- the process of locating application jars. A common idiom is
- to have a script which starts the JVM with only the
- <code>plexus-classworlds.jar</code> in the classpath and a system
- property to specify the location of a launcher configuration.
- Additionally, typically a property specifying the application
installation
- location is passed on the command-line.
- </p>
-
-<source><![CDATA[
-$JAVA_HOME/bin/java \
- -classpath $APP_HOME/boot/plexus-classworlds-2.5.2.jar \
- -Dclassworlds.conf=$APP_HOME/etc/classworlds.conf \
- -Dapp.home=$APP_HOME \
- org.codehaus.plexus.classworlds.launcher.Launcher \
- $*
-]]></source>
-
- </subsection>
-
- </section>
-
- <section name="Configuration">
-
- <subsection name="Entry Point Definition">
-
- <p>
- The entry-point class and realm must be specified
- using the <code>main is</code> directive before
- specifying realm definitions.
- </p>
-
-<source><![CDATA[
-main is com.werken.projectz.Server from app
-]]></source>
-
- </subsection>
-
- <subsection name="System Properties Definition">
-
- <p>
- System properties can be set before and after the entry point, but
before realms:
- </p>
-
-<source><![CDATA[
-set <property> [[using <properties filename>]] [[default <default value>]]
-]]></source>
-
- </subsection>
-
- <subsection name="Realm Definitions">
-
- <p>
- At least one <b>Classworlds</b> realm must be defined
- within the configuration file. The syntax for starting a
- realm definition is <code>[realm.name]</code>. All lines
- following the realm header are considered directives for
- that realm. The realm definition continues either until
- another realm is defined or until the end of the file is
- reached.
- </p>
-
-<source><![CDATA[
-[realm.one]
- ...
- ...
-[realm.two]
- ...
- ...
-[realm.three]
- ...
- ...
-]]></source>
-
- <p>
- Within a realm definition, three directives are available:
- <code>load</code>, <code>optionally</code> and <code>import</code>.
- </p>
-
- <p>
- The <code>load</code> and <code>optionally</code>
- directives specify a class source to be used for loading
- classes in the realm: the only difference is that in case of absent
source,
- <code>load</code> fails but <code>optionally</code> does not.
- Any loaded source that contain a star (<code>*</code>) in the file name
is
- replaced by the list of files that match the filename prefix and suffix.
- System properties may be referred to using <code>${propname}</code>
notation.
- The <code>load</code> and <code>optionally</code> directives are
equivalent to the
- <code>addURL(..)</code> method of <code>ClassRealm</code>.
- </p>
-
-<source><![CDATA[
-[app]
- load ${app.home}/lib/*.jar
- optionally ${app.home}/lib/ext/*.jar
- load ${tools.jar}
-]]></source>
-
- <p>
- The <code>import</code> directive specifies that certain
- packages should be imported and loaded by way of another
- realm. The <code>import</code> directive is equivalent
- to the <code>importFrom(..)</code> method of
- <code>ClassRealm</code>.
- </p>
-
-<source><![CDATA[
-[app]
- ...
-
-[subcomponent]
- import com.werken.projectz.Foo from app
- ...
-]]></source>
-
- </subsection>
-
- <subsection name="Entry point methods">
-
- <p>
- <b>Classworlds</b> can be used to invoke any existing
- application's <code>main()</code> method. Using the standard
- entry point does not allow for gaining access to the
- <code>ClassWorld</code> of the application, but not all
- applications will need it at run-time.
- </p>
-
- <p>
- For those applications that do require the <code>ClassWorld</code>
- instance, an alternative entry-point method signature can be
- provided. Simply add a <code>ClassWorld</code> parameter to
- the standard <code>main</code> parameter list.
- </p>
-
-<source><![CDATA[
-public class MyApp
-{
- public static void main( String[] args, ClassWorld world )
- {
- ...
- }
-}
-]]></source>
-
- </subsection>
-
- </section>
-
- </body>
-
-</document>
\ No newline at end of file
++++++ plexus-classworlds-build.xml ++++++
--- /var/tmp/diff_new_pack.7ETMNL/_old 2026-09-29 17:50:54.878050408 +0200
+++ /var/tmp/diff_new_pack.7ETMNL/_new 2026-09-29 17:50:54.888050826 +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.12.0"/>
+ <property name="project.version" value="2.12.1"/>
<property name="project.name" value="Plexus Classworlds"/>
<property name="project.description" value="A class loader framework"/>
<property name="project.organization.name" value="Codehaus Plexus"/>