From f20fc239dfc150a504ddd63d6bb04277093e556a Mon Sep 17 00:00:00 2001 From: aboyko Date: Fri, 6 Sep 2024 15:35:03 -0400 Subject: [PATCH] Correct the script to look inside nested jar for binaries --- .github/scripts/sign-osx-distro-file.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/scripts/sign-osx-distro-file.sh b/.github/scripts/sign-osx-distro-file.sh index 6b3b0a53b..4ddd43d32 100755 --- a/.github/scripts/sign-osx-distro-file.sh +++ b/.github/scripts/sign-osx-distro-file.sh @@ -51,6 +51,7 @@ function signExecutableInsideJar() { } function signExecutableInsideJar2() { + local pwd=`pwd` for f in `find $1 -type f | grep -E $2` do echo "Looking for '$3' files inside ${f} to sign..." @@ -73,9 +74,11 @@ function signExecutableInsideJar2() { echo "Signing binary file: ${f}" codesign --verbose --deep --force --timestamp --entitlements "${entitlements}" --options=runtime --keychain "${KEYCHAIN}" -s "${MACOS_CERTIFICATE_ID}" $f done + cd $pwd } function signExecutableInsideNestedJar() { + local pwd=`pwd` for f in `find $1 -type f | grep -E $2` do f_name="$(basename -- $f)" @@ -85,12 +88,14 @@ function signExecutableInsideNestedJar() { echo "Extracting archive ${f}" unzip -q $f -d ./${extracted_jar_dir} signExecutableInsideJar2 $extracted_jar_dir $3 $4 $5 + cd $extracted_jar_dir zip -r -u ../$f . cd .. rm -rf $extracted_jar_dir echo "Signing binary file: ${f}" codesign --verbose --deep --force --timestamp --entitlements "${entitlements}" --options=runtime --keychain "${KEYCHAIN}" -s "${MACOS_CERTIFICATE_ID}" $f done + cd $pwd } # sign libjansi.jnilib inside kotlin-compiler-embeddable.jar @@ -122,7 +127,7 @@ signExecutableInsideJar2 ${dir}/${destination_folder_name}/SpringToolSuite4.app signExecutableInsideJar2 ${dir}/${destination_folder_name}/SpringToolSuite4.app ".*/snappy-java.*\.jar$" "libsnappyjava.jnilib" ".*/libsnappyjava\.(jni|dy)lib$" # sign libjnidispatch.jnilib inside jna.jar -signExecutableInsideJar ".*/jna-\d+.*\.jar$" "libjnidispatch.jnilib.jnilib" ".*/libjnidispatch\.jnilib$" +signExecutableInsideJar2 ${dir}/${destination_folder_name}/SpringToolSuite4.app ".*/jna-\d+.*\.jar$" "libjnidispatch.jnilib.jnilib" ".*/libjnidispatch\.jnilib$" #sign libjnidispatch.jnilib inside jna.jar which is inside org.springframework.ide.eclipse.docker.client.jar bundle signExecutableInsideNestedJar ${dir}/${destination_folder_name}/SpringToolSuite4.app ".*/org.springframework.ide.eclipse.docker.client.*\.jar$" ".*/jna-\d+.*\.jar$" "libjnidispatch.jnilib" ".*/libjnidispatch\.jnilib$"