diff --git a/ci/post_export.sh b/ci/post_export.sh deleted file mode 100755 index 4d49636..0000000 --- a/ci/post_export.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -if [[ "$(uname)" != "Darwin" ]]; then - echo "Not macos" - exit 0 -fi - -PROJECT_ROOT="$1" -PBXPROJ_FILE="$2" -PROJECT_NAME="$3" - -sh -c "$PROJECT_ROOT/ci/remove_embed_frameworks.sh \"$PBXPROJ_FILE\" \"$PROJECT_NAME\" \"All"\" -sh -c "$PROJECT_ROOT/ci/remove_embed_frameworks.sh \"$PBXPROJ_FILE\" \"$PROJECT_NAME\" \"Shared Code"\" \ No newline at end of file diff --git a/ci/remove_embed_frameworks.sh b/ci/remove_embed_frameworks.sh deleted file mode 100755 index d358214..0000000 --- a/ci/remove_embed_frameworks.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/bash - -if [[ "$(uname)" != "Darwin" ]]; then - echo "Not macos" - exit 0 -fi - -# Path to the project.pbxproj file -PBXPROJ_FILE="$1" -PROJECT_NAME="$2" -TARGET_NAME="$3" - -if [[ ! -f "$PBXPROJ_FILE" ]]; then - echo "Error: File '$PBXPROJ_FILE' not found!" - exit 1 -fi - -# Temporary file for storing embed framework blocks and the final output -TEMP_EMBED_FILE="$(mktemp)" -TEMP_FILE="$(mktemp)" - -# Step 1: Find all 'Embed Frameworks' blocks and their IDs -echo "Debug: Extracting Embed Frameworks blocks and IDs..." -awk ' - BEGIN { in_embed_block = 0; current_id = ""; embed_block = ""; } - { - # Look for the start of an Embed Frameworks block - if ($0 ~ /^[[:space:]]*[A-Z0-9]+[[:space:]]*\/\* Embed Frameworks \*\/[[:space:]]*=/) { - in_embed_block = 1; - split($0, parts, " "); - current_id = parts[1]; - embed_block = $0 "\n"; # Start of the block - } - - # Add lines to the block if we are inside it - if (in_embed_block) { - embed_block = embed_block $0 "\n"; - } - - # Look for the end of the Embed Frameworks block - if (in_embed_block && $0 ~ /^[[:space:]]*};/) { - in_embed_block = 0; - # Store the embed block and ID - print current_id "\t" embed_block; - embed_block = ""; # Reset the block for the next one - current_id = ""; - } - } -' "$PBXPROJ_FILE" > "$TEMP_EMBED_FILE" - -# Step 2: Find the ID of the target -TARGET_ID=$(grep -E "^\s*[A-Z0-9]+ \/\* $PROJECT_NAME - $TARGET_NAME \*\/ = {" "$PBXPROJ_FILE" | grep -oE '^\s*[A-Z0-9]+' | tr -d '[:space:]') - -if [[ -z "$TARGET_ID" ]]; then - echo "Error: Could not find the '$TARGET_NAME' target!" - exit 1 -fi - -echo "Debug: Found target ID: $TARGET_ID" - -# Step 3: Extract the buildPhases for the target -echo "Debug: Extracting buildPhases for the '$TARGET_NAME' target..." -BUILD_PHASES=$(awk -v target_id="$TARGET_ID" -v project_name="$PROJECT_NAME" -v target_name="$TARGET_NAME" ' - BEGIN { found_target = 0; in_build_phases = 0; } - { - # Look for the target block - if ($0 ~ target_id " /\\* " project_name " - " target_name " \\*/ = \\{") { found_target = 1; } - - # Capture the buildPhases section - if (found_target && $0 ~ /buildPhases = \(/) { - in_build_phases = 1; - } - - if (in_build_phases) { - print $0; - } - - # Stop capturing buildPhases after the closing parenthesis - if (in_build_phases && $0 ~ /^[[:space:]]*\);/) { - in_build_phases = 0; - } - - # End target block - if (found_target && $0 ~ /^[[:space:]]*\};/) { - found_target = 0; - } - } -' "$PBXPROJ_FILE" | grep -oE '^\s*[A-Z0-9]+' | tr -d "[:blank:]") - -# Debug: Show the captured buildPhases -echo "Debug: Build Phases for '$TARGET_NAME':" -echo "$BUILD_PHASES" - -# Step 4: Extract the Embed Framework ID that matches the build phase ID -echo "Debug: Matching Embed Frameworks with Build Phases..." -EMBED_ID="" -while read -r build_phase_id; do - # For each build phase ID, check if it exists in TEMP_EMBED_FILE - # Extract the matching Embed Framework ID from TEMP_EMBED_FILE - EMBED_ID=$(grep "$build_phase_id" "$TEMP_EMBED_FILE") - - # If a matching Embed ID is found, exit the loop - if [[ -n "$EMBED_ID" ]]; then - EMBED_ID=$build_phase_id - echo "Debug: Found matching Embed ID: $EMBED_ID" - break - fi -done <<< "$BUILD_PHASES" - -if [[ -z "$EMBED_ID" ]]; then - echo "Error: Could not find a matching Embed Frameworks ID in the build phases!" - exit 1 -fi - -# Step 5: Remove the 'Embed Frameworks' block and references to it -echo "Debug: Removing the Embed Frameworks block with ID $EMBED_ID..." -awk -v embed_id="$EMBED_ID" ' -{ - # Skip the Embed Frameworks block - if ($0 ~ embed_id " \\*/ = {") {in_embed_block=1} - if (in_embed_block && $0 ~ "^[[:space:]]*};") {in_embed_block=0; next} - if (in_embed_block) next - - # Remove references to the Embed Frameworks block in the build phases - if ($0 ~ "buildPhases = \\(") {in_build_phases=1} - if (in_build_phases && $0 ~ embed_id ",") {next} - if (in_build_phases && $0 ~ "^[[:space:]]*\\);") {in_build_phases=0} - - # Print the remaining lines - print -}' "$PBXPROJ_FILE" > "$TEMP_FILE" - -# Replace the original file with the modified file -mv "$TEMP_FILE" "$PBXPROJ_FILE" - -echo "Successfully removed the Embed Frameworks block for '$TARGET_NAME'." diff --git a/osci-render.jucer b/osci-render.jucer index 1914289..7bc6761 100644 --- a/osci-render.jucer +++ b/osci-render.jucer @@ -6,7 +6,7 @@ cppLanguageStandard="20" projectLineFeed=" " headerPath="./include" version="2.4.0" companyName="James H Ball" companyWebsite="https://osci-render.com" companyEmail="james@ball.sh" defines="NOMINMAX=1 INTERNET_FLAG_NO_AUTO_REDIRECT=0 SOSCI_FEATURES=1" - pluginAUMainType="'aumf'" postExportShellCommandPosix="%%1%%/ci/post_export.sh %%1%% %%1%%/Builds/osci-render/MacOSX/osci-render.xcodeproj/project.pbxproj osci-render"> + pluginAUMainType="'aumf'"> @@ -777,17 +777,16 @@ - - - diff --git a/packaging/osci-render.pkgproj b/packaging/osci-render.pkgproj index e5fb234..b3f9d47 100644 --- a/packaging/osci-render.pkgproj +++ b/packaging/osci-render.pkgproj @@ -197,7 +197,36 @@ CHILDREN - + + + BUNDLE_CAN_DOWNGRADE + + BUNDLE_POSTINSTALL_PATH + + PATH_TYPE + 0 + + BUNDLE_PREINSTALL_PATH + + PATH_TYPE + 0 + + CHILDREN + + GID + 0 + PATH + ../External/syphon/Syphon.framework + PATH_TYPE + 1 + PERMISSIONS + 509 + TYPE + 3 + UID + 0 + + GID 0 PATH @@ -765,7 +794,36 @@ CHILDREN - + + + BUNDLE_CAN_DOWNGRADE + + BUNDLE_POSTINSTALL_PATH + + PATH_TYPE + 0 + + BUNDLE_PREINSTALL_PATH + + PATH_TYPE + 0 + + CHILDREN + + GID + 0 + PATH + ../External/syphon/Syphon.framework + PATH_TYPE + 1 + PERMISSIONS + 509 + TYPE + 3 + UID + 0 + + GID 0 PATH @@ -1268,7 +1326,36 @@ CHILDREN - + + + BUNDLE_CAN_DOWNGRADE + + BUNDLE_POSTINSTALL_PATH + + PATH_TYPE + 0 + + BUNDLE_PREINSTALL_PATH + + PATH_TYPE + 0 + + CHILDREN + + GID + 0 + PATH + ../External/syphon/Syphon.framework + PATH_TYPE + 1 + PERMISSIONS + 509 + TYPE + 3 + UID + 0 + + GID 0 PATH diff --git a/packaging/sosci.pkgproj b/packaging/sosci.pkgproj index 9bdac0c..5bb1bac 100644 --- a/packaging/sosci.pkgproj +++ b/packaging/sosci.pkgproj @@ -197,7 +197,36 @@ CHILDREN - + + + BUNDLE_CAN_DOWNGRADE + + BUNDLE_POSTINSTALL_PATH + + PATH_TYPE + 0 + + BUNDLE_PREINSTALL_PATH + + PATH_TYPE + 0 + + CHILDREN + + GID + 0 + PATH + ../External/syphon/Syphon.framework + PATH_TYPE + 1 + PERMISSIONS + 509 + TYPE + 3 + UID + 0 + + GID 0 PATH @@ -765,7 +794,36 @@ CHILDREN - + + + BUNDLE_CAN_DOWNGRADE + + BUNDLE_POSTINSTALL_PATH + + PATH_TYPE + 0 + + BUNDLE_PREINSTALL_PATH + + PATH_TYPE + 0 + + CHILDREN + + GID + 0 + PATH + ../External/syphon/Syphon.framework + PATH_TYPE + 1 + PERMISSIONS + 509 + TYPE + 3 + UID + 0 + + GID 0 PATH @@ -1268,7 +1326,36 @@ CHILDREN - + + + BUNDLE_CAN_DOWNGRADE + + BUNDLE_POSTINSTALL_PATH + + PATH_TYPE + 0 + + BUNDLE_PREINSTALL_PATH + + PATH_TYPE + 0 + + CHILDREN + + GID + 0 + PATH + ../External/syphon/Syphon.framework + PATH_TYPE + 1 + PERMISSIONS + 509 + TYPE + 3 + UID + 0 + + GID 0 PATH diff --git a/sosci.jucer b/sosci.jucer index 8cba75e..b09ed4a 100644 --- a/sosci.jucer +++ b/sosci.jucer @@ -6,8 +6,7 @@ headerPath="./include" version="1.0.0" companyName="James H Ball" companyWebsite="https://osci-render.com" companyEmail="james@ball.sh" defines="NOMINMAX=1 INTERNET_FLAG_NO_AUTO_REDIRECT=0 SOSCI_FEATURES=1" - pluginManufacturerCode="Jhba" pluginCode="Sosc" pluginAUMainType="'aufx'" - postExportShellCommandPosix="%%1%%/ci/post_export.sh %%1%% %%1%%/Builds/sosci/MacOSX/sosci.xcodeproj/project.pbxproj sosci"> + pluginManufacturerCode="Jhba" pluginCode="Sosc" pluginAUMainType="'aufx'"> @@ -255,17 +254,16 @@ - - -