### Обновить набор зависимостей: mvn package -Drevision="x.y.z" -Dversioncode="1" -P production,mac-jar -DskipTests -f pom.xml ### Разлочить кейчейн: security unlock-keychain -p password ### Распаковать jar: jar xf example.jar ### Подписать все либы в дире: signpath=(codesign --force --deep --verbose --timestamp --sign '$SIGN_FROM_DEVELOPER_APPLE_COM') find . -type f -name *dylib -exec "${signpath[@]}" '{}' \; ### Подписать файл: codesign --force --deep --verbose --timestamp --sign '$SIGN_FROM_DEVELOPER_APPLE_COM' example-macosx-x86_64.jar ### Просмотреть подпись app файла: codesign -dvv example.jar ### Просмотреть лог деплоя (id деплоя доступен в Jenkins): /Library/Developer/CommandLineTools/usr/bin/notarytool log aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee --apple-id $EMAIL --team-id $SOME_TEAM_ID --password $PASSWORD_OF_EMAIL ### Скрипт для распаковки jar, подписи содержимого (в конкретном случае содержимого с расширением *dylib), повторной запаковки в jar и проверки подписи: JAR_FILENAME="example.jar" REPO_PATH="/Users/user/.m2/repository" JAR_PATH="com/dir1/dir2" # folder structure inside of jar file: JAR_FILES_PATH=com/dir1/dir2/darwin cd $REPO_PATH/$JAR_PATH jar xf $JAR_FILENAME find $JAR_FILES_PATH -type f -name *dylib ls -la . signpath=(codesign --force --deep --verbose --timestamp --options runtime --sign '$SIGN_FROM_DEVELOPER_APPLE_COM') # it looks for *.dylib only. In your case find statement might be consist of additional constructions. find $JAR_FILES_PATH -type f -name *dylib -exec "${signpath[@]}" '{}' \; mv $JAR_FILENAME $JAR_FILENAME.nonsigned # list of files and directories should be packed in jar may be vary: zip -r -u $JAR_FILENAME META-INF/ com/ rm -rf META-INF/ com/ codesign --force --deep --verbose --timestamp --sign '$SIGN_FROM_DEVELOPER_APPLE_COM' $JAR_FILENAME codesign -dvv $JAR_FILENAME