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 >