Am 30.09.2026 um 22:31 schrieb Julian Reschke:
Am 30.09.2026 um 21:05 schrieb Gary Gregory:
Hi.

Unless the plug in figures out what's what by itself on a per package

It does.

basis, this will be unmaintanable IMO. I don't see the point of this anyway
since we publish a JAR file, not packages.
The JAR files contains packages, no?

OSGi allows you to restrict what other components see (can use), and it also declares which other packages (versions) it needs. That's useful when using generic stuff like other commons components or maybe SLF4J etc. All that goes into MANIFEST.MF.

(and yes, there likely are other approaches, but OSGi is what I know)

Let me experiment with this, and I'll come back with the results.

Best regards, Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Ok.

On the current master checkout, run:

  mvn bundle:baseline

You'll get warnings like

[WARNING] org.apache.commons.collections4.bag: Excessive version increase; detected 4.6.1, suggested 4.6.0

because the export version needlessly changed.

Then remove the deprecated ArrayStack class (and test); run again:

[ERROR] org.apache.commons.collections4: Version increase required; detected 4.6.1, suggested 5.0.0

(correctly)

Of course running the bundle plugin can be integrated into the normal build process.

The *correct* (semver) export versions can be configured in the pom, or, better in the package-info files (with the obvious advantage of the metadata being closer to the java code).

Like that:

 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/sort/package-info.java

Note that the above case is a nice example; it makes the build fail as soon as ArrayStack is removed.

Best regards, Julian


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to