|
927 | 927 | F48B773D11F7661C00351575 /* Resources */, |
928 | 928 | F48B773E11F7661C00351575 /* Sources */, |
929 | 929 | F48B773F11F7661C00351575 /* Frameworks */, |
930 | | - F4302B7B21C5A04A001C8BEC /* ShellScript */, |
| 930 | + F4302B7B21C5A04A001C8BEC /* Update interpreter from script's shebang line */, |
| 931 | + F469CB382EDF0E2100B72BC9 /* Strip binary aggressively */, |
931 | 932 | ); |
932 | 933 | buildRules = ( |
933 | 934 | ); |
|
944 | 945 | buildPhases = ( |
945 | 946 | F4E1F6F911F758FB007EE2E3 /* Sources */, |
946 | 947 | F4E1F6FA11F758FB007EE2E3 /* Frameworks */, |
| 948 | + F469CB392EDF121500B72BC9 /* Strip Binary Aggressively */, |
947 | 949 | F4FB337514FBDAD500BAECEB /* Run Script to Create Man Page HTML document */, |
948 | 950 | ); |
949 | 951 | buildRules = ( |
|
1074 | 1076 | ); |
1075 | 1077 | runOnlyForDeploymentPostprocessing = 0; |
1076 | 1078 | shellPath = /bin/sh; |
1077 | | - shellScript = "#/bin/sh\n#\n\nRESOURCES_DIR=\"${TARGET_BUILD_DIR}/Platypus.app/Contents/Resources\"\n\necho \"Copying ScriptExec binary to application bundle\"\nSCRIPT_EXEC_APP_PATH=\"${BUILT_PRODUCTS_DIR}/ScriptExec.app\"\nSCRIPT_EXEC_BIN_PATH=\"${SCRIPT_EXEC_APP_PATH}/Contents/MacOS/ScriptExec\"\nBIN_DEST=\"${RESOURCES_DIR}/ScriptExec\"\nrm \"${BIN_DEST}\" &> /dev/null\n# cp \"${SCRIPT_EXEC_BIN_PATH}\" \"${BIN_DEST}\"\n# strip -x \"${BIN_DEST}\"\nbase64 -i \"${SCRIPT_EXEC_BIN_PATH}\" -o \"${BIN_DEST}.b64\"\n\necho \"Copying ScriptExec's MainMenu.nib to application bundle\"\nSCRIPT_EXEC_NIB_PATH=\"${SCRIPT_EXEC_APP_PATH}/Contents/Resources/MainMenu.nib\"\nrm -r \"${RESOURCES_DIR}/MainMenu.nib\" &> /dev/null\ncp -r \"${SCRIPT_EXEC_NIB_PATH}\" \"${RESOURCES_DIR}/MainMenu.nib\"\n\n# echo \"Copying ScriptExec's optimized MainMenu.nib to application bundle\"\n# OPT_NIB=\"${RESOURCES_DIR}/MainMenu-optimized.nib\"\n# cp -r \"${SCRIPT_EXEC_NIB_PATH}\" \"${OPT_NIB}\"\n# ibtool \"${OPT_NIB}\" --strip \"${OPT_NIB}\"\n\n# Copy CLT binary\necho \"Copying command line tool binary to application bundle\"\nCLT_PATH=\"${BUILT_PRODUCTS_DIR}/platypus_clt\"\ncp \"${CLT_PATH}\" \"${RESOURCES_DIR}/platypus_clt\"\n\n# Gzip man page\necho \"Gzipping man page\"\nrm \"${RESOURCES_DIR}/platypus.1.gz\" &> /dev/null\ngzip \"${RESOURCES_DIR}/platypus.1\"\n"; |
| 1079 | + shellScript = "#/bin/sh\n#\n\nRESOURCES_DIR=\"${TARGET_BUILD_DIR}/Platypus.app/Contents/Resources\"\n\necho \"Copying ScriptExec binary to application bundle\"\nSCRIPT_EXEC_APP_PATH=\"${BUILT_PRODUCTS_DIR}/ScriptExec.app\"\nSCRIPT_EXEC_BIN_PATH=\"${SCRIPT_EXEC_APP_PATH}/Contents/MacOS/ScriptExec\"\nBIN_DEST=\"${RESOURCES_DIR}/ScriptExec\"\nrm \"${BIN_DEST}\" &> /dev/null\n# cp \"${SCRIPT_EXEC_BIN_PATH}\" \"${BIN_DEST}\"\nbase64 -i \"${SCRIPT_EXEC_BIN_PATH}\" -o \"${BIN_DEST}.b64\"\n\necho \"Copying ScriptExec's MainMenu.nib to application bundle\"\nSCRIPT_EXEC_NIB_PATH=\"${SCRIPT_EXEC_APP_PATH}/Contents/Resources/MainMenu.nib\"\nrm -r \"${RESOURCES_DIR}/MainMenu.nib\" &> /dev/null\ncp -r \"${SCRIPT_EXEC_NIB_PATH}\" \"${RESOURCES_DIR}/MainMenu.nib\"\n\n# echo \"Copying ScriptExec's optimized MainMenu.nib to application bundle\"\n# OPT_NIB=\"${RESOURCES_DIR}/MainMenu-optimized.nib\"\n# cp -r \"${SCRIPT_EXEC_NIB_PATH}\" \"${OPT_NIB}\"\n# ibtool \"${OPT_NIB}\" --strip \"${OPT_NIB}\"\n\n# Copy CLT binary\necho \"Copying command line tool binary to application bundle\"\nCLT_PATH=\"${BUILT_PRODUCTS_DIR}/platypus_clt\"\ncp \"${CLT_PATH}\" \"${RESOURCES_DIR}/platypus_clt\"\n\n# Gzip man page\necho \"Gzipping man page\"\nrm \"${RESOURCES_DIR}/platypus.1.gz\" &> /dev/null\ngzip \"${RESOURCES_DIR}/platypus.1\"\n"; |
1078 | 1080 | }; |
1079 | 1081 | F42622251C03B0DD0052BA33 /* Run Script To Set CFBundleVersion to Build Number */ = { |
1080 | 1082 | isa = PBXShellScriptBuildPhase; |
|
1091 | 1093 | shellPath = /bin/sh; |
1092 | 1094 | shellScript = "#!/bin/sh\nBUILD_NUMBER=`git rev-list HEAD | wc -l`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $BUILD_NUMBER\" \"${INFOPLIST_FILE}\"\nif [ \"$?\" -ne 0 ] ; then\n echo \"warning:Error incrementing CFBundleVersion\"\nfi\n"; |
1093 | 1095 | }; |
1094 | | - F4302B7B21C5A04A001C8BEC /* ShellScript */ = { |
| 1096 | + F4302B7B21C5A04A001C8BEC /* Update interpreter from script's shebang line */ = { |
1095 | 1097 | isa = PBXShellScriptBuildPhase; |
1096 | 1098 | alwaysOutOfDate = 1; |
1097 | 1099 | buildActionMask = 2147483647; |
|
1101 | 1103 | ); |
1102 | 1104 | inputPaths = ( |
1103 | 1105 | ); |
| 1106 | + name = "Update interpreter from script's shebang line"; |
1104 | 1107 | outputFileListPaths = ( |
1105 | 1108 | ); |
1106 | 1109 | outputPaths = ( |
|
1109 | 1112 | shellPath = /bin/sh; |
1110 | 1113 | shellScript = "#!/bin/sh\n# Read interpreter path from the script's shebang line\n# and set it as interpreter in AppSettings.plist\n# This is just for convenience when debugging and switching\n# often between interpreters. Better to control it via shebang.\nAPPSETTINGS=\"${TARGET_BUILD_DIR}/ScriptExec.app/Contents/Resources/AppSettings.plist\"\nSCRIPT=\"${TARGET_BUILD_DIR}/ScriptExec.app/Contents/Resources/script\"\nINTERPRETER=$(head -n 1 $SCRIPT | cut -b 3-300 | tr -d '\\n')\n/usr/libexec/PlistBuddy -c \"Set :InterpreterPath ${INTERPRETER}\" \"${APPSETTINGS}\"\n\n\n\n\n\n\n\n\n\n\n\n\n"; |
1111 | 1114 | }; |
| 1115 | + F469CB382EDF0E2100B72BC9 /* Strip binary aggressively */ = { |
| 1116 | + isa = PBXShellScriptBuildPhase; |
| 1117 | + alwaysOutOfDate = 1; |
| 1118 | + buildActionMask = 2147483647; |
| 1119 | + files = ( |
| 1120 | + ); |
| 1121 | + inputFileListPaths = ( |
| 1122 | + ); |
| 1123 | + inputPaths = ( |
| 1124 | + ); |
| 1125 | + name = "Strip binary aggressively"; |
| 1126 | + outputFileListPaths = ( |
| 1127 | + ); |
| 1128 | + outputPaths = ( |
| 1129 | + ); |
| 1130 | + runOnlyForDeploymentPostprocessing = 0; |
| 1131 | + shellPath = /bin/sh; |
| 1132 | + shellScript = "if [ \"${CONFIGURATION}\" = \"Deployment\" ]; then\n echo \"Stripping binary....\"\n strip -Sx \"${BUILT_PRODUCTS_DIR}/ScriptExec.app/Contents/MacOS/ScriptExec\"\nfi\n"; |
| 1133 | + }; |
| 1134 | + F469CB392EDF121500B72BC9 /* Strip Binary Aggressively */ = { |
| 1135 | + isa = PBXShellScriptBuildPhase; |
| 1136 | + alwaysOutOfDate = 1; |
| 1137 | + buildActionMask = 2147483647; |
| 1138 | + files = ( |
| 1139 | + ); |
| 1140 | + inputFileListPaths = ( |
| 1141 | + ); |
| 1142 | + inputPaths = ( |
| 1143 | + ); |
| 1144 | + name = "Strip Binary Aggressively"; |
| 1145 | + outputFileListPaths = ( |
| 1146 | + ); |
| 1147 | + outputPaths = ( |
| 1148 | + ); |
| 1149 | + runOnlyForDeploymentPostprocessing = 0; |
| 1150 | + shellPath = /bin/sh; |
| 1151 | + shellScript = "if [ \"${CONFIGURATION}\" = \"Deployment\" ]; then\n echo \"Stripping binary....\"\n strip -Sx \"${BUILT_PRODUCTS_DIR}/platypus_clt\"\nfi\n"; |
| 1152 | + }; |
1112 | 1153 | F49DB7A925727F65009B6257 /* Sign All Binaries */ = { |
1113 | 1154 | isa = PBXShellScriptBuildPhase; |
1114 | 1155 | alwaysOutOfDate = 1; |
|
1126 | 1167 | ); |
1127 | 1168 | runOnlyForDeploymentPostprocessing = 0; |
1128 | 1169 | shellPath = /bin/sh; |
1129 | | - shellScript = "# exit 0\n# We need to sign all binaries within Sparkle framework for update installation to work\n# Only do this for release builds so CI testing works\nif [ \"${CODE_SIGNING_REQUIRED}\" != \"YES\" ]; then\n exit 0\nfi\n\n\nLOCATION1=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater\"\nLOCATION2=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Autoupdate\"\nLOCATION3=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader\"\nLOCATION4=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework\"\nLOCATION5=\"${BUILT_PRODUCTS_DIR}/Platypus.app\"\n# LOCATION6=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Resources/ScriptExec\"\n\nIDENTITY=\"16A0188A9D74911B21953A33684437F70902BC30\"\n#${EXPANDED_CODE_SIGN_IDENTITY_NAME}\n\n#echo $IDENTITY\n\n\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION1\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION2\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION3\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION4\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION5\"\n# codesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION6\"\n"; |
| 1170 | + shellScript = "# exit 0\n# We need to sign all binaries within Sparkle framework for update installation to work\n# Only do this for release builds so CI testing works\nif [ \"${CODE_SIGNING_REQUIRED}\" != \"YES\" ]; then\n exit 0\nfi\n\n\nLOCATION1=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater\"\nLOCATION2=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Autoupdate\"\nLOCATION3=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader\"\nLOCATION4=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Frameworks/Sparkle.framework\"\nLOCATION5=\"${BUILT_PRODUCTS_DIR}/Platypus.app\"\n# LOCATION6=\"${BUILT_PRODUCTS_DIR}/Platypus.app/Contents/Resources/ScriptExec\"\n\nIDENTITY=\"16A0188A9D74911B21953A33684437F70902BC30\"\n#${EXPANDED_CODE_SIGN_IDENTITY_NAME}\n\n#echo $IDENTITY\n\nstrip -xS\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION1\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION2\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION3\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION4\"\ncodesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION5\"\n# codesign --verbose --force -o runtime --deep --sign \"$IDENTITY\" \"$LOCATION6\"\n"; |
1130 | 1171 | }; |
1131 | 1172 | F4DC737D21644E0400D79823 /* ShellScript */ = { |
1132 | 1173 | isa = PBXShellScriptBuildPhase; |
|
1307 | 1348 | ); |
1308 | 1349 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; |
1309 | 1350 | GCC_OPTIMIZATION_LEVEL = 0; |
| 1351 | + GENERATE_PKGINFO_FILE = NO; |
1310 | 1352 | INFOPLIST_FILE = "Application/Resources/Platypus-Info.plist"; |
1311 | 1353 | INFOPLIST_KEY_CFBundleDisplayName = Platypus; |
1312 | 1354 | INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; |
|
1329 | 1371 | PRODUCT_BUNDLE_IDENTIFIER = org.sveinbjorn.Platypus; |
1330 | 1372 | PRODUCT_NAME = Platypus; |
1331 | 1373 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| 1374 | + STRIPFLAGS = "-xS"; |
1332 | 1375 | VALIDATE_PRODUCT = NO; |
1333 | 1376 | WARNING_CFLAGS = ( |
1334 | 1377 | "-Wno-gnu", |
|
1373 | 1416 | ); |
1374 | 1417 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; |
1375 | 1418 | GCC_OPTIMIZATION_LEVEL = s; |
| 1419 | + GENERATE_PKGINFO_FILE = NO; |
1376 | 1420 | INFOPLIST_FILE = "Application/Resources/Platypus-Info.plist"; |
1377 | 1421 | INFOPLIST_KEY_CFBundleDisplayName = Platypus; |
1378 | 1422 | INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; |
|
1395 | 1439 | PRODUCT_BUNDLE_IDENTIFIER = org.sveinbjorn.Platypus; |
1396 | 1440 | PRODUCT_NAME = Platypus; |
1397 | 1441 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| 1442 | + STRIPFLAGS = "-xS"; |
1398 | 1443 | VALIDATE_PRODUCT = YES; |
1399 | 1444 | WARNING_CFLAGS = ( |
1400 | 1445 | "-Wno-gnu", |
|
1571 | 1616 | ENABLE_NS_ASSERTIONS = YES; |
1572 | 1617 | ENABLE_STRICT_OBJC_MSGSEND = YES; |
1573 | 1618 | GCC_OPTIMIZATION_LEVEL = 0; |
| 1619 | + GENERATE_PKGINFO_FILE = NO; |
1574 | 1620 | IBC_FLATTEN_NIBS = NO; |
1575 | 1621 | INFOPLIST_FILE = "ScriptExec/Resources/ScriptExec-Info.plist"; |
1576 | 1622 | MACOSX_DEPLOYMENT_TARGET = 10.13; |
|
1579 | 1625 | ONLY_ACTIVE_ARCH = YES; |
1580 | 1626 | PRODUCT_BUNDLE_IDENTIFIER = org.sveinbjorn.ScriptExec; |
1581 | 1627 | PRODUCT_NAME = ScriptExec; |
| 1628 | + STRIPFLAGS = "-xS"; |
1582 | 1629 | WARNING_CFLAGS = "-Wpartial-availability"; |
1583 | 1630 | }; |
1584 | 1631 | name = Development; |
|
1605 | 1652 | ENABLE_HARDENED_RUNTIME = YES; |
1606 | 1653 | ENABLE_NS_ASSERTIONS = YES; |
1607 | 1654 | ENABLE_STRICT_OBJC_MSGSEND = YES; |
| 1655 | + GENERATE_PKGINFO_FILE = NO; |
1608 | 1656 | IBC_FLATTEN_NIBS = NO; |
1609 | 1657 | INFOPLIST_FILE = "ScriptExec/Resources/ScriptExec-Info.plist"; |
1610 | 1658 | MACOSX_DEPLOYMENT_TARGET = 10.13; |
1611 | 1659 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; |
1612 | 1660 | MTL_FAST_MATH = YES; |
1613 | 1661 | PRODUCT_BUNDLE_IDENTIFIER = org.sveinbjorn.ScriptExec; |
1614 | 1662 | PRODUCT_NAME = ScriptExec; |
| 1663 | + STRIPFLAGS = "-xS"; |
1615 | 1664 | WARNING_CFLAGS = "-Wpartial-availability"; |
1616 | 1665 | }; |
1617 | 1666 | name = Deployment; |
|
1691 | 1740 | PRODUCT_BUNDLE_IDENTIFIER = "org.sveinbjorn.platypus-clt"; |
1692 | 1741 | PRODUCT_NAME = platypus_clt; |
1693 | 1742 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| 1743 | + STRIPFLAGS = "-xS"; |
1694 | 1744 | }; |
1695 | 1745 | name = Development; |
1696 | 1746 | }; |
|
1726 | 1776 | PRODUCT_BUNDLE_IDENTIFIER = "org.sveinbjorn.platypus-clt"; |
1727 | 1777 | PRODUCT_NAME = platypus_clt; |
1728 | 1778 | PROVISIONING_PROFILE_SPECIFIER = ""; |
| 1779 | + STRIPFLAGS = "-xS"; |
1729 | 1780 | }; |
1730 | 1781 | name = Deployment; |
1731 | 1782 | }; |
|
0 commit comments