diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index fabb2e8..36a0773 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -7,6 +7,25 @@ on:
jobs:
+ MacOs:
+ runs-on: macos-13
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+ architecture: x64
+ - run: |
+ ./mvnw clean package --batch-mode --no-transfer-progress
+ - run: |
+ $JAVA_HOME/bin/jpackage @target/jpackage-macos.args --type dmg
+ shell: cmd
+ - uses: softprops/action-gh-release@v2
+ with:
+ draft: true
+ files: target/distr/win/*.dmg
+
Windows:
runs-on: windows-2019
steps:
diff --git a/etc/build-macos.sh b/etc/build-macos.sh
new file mode 100755
index 0000000..87b9a27
--- /dev/null
+++ b/etc/build-macos.sh
@@ -0,0 +1,9 @@
+JAVA_HOME=$JAVA17_HOME
+
+cd "$(dirname "$0")/.."
+
+mvn clean package -DskipTests
+
+$JAVA_HOME/bin/jpackage @target/jpackage-macos.args --type app-image
+
+$JAVA_HOME/bin/jpackage @target/jpackage-macos.args --type dmg
diff --git a/etc/distr/app.icns b/etc/distr/app.icns
new file mode 100644
index 0000000..0ec7094
Binary files /dev/null and b/etc/distr/app.icns differ
diff --git a/pom.xml b/pom.xml
index f9b60d1..b48ef6f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -117,6 +117,7 @@
${basedir}/src/assembly
true
+ jpackage-macos.args
jpackage-win.args
diff --git a/src/assembly/jpackage-macos.args b/src/assembly/jpackage-macos.args
new file mode 100644
index 0000000..a499aca
--- /dev/null
+++ b/src/assembly/jpackage-macos.args
@@ -0,0 +1,8 @@
+--icon etc/distr/app.icns
+--input target/out/lib
+--dest target/distr/macos
+--name ZooInspectorN
+--vendor Viktor44
+--app-version ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}
+--main-jar ${project.build.finalName}.jar
+