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

Guru guru.hb at oracle.com
Mon Jan 28 13:48:08 UTC 2019


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