From 925f890aa10d9eb507ffe643ddcba22034cc4ab1 Mon Sep 17 00:00:00 2001 From: Jody Paul Date: Fri, 20 Mar 2026 15:32:16 -0600 Subject: [PATCH 1/2] Add project website link to README Signed-off-by: Jody Paul --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 5eb3b76..b52207f 100644 --- a/README.md +++ b/README.md @@ -113,3 +113,7 @@ git push origin v1.0.1 When ready to bump the version, remember to update the version number in **two** places to keep everything in sync: - The Git Tag (the v1.0.1 above). - The **app.version** property at the top of `build.xml`. This ensures that when the user installs the app, the OS sees the correct version number in the "About" or "Get Info" screens. + +--- +## Project Website +https://metrocs.github.io/NativeJavaApp/ From cde4ed8c2578762b01d6790405123f207f0acff9 Mon Sep 17 00:00:00 2001 From: Jody Paul Date: Fri, 20 Mar 2026 16:37:56 -0600 Subject: [PATCH 2/2] Enhance README with formatting and external references Signed-off-by: Jody Paul --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b52207f..287d3ed 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,23 @@ Scaffold for creating double-clickable apps using Java This project uses Apache Ant and JDK 25 to compile, bundle, and package a Java application into native installers (.dmg for macOS, .deb for Ubuntu, and .msi for Windows). +--- ## Common Requirements (All Systems) Before running the build, ensure the following are installed and configured: - JDK 21 or 25: Must be installed. Although jpackage was introduced in JDK 14, JDK 21+ is recommended for modern macOS/Linux/Windows support. - Apache Ant: Installed and available in your PATH. - `JAVA_HOME`: This environment variable must point to your JDK installation directory. - Check via: `ant -version` and `java -version` + +--- ## macOS Setup To build the .dmg installer, your Mac needs the following: - Xcode Command Line Tools: Required for various build utilities. - Install via: `xcode-select --install` - Icon Asset: A file named icon.icns must be in the project root. - Note on Security: Since the app is not "Signed" with an Apple Developer Certificate, users may need to Right-Click > Open the app the first time to bypass the "Unidentified Developer" warning. + +--- ## Ubuntu / Debian Setup To build the .deb package on Linux, jpackage requires external tools to create the Debian archive structure. @@ -27,6 +32,8 @@ sudo apt install ant fakeroot dpkg-dev - fakeroot: Allows the package to be built with correct file permissions without requiring root access. - dpkg-dev: Provides the core utilities to create Debian packages. - Icon Asset: A file named icon.png (512x512 recommended) must be in the project root. + +--- ## Windows Setup To build the .msi installer on Windows, ensure the following: - JDK 21 or 25: Must be installed with JAVA_HOME configured. @@ -37,6 +44,8 @@ To build the .msi installer on Windows, ensure the following: - After installation, verify WiX is in your PATH by running: `candle -?` - Icon Asset: A file named icon.ico must be in the project root. - Note on Security: Windows may show a SmartScreen warning for unsigned installers. Users will need to click "More info" > "Run anyway" to install the app. + +--- ## Project Directory Structure Ensure your project looks like this for the build.xml to find all resources: @@ -49,6 +58,8 @@ MyAppName/ ├── icon.ico # Required for Windows MSI └── build.xml # The Ant build script ``` + +--- ## Usage Commands Open a terminal in the project root and use the following targets: @@ -59,6 +70,7 @@ Open a terminal in the project root and use the following targets: | ant run | Compiles and launches the app immediately for testing. | | ant clean | Deletes the build/ and dist/ folders to start fresh. | | ant -p | Displays a help menu of all available targets. | + ## Troubleshooting @@ -79,6 +91,8 @@ Open a terminal in the project root and use the following targets:
+--- + ## Automated Releases This project uses GitHub Actions to automatically build and distribute native installers. The workflow is split into two phases: Build and Release. @@ -115,5 +129,16 @@ When ready to bump the version, remember to update the version number in **two** - The **app.version** property at the top of `build.xml`. This ensures that when the user installs the app, the OS sees the correct version number in the "About" or "Get Info" screens. --- -## Project Website +## Native Java App Website + https://metrocs.github.io/NativeJavaApp/ + +--- +## References + +### jpackage + +- https://docs.oracle.com/en/java/javase/25/docs/specs/man/jpackage.html + +### Alternatives +- **jDeploy:** https://www.jdeploy.com