eyedeekay 61e646ba3b
Some checks failed
Java CI / build (push) Has been cancelled
Java CI / build-22 (push) Has been cancelled
Sync Primary Repository to GitHub Mirror / sync (push) Successful in 4s
Add github sync for i2p-jpackage-mac
2025-05-10 18:52:45 -04:00
2021-04-02 08:51:42 +01:00
2024-07-20 23:01:27 -04:00
2024-01-10 12:46:14 -05:00
2023-02-01 22:24:52 +00:00
2023-02-01 23:23:14 +00:00
2021-08-02 15:19:54 +01:00
2023-02-01 22:02:40 +00:00
2023-02-01 23:23:14 +00:00

I2P JPackage Mac

JPackage scripts for packaging I2P on a Mac.

Requirements

  • Java 16 or newer. Even though JPackage existed since 14, it was broken.
  • An Apple signing certificate. The JBigi and JRE libs and the final bundle MUST be signed or users will get a scary warning.

Building

  1. See BUILD.md

How does it work

In order to build an AppBundle that can work from anywhere, it is necessary to use a dedicated main class which determines the current working directory and sets i2p.dir.base to the correct location inside the AppBundle. Therefore the build.sh script:

  1. Compiles the custom main class and puts it in a launcher.jar
  2. Invokes JPackage with the --app-image switch to create the directory structure of the bundle
  3. Copies the contents of ../i2p.i2p/pkg-temp inside the AppBundle, except for the jars directory
  4. Signs the AppBundle
  5. Invokes JPackage again to build the final .dmg
Description
JPackage scripts for packaging I2P on a Mac.
Readme 230 KiB
Languages
Shell 56.6%
Java 33.2%
C 10.2%