JDK-8256184 : Openjfx build broken (Eclipse)
  • Type: Bug
  • Component: javafx
  • Sub-Component: other
  • Affected Version: openjfx16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-11-11
  • Updated: 2021-04-20
  • Resolved: 2020-11-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
openjfx16Fixed
Related Reports
Relates :  
Relates :  
Description
the issues:

- compile of base fails 
- some test in controls can't be run

introduced with fix of JDK-8244297 (addition of JMemoryBuddy): 

- the new memory test class requires jdk.management
- users of the test class (in controls) need access to its package

a tentative fix is to change the .classpath files:

of base: 

<classpathentry kind="src" output="testbin" path="src/test/java">
	<attributes>
		<attribute name="test" value="true"/>
		<attribute name="optional" value="true"/>
		<attribute name="module" value="true"/>
		<attribute name="add-reads"  
value="javafx.base=jdk.management:javafx.base=java.management"/>
	</attributes>
</classpathentry>

of controls:

<classpathentry combineaccessrules="false" kind="src" path="/base">
	<attributes>
		<attribute name="module" value="true"/>
		<attribute name="add-exports"  
value="javafx.base/test.com.sun.javafx.binding=javafx.controls:javafx.base/test.util.memory=javafx.controls"/>
	</attributes>
</classpathentry>


also see discussion in https://mail.openjdk.java.net/pipermail/openjfx-dev/2020-November/028090.html



Comments
paddling back - again ;) See discussion in the PR: the commit contains the fix outlined above plus a corresponding change to test/.classpath, contributed by Nir Lisker. Note: as of now, only projects controls and tests can use jmemorybuddy (or any other test infrastructure that might be added to base test.util.memory) when building/running in Eclipse - all other projects' .classpath still must be adjusted when starting to use it!
21-11-2020

Changeset: 2fe86773 Author: Jeanette Winzenburg <fastegal@openjdk.org> Date: 2020-11-21 13:15:43 +0000 URL: https://github.com/openjdk/jfx/commit/2fe86773
21-11-2020

review found another .classpath file that needs an update because it's using the new test class (in tests) - also all modules that (in future) want to use jmemorybuddy need access to the new test package in base. Personally, I don't use those inside Eclipse - would have to setup all those just to include the patch. So backing out.
18-11-2020