Thanks Freeman. I updated my PRs to remove this profile completely from CXF 3.4.x to 4.x. Please review.
On Thu, Apr 21, 2022 at 9:45 PM Freeman Fang <freeman.f...@gmail.com> wrote: > Hi Jim, > > I took another look, we actually don't need JVM option > --add-exports java.rmi/sun.rmi.registry=ALL-UNNAMED > to build CXF management module with JDK 9+, because CXF management module > now doesn't use JDK internal API sun.rmi.registry anymore(CXF-8250 made > this change). So we don't need it even for CXF 3.4.x and 3.5.x. > > So please remove that profile from CXF 3.4.x to CXF 4.x > > Thanks! > Freeman > > On Thu, Apr 21, 2022 at 2:20 AM Jim Ma <mail2ji...@gmail.com> wrote: > >> I think we can remove this profile from 3.4.x and 3.5.x too. There is no >> reason we should still keep this, right ? >> I tried to build 3.4.x/3.5.x with jdk11, and the Export-Package entry in >> META-INF is generated as expected. >> >> >> On Thu, Apr 21, 2022 at 10:25 AM Freeman Fang <freeman.f...@gmail.com> >> wrote: >> >>> Hi Jim, >>> >>> I mean remove it from CXF 4.x which is JDK11 minimum. >>> >>> Freeman >>> >>> On Wed, Apr 20, 2022 at 8:45 PM Jim Ma <mail2ji...@gmail.com> wrote: >>> >>>> Hi Freeman, >>>> Are you saying we can remove this java9-plus profile completely from >>>> 3.4.x to 4.x? >>>> >>>> Cheers, >>>> Jim >>>> >>>> On Wed, Apr 20, 2022 at 10:45 PM Freeman Fang <freeman.f...@gmail.com> >>>> wrote: >>>> >>>>> Hi Jim, >>>>> >>>>> Without it, on JDK11 we will see META-INF.versions.11 from the export >>>>> package part, and we don't want it. And this META-INF.versions.11 thing is >>>>> from the maven-compiler-plugin in java9-plus profile. >>>>> The expected Export-Package should be like >>>>> Export-Package: >>>>> org.apache.cxf.tracing;version="4.0.0", >>>>> org.apache.cxf.management.jmx;version="4.0.0", >>>>> org.apache.cxf.management.jmx.type;version="4.0.0", >>>>> org.apache.cxf.management.jmx.export.runtime;version="4.0.0", >>>>> org.apache.cxf.management.utils;version="4.0.0", >>>>> org.apache.cxf.management.persistence;version="4.0.0", >>>>> org.apache.cxf.management.counters;version="4.0.0", >>>>> org.apache.cxf.management.interceptor;version="4.0.0" >>>>> >>>> >>>>> The mystery in this profile was introduced in the first place to both >>>>> support JDK8 and JDK11. Since for CXF 4.x the minimum JDK version is >>>>> JDK11(don't need to consider JDK8 compatible anymore), I believe we are >>>>> safe to remove java9-plus profile in management/pom.xml all together. >>>>> >>>>> Cheers >>>>> Freeman >>>>> >>>>> On Tue, Apr 19, 2022 at 10:34 PM Jim Ma <mail2ji...@gmail.com> wrote: >>>>> >>>>>> Hi Freeman, >>>>>> Do you know why we don't require this with JDK8 and only for JDK9 and >>>>>> plus ? >>>>>> I see the Export package info in META-INF built with JDK11 without >>>>>> this configuration already has this >>>>>> export package entry : >>>>>> >>>>>> Export-Package: org.apache.cxf.tracing;version="3.5.3",org.apache.cxf. >>>>>> management.jmx;version="3.5.3",org.apache.cxf.management.jmx.type;ver >>>>>> sion="3.5.3",org.apache.cxf.management.jmx.export.runtime;version="3. >>>>>> 5.3",org.apache.cxf.management.utils;version="3.5.3",org.apache.cxf.m >>>>>> anagement.persistence;version="3.5.3",org.apache.cxf.management.count >>>>>> ers;version="3.5.3",org.apache.cxf.management.interceptor;version="3. >>>>>> 5.3",META-INF.versions.11.org.apache.cxf.tracing;version="3.5.3",META >>>>>> -INF.versions.11.org.apache.cxf.management.jmx;version="3.5.3",META-I >>>>>> NF.versions.11.org.apache.cxf.management.jmx.type;version="3.5.3",MET >>>>>> A-INF.versions.11.org.apache.cxf.management.jmx.export.runtime;versio >>>>>> n="3.5.3",META-INF.versions.11.org.apache.cxf.management.utils;versio >>>>>> n="3.5.3",META-INF.versions.11.org.apache.cxf.management.persistence; >>>>>> version="3.5.3",META-INF.versions.11.org.apache.cxf.management.counte >>>>>> rs;version="3.5.3", >>>>>> META-INF.versions.11.org.apache.cxf.management.int >>>>>> erceptor;version="3.5.3" >>>>>> >>>>>> >>>>>> Cheers, >>>>>> Jim >>>>>> >>>>>> >>>>>> On Wed, Apr 20, 2022 at 3:04 AM Freeman Fang <freeman.f...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Jim, >>>>>>> >>>>>>> Please change the rt/management/pom.xml like this. >>>>>>> >>>>>>> <configuration> >>>>>>> <obrRepository>NONE</obrRepository> >>>>>>> <instructions> >>>>>>> - >>>>>>> >>>>>>> <Export-Package>org.apache.cxf.management*,org.apache.cxf.tracing*</Export-Package> >>>>>>> + <Export-Package> >>>>>>> + >>>>>>> org.apache.cxf.management.counters, >>>>>>> + >>>>>>> org.apache.cxf.management.interceptor, >>>>>>> + >>>>>>> org.apache.cxf.management.persistence, >>>>>>> + >>>>>>> org.apache.cxf.management.utils, >>>>>>> + >>>>>>> org.apache.cxf.management.jmx, >>>>>>> + >>>>>>> org.apache.cxf.management.jmx.export.runtime, >>>>>>> + >>>>>>> org.apache.cxf.tracing* >>>>>>> + </Export-Package> >>>>>>> </instructions> >>>>>>> <niceManifest>true</niceManifest> >>>>>>> </configuration> >>>>>>> This fine-grained export package can avoid including the package >>>>>>> from cxf-core module. >>>>>>> >>>>>>> Best Regards >>>>>>> Freeman >>>>>>> >>>>>>> On Mon, Apr 18, 2022 at 11:50 PM Jim Ma <mail2ji...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Thanks Andriy. Jira is filled : >>>>>>>> https://issues.apache.org/jira/browse/CXF-8695 >>>>>>>> and PRs are sent. >>>>>>>> >>>>>>>> >>>>>>>> On Sun, Apr 17, 2022 at 9:28 AM Andriy Redko <drr...@gmail.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>> > Hey Jim, >>>>>>>> > >>>>>>>> > This is interesting, I believe it is not needed, only some >>>>>>>> compiler args >>>>>>>> > need >>>>>>>> > tailoring (for JDK-11) but the classes should not be copied to >>>>>>>> versions/11. >>>>>>>> > Thanks! >>>>>>>> > >>>>>>>> > Best Regards, >>>>>>>> > Andriy Redko >>>>>>>> > >>>>>>>> > JM> When building cxf-rt-management 3.5.1 with JDK11, some api >>>>>>>> classes are >>>>>>>> > JM> copied to the jar file. It looks like these classes are >>>>>>>> copied by the >>>>>>>> > JM> maven-bundle-plugin from java9-plus profile : >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > JM> *<profile> <id>java9-plus</id> <activation> >>>>>>>> > <jdk>[9,)</jdk> >>>>>>>> > JM> </activation> <build> <plugins> <plugin> >>>>>>>> > JM> <groupId>org.apache.felix</groupId> >>>>>>>> > JM> <artifactId>maven-bundle-plugin</artifactId> >>>>>>>> > JM> <extensions>true</extensions> <configuration> >>>>>>>> > JM> <obrRepository>NONE</obrRepository> >>>>>>>> > <instructions> >>>>>>>> > >>>>>>>> > JM> >>>>>>>> > >>>>>>>> <Export-Package>org.apache.cxf.management*,org.apache.cxf.tracing*</Export-Package> >>>>>>>> > JM> </instructions> >>>>>>>> > JM> <niceManifest>true</niceManifest> >>>>>>>> </configuration> >>>>>>>> > JM> </plugin--> </plugins> </build></profile> * >>>>>>>> > >>>>>>>> > JM> Why does cxf-rt-management need to copy these classes to the >>>>>>>> jar file >>>>>>>> > ? Is >>>>>>>> > JM> it still needed to duplicate these classes from cxf-core ? >>>>>>>> > >>>>>>>> > JM> Thanks, >>>>>>>> > JM> Jim >>>>>>>> > >>>>>>>> > >>>>>>>> >>>>>>>