build 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #! /bin/bash
  2. # Use jpackage to build a Run-REDUCE installer for Linux.
  3. # User's Guide: https://docs.oracle.com/en/java/javase/16/jpackage/.
  4. # Man Page: https://docs.oracle.com/en/java/javase/16/docs/specs/man/jpackage.html.
  5. # Requires JDK 14+ and (e.g.) JAVA_HOME = /usr/bin/java (set using alternatives)
  6. # Ubuntu: sudo update-java-alternatives
  7. # Fedora: sudo alternatives --config java
  8. # Set (e.g.) PATH_TO_FX_MODS = ~/javafx-jmods-16
  9. # and (e.g.) PATH_TO_FX = ~/javafx-16/lib (to run Version)
  10. # Debian Linux also requires the fakeroot package.
  11. # Red Hat Linux also requires the rpm-build package.
  12. # --type app-image creates only the application image for testing.
  13. # --verbose enables verbose output.
  14. # For --linux-rpm-license-type values see https://spdx.org/licenses/.
  15. echo -n 'java version '
  16. java --version
  17. echo -n 'jpackage version '
  18. jpackage --version
  19. echo -n 'jlink version '
  20. jlink --version
  21. echo 'JAVA_HOME =' $JAVA_HOME
  22. echo 'PATH_TO_FX_MODS =' $PATH_TO_FX_MODS
  23. echo 'PATH_TO_FX =' $PATH_TO_FX '(to run Version)'
  24. VERSION=$(java \
  25. --module-path $PATH_TO_FX:/media/sf_Run-REDUCE/out/production \
  26. --module Run.REDUCE/fjwright.runreduce.Version)
  27. echo 'Run-REDUCE version =' $VERSION
  28. echo '---'
  29. jpackage --name Run-REDUCE --app-version $VERSION \
  30. --module-path "$PATH_TO_FX_MODS":/media/sf_Run-REDUCE/out/production \
  31. --module Run.REDUCE/fjwright.runreduce.RunREDUCE \
  32. --icon /media/sf_Run-REDUCE/resources/images/RR-icon-128.png \
  33. --description "A JavaFX GUI to run the REDUCE CAS" \
  34. --vendor "Francis Wright" \
  35. --copyright "2021, Francis Wright, All rights reserved" \
  36. --license-file /media/sf_Run-REDUCE/LICENSE \
  37. --linux-rpm-license-type BSD-2-Clause \
  38. "$@"