Gradle support for getting :web:test working properly
kevin.rushforth at oracle.com
Thu Apr 23 17:40:38 UTC 2020
That's an interesting idea that might be worth pursuing. It would help
mitigate what has been a long-standing pain point for developers who
don't want to build media or web, but would like to run them. I would
caution, though, that it is still not a substitute for building both
media and WebKit yourself, since it will still not work reliably in the
case where there is an interface change or some other mutually dependent
change between the native media or web library and Java class files. In
those cases you are stuck until a new EA build is available.
If you do want to pursue this, then as long as the dependency on
org.openjfx:javafx-web and org.openjfx:javafx-media is localized to the
downloading and unpacking step you mentioned, this would be fine with
me. Maybe others could help test it on Mac and Windows.
As for the name of the new property, maybe STUB_RUNTIME_OPENJFX? The
easiest way to implement this might be to set the value of
`defaultStubRuntime` to the directory into which you unpack it
(underneath either build or buildSrc/build).
On 4/23/2020 1:14 AM, Jesper Skov wrote:
> I struggled somewhat to get :web:test running with -PSTUB_RUNTIME.
> The JVM kept crashing by what turned out to be missing media
> libraries (the failure message was hidden).
> I tried building with -PCOMPILE_WEBKIT=true, but it takes a terrible
> long time on my laptop. And did not in itself fix the problem.
> Frustrations and lost time was the only real outcome of this :)
> So I would suggest adding logic to the build file to allow something
> gradlew -PSTUB_RUNTIME_USE=15-ea+4 all test
> This should download org.openjfx:javafx-web and
> org.openjfx:javafx-media artifacts in the specified version.
> Then unpack the shared libraries to a build folder, and make them
> availble via the STUB_RUNTIME logic.
> Plus an addition to the CONTRIBUTING.md documenting this.
> I would be happy to help make and/or test the changes, but am only
> able to work on Linux.
More information about the openjfx-dev