You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+26-1Lines changed: 26 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,18 +3,23 @@ Scaffold for creating double-clickable apps using Java
3
3
4
4
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).
5
5
6
+
---
6
7
## Common Requirements (All Systems)
7
8
Before running the build, ensure the following are installed and configured:
8
9
- JDK 21 or 25: Must be installed. Although jpackage was introduced in JDK 14, JDK 21+ is recommended for modern macOS/Linux/Windows support.
9
10
- Apache Ant: Installed and available in your PATH.
10
11
-`JAVA_HOME`: This environment variable must point to your JDK installation directory.
11
12
- Check via: `ant -version` and `java -version`
13
+
14
+
---
12
15
## macOS Setup
13
16
To build the .dmg installer, your Mac needs the following:
14
17
- Xcode Command Line Tools: Required for various build utilities.
15
18
- Install via: `xcode-select --install`
16
19
- Icon Asset: A file named icon.icns must be in the project root.
17
20
- 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.
21
+
22
+
---
18
23
## Ubuntu / Debian Setup
19
24
To build the .deb package on Linux, jpackage requires external tools to create the Debian archive structure.
20
25
@@ -27,6 +32,8 @@ sudo apt install ant fakeroot dpkg-dev
27
32
- fakeroot: Allows the package to be built with correct file permissions without requiring root access.
28
33
- dpkg-dev: Provides the core utilities to create Debian packages.
29
34
- Icon Asset: A file named icon.png (512x512 recommended) must be in the project root.
35
+
36
+
---
30
37
## Windows Setup
31
38
To build the .msi installer on Windows, ensure the following:
32
39
- 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:
37
44
- After installation, verify WiX is in your PATH by running: `candle -?`
38
45
- Icon Asset: A file named icon.ico must be in the project root.
39
46
- 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.
47
+
48
+
---
40
49
## Project Directory Structure
41
50
Ensure your project looks like this for the build.xml to find all resources:
42
51
@@ -49,6 +58,8 @@ MyAppName/
49
58
├── icon.ico # Required for Windows MSI
50
59
└── build.xml # The Ant build script
51
60
```
61
+
62
+
---
52
63
## Usage Commands
53
64
Open a terminal in the project root and use the following targets:
54
65
@@ -59,6 +70,7 @@ Open a terminal in the project root and use the following targets:
59
70
| ant run | Compiles and launches the app immediately for testing. |
60
71
| ant clean | Deletes the build/ and dist/ folders to start fresh. |
61
72
| ant -p | Displays a help menu of all available targets. |
73
+
62
74
## Troubleshooting
63
75
<table>
64
76
<tr>
@@ -79,6 +91,8 @@ Open a terminal in the project root and use the following targets:
79
91
</tr>
80
92
</table>
81
93
94
+
---
95
+
82
96
## Automated Releases
83
97
This project uses GitHub Actions to automatically build and distribute native installers. The workflow is split into two phases: Build and Release.
84
98
@@ -115,5 +129,16 @@ When ready to bump the version, remember to update the version number in **two**
115
129
- 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.
0 commit comments