Skip to content
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

Support for JavaFX 17 #362

Closed
jpsacha opened this issue Sep 17, 2021 · 4 comments · Fixed by #368
Closed

Support for JavaFX 17 #362

jpsacha opened this issue Sep 17, 2021 · 4 comments · Fixed by #368

Comments

@jpsacha
Copy link
Member

jpsacha commented Sep 17, 2021

Main roadblock is bug in SBT sbt/sbt#6564 that incorrectly resolved JavaFX platform dependent JARs

@rom1dep
Copy link
Contributor

rom1dep commented Sep 22, 2021

Can confirm I can compile scalafx with Java 17 against JavaFX 17 with this patch: coursier/coursier#2176

Also, the usual "naive API check" doesn't bring up too much novelty this time:

 rg "@since 17" -c ./modules/javafx.* -g '!*module-info.java'
./modules/javafx.graphics/src/main/java/javafx/scene/SpotLight.java:1
./modules/javafx.graphics/src/main/java/javafx/css/Stylesheet.java:1
./modules/javafx.graphics/src/main/java/javafx/application/Platform.java:1
./modules/javafx.graphics/src/main/java/javafx/print/JobSettings.java:1
./modules/javafx.controls/src/main/java/javafx/scene/control/TreeTableCell.java:3
./modules/javafx.controls/src/main/java/javafx/scene/control/SkinBase.java:4

@jpsacha
Copy link
Member Author

jpsacha commented Sep 22, 2021

@rom1dep did you rebuild SBT too to use that coursier?

@rom1dep
Copy link
Contributor

rom1dep commented Sep 22, 2021

No, I don't know SBT enough to adventure in it.
I built coursier's master branch and published it locally, then built a local mill version that depends on it, and finally compiled scalafx using mill with mill-release scalafx[3.0.2].compile and this mill build file: https://github.com/rom1dep/scalafx/blob/mill/build.sc

@s-bernard
Copy link
Contributor

To use javafx 17 directly, you can use mill and set a resolutionCustomizer to:

  def resolutionCustomizer =
    T.task {
      Some((r: coursier.core.Resolution) =>
        r.withOsInfo(
          coursier.core.Activation.Os.fromProperties(sys.props.toMap),
        ).withExtraProperties(Seq(("javafx.monocle", "false")))
      )
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants