-
Notifications
You must be signed in to change notification settings - Fork 116
CSSTUDIO-3427 Bugfix: Fix building of Phoebus for the platform mac-aarch64
#3532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…arch64' by using the Phoebus versions of javafx-base and javafx-controls for the dependency 'chartfx'.
georgweiss
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's see how this will work on upcoming JavaFX 25.
|
Glad that you found a workaround |
|
There were duplicate dependencies in the |
kasemir
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the "app-display-waterfallplot" renaming!! I was about to comment on the mismatch of app/display/waterfallplot for location vs app-waterfall-plot for name, but felt that'd be overly picky.
…et correct parent.
c433db8 to
014e8b5
Compare
|
I don't think that'd be overly picky. |
|
Well, ideally the location in the source tree, the jar/module file name, and package name would all match. So if you get an exception from
It's "close enough", you can guess where an exception might originate, but in the fullness of time maybe the package name should become org.phoebus.app.formula?? |
This pull request fixes building of Phoebus for the the platform
mac-aarch64by using the Phoebus versions of javafx-base and javafx-controls for the dependency 'chartfx'. (The observed issue is described here: #3529). The fix is due to @georgweiss who found both the reason and the fix that is included in this PR.The reason for the observed issue is that the oldest version of
javafx-baseandjavafx-controlsthat exist in Maven for the platformmac-aarch64is version 17. However, ChartFX depends on version 16 of these libraries.ChartFX's
pom.xmlstates the following reason for using version 16 of ChartFX:Indeed, if I build ChartFX with the version of the JavaFX-dependencies set to
17and run ChartFX's tests, then I get an error about references not being garbage collected that should be garbage collected. (I had to overrideObservableDeque.reversed()as described in fair-acc/chart-fx#655 (comment) in order to build ChartFX with Java version 21.)When I set ChartFX's JavaFX version to
18,19, or20, all ChartFX-tests succeed for me.However, when I set ChartFX's JavaFX to version
21.0.7(the version we currently use in Phoebus), then I get ChartFX-tests failing withjava.lang.reflect.InvocationTargetException. I think (but I am not sure) that these exceptions are thrown due to some change in JavaFX, and that the tests need updating: the tests don't fail, but rather exit with a runtime error.If I test Phoebus built with the changes in this PR, then the Waterfall Plot widget seems to work.