Ludovic Courtès writes: > Alexey Abramov skribis: > >> --- >> gnu/packages/java.scm | 643 +++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 635 insertions(+), 8 deletions(-) > > Please add a commit log. > >> + (java-aux-class? >> + (lambda (class) >> + (string-match "\\$[0-9]+.class" class))) > > Probably “\\.class” instead of “.class”? Ah, that sneaky dot. Thanks! > >> + (add-after 'chdir-to-a-module-directory 'compile-prism-compilers >> + (lambda _ > > Maybe add a comment explaining why this phase is necessary. Well, you know, I managed to eliminate it. Thanks! > >> + (let ((prism-compilers-classes "build/classes/jsl-compilers/prism") >> + (prism-src "src/main/jsl-prism/")) >> + (mkdir-p prism-compilers-classes) >> + (apply invoke `("javac" >> + "-d" ,prism-compilers-classes >> + ,@javac/h-flags >> + ,@(find-files prism-src "\\.java")))) > > This can be shortened as: > > (apply invoke "javac" "-d" prism-compilers-classes > (append javac/h-flags (find-files prism-src "\\.java"))) > > These two comments apply to the other phases too. > > More generally, why are there so many phases? How do people normally > build it? Gradle? > > Would it make sense to factorize helpers in a new (gnu build > java-openjfx) module or similar? You are right, javafx builds with Gradel. I basically replicated gradle stages, by inspecting ./gradlew build ... --info The reason I didn't start building any helpers is because OpenJFX 8u and OpenJFX 9u or later use different instuctions as it states here [1]. I don't know if these helpers will apply to 9u, also having a (gnu build gradle) would eliminate the need in helpers as well. In any case I think it won't be a problem to do that with a second iteration of openjfx build. -- Alexey Footnotes: [1] https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX+8u