I disagree here (or would like to have us be very cautious here):

- the reason why p-u XML bits are exported are Modello generated models
only (as they may have fiels like Xpp3Dom and generated IO classes uses XML
bits as well)
- plugins should remain capable to interact with Modello generated models
- Maven 3.x uses "classic" modello, that must have runtime present/depends
on p-u 3.x

By mixing here p-u 4 with p-u 3 IMHO we just look for trouble

Also, by this change, we will introduce "plugin X will work ONLY with Maven
3.9.5+", no?

T

On Mon, Sep 4, 2023 at 10:51 PM Guillaume Nodet <gno...@apache.org> wrote:

> I think the decision to not export plexus-utils was taken some time ago.
>
> Unfortunately, the xml bits still have to be provided by the maven core
> class loader.
> I think in this case, Maven 3.9.x should also expose the builder class
>
>
> <exportedPackage>org.codehaus.plexus.util.xml.Xpp3DomBuilder</exportedPackage>
> I think this should work, but this would only solve the problem for the
> latest 3.9.x maven, not older versions.
>
>
> Le mar. 25 juil. 2023 à 20:56, Slawomir Jaranowski <s.jaranow...@gmail.com
> >
> a écrit :
>
> > Hi
> >
> > I'm trying to update plexus-utils 3.5.x to plexus-utils/plexus-xml 4.x in
> > maven-enforcer ....
> >
> > In maven-enforcer (and in many other plugins ...) is used, code like:
> >
> >             Xpp3Dom enforcerRules =
> Xpp3DomBuilder.build(descriptorStream,
> > "UTF-8");
> >
> > Xpp3Dom and Xpp3DomBuilder - has new implementation in plexus-xml ....
> but
> > Maven 3.x exports
> >
> >     <!-- plexus-utils (for DOM-type fields in maven-model) -->
> >
>  <exportedPackage>org.codehaus.plexus.util.xml.Xpp3Dom</exportedPackage>
> >
> >
> >
> <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParser</exportedPackage>
> >
> >
> >
> <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParserException</exportedPackage>
> >
> >
> >
> <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlSerializer</exportedPackage>
> >
> > It is very magical that we export classes but not export artifact
> > which contains those classes ...
> >
> > so incompatibilite code for Xpp3Dom is used ...
> >
> > Any hints on how to process it.
> >
> > --
> > Sławomir Jaranowski
> >
>
>
> --
> ------------------------
> Guillaume Nodet
>

Reply via email to