Correct the script to look inside nested jar for binaries

This commit is contained in:
aboyko
2024-09-06 15:35:03 -04:00
parent a0629e4079
commit f20fc239df

View File

@@ -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$"