[M1 Mac, Big Sur 11.6.4]
これまで手動だったappファイル作成をMakefileにより自動化しました。
下記ファイルによりmakeコマンド一発でjarファイルを作成・署名し、appファイルを作成できます。これを応用してApple公証用zipファイル提出まで一気に実行することも可能でしょう。
# コンパイラ・ビルダ設定
COMPILER = javac
BUILDER = jar
# jarファイル設定
TARGET = test.jar
TARGETDIR = ../bin
MAIN_CLASS = Test
# jarファイル作成および署名,appファイル作成
$(TARGET):
$(COMPILER) -d $(TARGETDIR) base/*.java -encoding utf-8
cp -r ./images ../bin/images
cp -r ./properties ../bin/properties
cd $(TARGETDIR) && pwd && \
$(BUILDER) cfe $@ base.$(MAIN_CLASS) \
base/*.class \
btn_action/*.class \
xml/*.class \
properties/*.* \
images/*.png && \
cp -f ../entitlements.plist entitlements.plist && \
codesign --force --verify --verbose \
--sign [mac-signing-key-user-name] \
"test.jar" \
--deep \
--options runtime \
--entitlements entitlements.plist \
--timestamp
cd .. && \
jpackage --type app-image \
--name test \
--input bin \
--main-jar test.jar \
--icon bin/images/test.icns \
--copyright "Copyright (C) 2021-2022" \
--mac-signing-key-user-name [mac-signing-key-user-name] \
--app-version "1.6.7" \
--vendor [ベンダ名] \
--runtime-image jre-mini