Hi Alexey,
On 4/5/20 6:23 pm, Alexey Abramov wrote:
Hi Michael,
I did almost the same thing but for JDKu8, You can check it
https://gitlab.com/Levenson/ in a wip-davmail branch. I packaged graphics,
swing, swt and friends. Unfortunatelly tests are disabled for now. I and am
trying to make them work. It seems to me that even they do have tests for
modules, a bundle needs to be created with all the modules first.
At least for openjfx14 the main module resources need to be inside a jar
file otherwise they can't be found, having them on the classpath isn't
sufficient. For the css files for example resolving resources in
"com/sun/javafx/scene/control/skin" takes a different code path that
seems to enforce this.
An additional wrinkle with 14 using modular java is that the tests need
some proxy classes built into the modules - i found the easiest way is
just to recompile everything again with the additional sources on the
module source path. It doesn't take very long at least.
I've only looked at the per-module unit tests and i got them to run ok
apart from one test which seems to be locale related (LANG=C works).
Those all-commented-out tests are still all-commented-out in
javafx14(!). There seems to be a surprising amount of baggage like that
in the repository like the netbeans stuff, which seems nonfunctional.
I thought about makefiles, ant and build.xml, but decided to do everything in
scheme for now. My plan is to make tests work, and then polish packages
definition.
I just don't know enough scheme or guix and looking at the scheme source
it looks pretty ugly when running a bunch of shell commands in
sequence. ant is so very painful for non-trivial builds and pretty
useless otherwise. make has the benefit of easily supporting parallel
compilation which speeds it up quite a bit (at least without javafx.web
dominating). The bash script i have is about 240 lines so somewhat more
compact than the makefile i have but it uses the exising javafx.media
makefiles which cuts it down quite a bit.
Thanks for the link, that will help trying to work out how to get this
going within the guix build system. I also need antlr4 which i'm hoping
wont be too hard if i remove some of the optional parts/languages.
Cheers,
Michael