JMC-6370: JMC build fails with OpenJDK 8 due to missing javafx packages in org.openjdk.jmc.javafx.osgi

Jie Kang jkang at redhat.com
Mon Jan 28 20:56:13 UTC 2019


Hi Guru,

Thanks for reviewing this I will address the format changes and ask Joshua
to commit for me. I have run the ui-tests as well.


Regards,

On Mon, Jan 28, 2019 at 12:10 PM Guru <guru.hb at oracle.com> wrote:

> Hi Jie,
>
> +1, Changes looks good to me, With Nit
> Please maintain format in
> "org.openjdk.jmc.javafx.osgi/META-INF/MANIFEST.MF” for Import-Package (i.e
> one package per line starting with space).
>
> If you have not executed Ui test , Please do run Ui test with “mvn verify
> -P uitests” before requesting to commit the code.
>
> Test : Compiled and verified installing (RCP) update sites on Mac OS X.
>
> Thanks,
> Guru
> > On 28-Jan-2019, at 7:18 PM, Guru <guru.hb at oracle.com> wrote:
> >
> > Hi Jie,
> >
> > OpenJFX is required for Update sites. Let me check the dependency and
> test this patch and update you with comments.
> >
> > Thanks,
> > Guru
> >> On 28-Jan-2019, at 1:22 PM, Langer, Christoph <christoph.langer at sap.com>
> wrote:
> >>
> >> Hi Jie,
> >>
> >> thanks for posting the fix. I can confirm that the build using OpenJDK
> works for me with these changes. Other people need to assess whether the
> changes are functionally correct, though ��
> >>
> >> Best regards
> >> Christoph
> >>
> >>> -----Original Message-----
> >>> From: jmc-dev <jmc-dev-bounces at openjdk.java.net> On Behalf Of Jie Kang
> >>> Sent: Freitag, 25. Januar 2019 17:28
> >>> To: jmc-dev at openjdk.java.net
> >>> Subject: RFR: JMC-6370: JMC build fails with OpenJDK 8 due to missing
> javafx
> >>> packages in org.openjdk.jmc.javafx.osgi
> >>>
> >>> Hi,
> >>>
> >>> The following patch allows JMC to build with OpenJDK 8.
> >>>
> >>> * removes org.openjdk.jmc.javafx.osgi plugin from base feature
> >>> org.openjdk.jmc.feature.flightrecorder where it is unused
> >>> * removes org.openjdk.jmc.javafx.osgi dependency from
> >>> org.openjdk.jmc.flightrecorder.ui where it is unused
> >>> * updates MANIFEST.MF of org.openjdk.jmc.javafx.osgi to include the
> >>> correct imports for javafx packages
> >>> * removes unnecessary extra classpath elements as OpenJFX jars now
> >>> come from the p2 site and the MANIFEST.MF has the correct imports
> >>>
> >>> Note: the JOverflow plugin requires OpenJFX which has
> >>> <Bundle-RequiredExecutionEnvironment>JavaSE-10</Bundle-
> >>> RequiredExecutionEnvironment>
> >>>
> >>> I have tested this on Fedora 28 building on OpenJDK 8 and running the
> >>> result using OpenJDK 8 and 11. The JOverflow plugin continues to work
> >>> on OpenJDK 11. On OpenJDK 8, the plugin fails to load but the rest of
> >>> JMC still functions.
> >>>
> >>> Let me know how it looks!
> >>>
> >>> diff --git
> a/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
> >>> b/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
> >>> --- a/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
> >>> +++ b/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
> >>> @@ -94,13 +94,6 @@
> >>>         unpack="false"/>
> >>>
> >>>   <plugin
> >>> -         id="org.openjdk.jmc.javafx.osgi"
> >>> -         download-size="0"
> >>> -         install-size="0"
> >>> -         version="0.0.0"
> >>> -         unpack="false"/>
> >>> -
> >>> -   <plugin
> >>>         id="org.openjdk.jmc.flightrecorder.rules.extensionprovider"
> >>>         download-size="0"
> >>>         install-size="0"
> >>> diff --git a/application/org.openjdk.jmc.flightrecorder.ui/META-
> >>> INF/MANIFEST.MF
> >>> b/application/org.openjdk.jmc.flightrecorder.ui/META-INF/MANIFEST.MF
> >>> ---
> a/application/org.openjdk.jmc.flightrecorder.ui/META-INF/MANIFEST.MF
> >>> +++ b/application/org.openjdk.jmc.flightrecorder.ui/META-
> >>> INF/MANIFEST.MF
> >>> @@ -9,7 +9,6 @@
> >>> Require-Bundle: org.openjdk.jmc.rjmx,
> >>> org.openjdk.jmc.flightrecorder;visibility:=reexport,
> >>> org.openjdk.jmc.ui;visibility:=reexport,
> >>> - org.openjdk.jmc.javafx.osgi,
> >>> org.openjdk.jmc.flightrecorder.rules,
> >>> org.openjdk.jmc.flightrecorder.rules.jdk,
> >>> org.openjdk.jmc.flightrecorder.configuration,
> >>> diff --git
> a/application/org.openjdk.jmc.javafx.osgi/META-INF/MANIFEST.MF
> >>> b/application/org.openjdk.jmc.javafx.osgi/META-INF/MANIFEST.MF
> >>> --- a/application/org.openjdk.jmc.javafx.osgi/META-INF/MANIFEST.MF
> >>> +++ b/application/org.openjdk.jmc.javafx.osgi/META-INF/MANIFEST.MF
> >>> @@ -7,6 +7,9 @@
> >>> Bundle-RequiredExecutionEnvironment: JavaSE-1.8
> >>> Bundle-ClassPath: .
> >>> Eclipse-BuddyPolicy: app
> >>> +Import-Package: javafx.application, javafx.embed.swt,
> >>> + javafx.fxml, javafx.scene, javafx.scene.control,
> >>> + javafx.scene.image
> >>> Export-Package: org.openjdk.jmc.javafx.osgi
> >>> Require-Bundle: org.eclipse.swt;resolution:=optional,
> >>> org.eclipse.jface
> >>> diff --git a/application/org.openjdk.jmc.javafx.osgi/pom.xml
> >>> b/application/org.openjdk.jmc.javafx.osgi/pom.xml
> >>> --- a/application/org.openjdk.jmc.javafx.osgi/pom.xml
> >>> +++ b/application/org.openjdk.jmc.javafx.osgi/pom.xml
> >>> @@ -40,27 +40,4 @@
> >>> </parent>
> >>> <artifactId>org.openjdk.jmc.javafx.osgi</artifactId>
> >>> <packaging>eclipse-plugin</packaging>
> >>> - <build>
> >>> - <plugins>
> >>> - <plugin>
> >>> - <groupId>org.eclipse.tycho</groupId>
> >>> - <artifactId>tycho-compiler-plugin</artifactId>
> >>> - <version>${tycho.version}</version>
> >>> - <configuration>
> >>> - <excludes>
> >>> - <exclude>**/Empty.java</exclude>
> >>> - </excludes>
> >>> - <extraClasspathElements>
> >>> - <dependency>
> >>> - <groupId>sun.jdk</groupId>
> >>> - <artifactId>jfxswt</artifactId>
> >>> - <version>1.8.0</version>
> >>> - <scope>system</scope>
> >>> - <systemPath>${java.home}/lib/jfxswt.jar</systemPath>
> >>> - </dependency>
> >>> - </extraClasspathElements>
> >>> - </configuration>
> >>> - </plugin>
> >>> - </plugins>
> >>> - </build>
> >>> </project>
> >>>
> >>>
> >>> Regards,
> >
>
>


More information about the jmc-dev mailing list