diff --git a/CHANGELIST.md b/CHANGELIST.md index 76163941..d7886705 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -14,6 +14,7 @@ - Smarter mapping of URLs to runtimes - Unify download maps - Trailing commas caused issues +- Add initial extraction to new functions ### 3.3.0 (2025-01-03) diff --git a/publish-nix.sh b/publish-nix.sh index b1b65ae6..6fd838be 100755 --- a/publish-nix.sh +++ b/publish-nix.sh @@ -77,34 +77,34 @@ VALID_CROSS_PLATFORM_RUNTIMES=("win-arm64" "linux-x64" "linux-arm64" "osx-x64" " # Download programs step function download_programs() { # Define download constants - DL_PREFIXES=("aaru" "creator" "redumper") + DL_PREFIXES=("Aaru" "Creator" "Redumper") DL_MAP=( # Aaru - Skipped for now - ["aaru_linux-arm64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_arm64.tar.gz" - ["aaru_linux-amd64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_amd64.tar.gz" - ["aaru_macos-arm64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" - ["aaru_macos-x64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" - ["aaru_win-arm64"]="" #https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_aarch64.zip" - ["aaru_win-x86"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x86.zip" - ["aaru_win-x64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x64.zip" + ["Aaru_linux-arm64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_arm64.tar.gz" + ["Aaru_linux-amd64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_amd64.tar.gz" + ["Aaru_macos-arm64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" + ["Aaru_macos-x64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" + ["Aaru_win-arm64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_aarch64.zip" + ["Aaru_win-x86"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x86.zip" + ["Aaru_win-x64"]="" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x64.zip" # DiscImageCreator - ["creator_linux-arm64"]="" - ["creator_linux-amd64"]="https://github.com/user-attachments/files/18285720/DiscImageCreator_20250101.tar.gz" - ["creator_macos-arm64"]="https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" - ["creator_macos-x64"]="https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" - ["creator_win-arm64"]="" - ["creator_win-x86"]="https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" - ["creator_win-x64"]="https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" + ["Creator_linux-arm64"]="" + ["Creator_linux-amd64"]="https://github.com/user-attachments/files/18285720/DiscImageCreator_20250101.tar.gz" + ["Creator_macos-arm64"]="https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" + ["Creator_macos-x64"]="https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" + ["Creator_win-arm64"]="" + ["Creator_win-x86"]="https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" + ["Creator_win-x64"]="https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" # Redumper - ["redumper_linux-arm64"]="" - ["redumper_linux-amd64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Linux64.zip" - ["redumper_macos-arm64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" - ["redumper_macos-x64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" - ["redumper_win-arm64"]="" - ["redumper_win-x86"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows32.zip" - ["redumper_win-x64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows64.zip" + ["Redumper_linux-arm64"]="" + ["Redumper_linux-amd64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Linux64.zip" + ["Redumper_macos-arm64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" + ["Redumper_macos-x64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" + ["Redumper_win-arm64"]="" + ["Redumper_win-x86"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows32.zip" + ["Redumper_win-x64"]="https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows64.zip" ) # Download and extract files @@ -126,8 +126,41 @@ function download_programs() { fi done done + + # Create UI directories and copy data + for FRAMEWORK in "${UI_FRAMEWORKS[@]}"; do + for RUNTIME in "${UI_RUNTIMES[@]}"; do + for PREFIX in "${DL_PREFIXES[@]}"; do + if [ $INCLUDE_DEBUG = true ]; then + mkdir -p MPF.UI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX} + cp -rfp $PREFIX_$RUNTIME-dir/* MPF.UI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX}/ + fi + + mkdir -p MPF.UI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX} + cp -rfp $PREFIX_$RUNTIME-dir/* MPF.UI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX}/ + done + done + done + + # Create CLI directories and copy data + for FRAMEWORK in "${CHECK_FRAMEWORKS[@]}"; do + for RUNTIME in "${CHECK_RUNTIMES[@]}"; do + for PREFIX in "${DL_PREFIXES[@]}"; do + if [ $INCLUDE_DEBUG = true ]; then + mkdir -p MPF.CLI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX} + cp -rfp $PREFIX_$RUNTIME-dir/* MPF.CLI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX}/ + fi + + mkdir -p MPF.CLI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX} + cp -rfp $PREFIX_$RUNTIME-dir/* MPF.CLI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/${PREFIX}/ + done + done + done } +#TEMP INVOCATION OF THE ABOVE +download_programs + # Only build if requested if [ $NO_BUILD = false ]; then # Restore Nuget packages for all builds diff --git a/publish-win.ps1 b/publish-win.ps1 index 6de8699f..5ff608b8 100644 --- a/publish-win.ps1 +++ b/publish-win.ps1 @@ -67,34 +67,34 @@ $VALID_CROSS_PLATFORM_RUNTIMES = @('win-arm64', 'linux-x64', 'linux-arm64', 'osx # Download programs step function Download-Programs { # Define download constants - $DL_PREFIXES = ("aaru", "creator", "redumper") + $DL_PREFIXES = ("Aaru", "Creator", "Redumper") $DL_MAP = @{ # Aaru - Skipped for now - "aaru_linux-arm64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_arm64.tar.gz" - "aaru_linux-amd64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_amd64.tar.gz" - "aaru_macos-arm64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" - "aaru_macos-x64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" - "aaru_win-arm64" = "" #https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_aarch64.zip" - "aaru_win-x86" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x86.zip" - "aaru_win-x64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x64.zip" + "Aaru_linux-arm64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_arm64.tar.gz" + "Aaru_linux-amd64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_linux_amd64.tar.gz" + "Aaru_macos-arm64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" + "Aaru_macos-x64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_macos.zip" + "Aaru_win-arm64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_aarch64.zip" + "Aaru_win-x86" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x86.zip" + "Aaru_win-x64" = "" #"https://github.com/aaru-dps/Aaru/releases/download/v5.3.2/aaru-5.3.2_windows_x64.zip" # DiscImageCreator - "creator_linux-arm64" = "" - "creator_linux-amd64" = "https://github.com/user-attachments/files/18285720/DiscImageCreator_20250101.tar.gz" - "creator_macos-arm64" = "https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" - "creator_macos-x64" = "https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" - "creator_win-arm64" = "" - "creator_win-x86" = "https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" - "creator_win-x64" = "https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" + "Creator_linux-arm64" = "" + "Creator_linux-amd64" = "https://github.com/user-attachments/files/18285720/DiscImageCreator_20250101.tar.gz" + "Creator_macos-arm64" = "https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" + "Creator_macos-x64" = "https://github.com/user-attachments/files/18285727/DiscImageCreator_20250101.zip" + "Creator_win-arm64" = "" + "Creator_win-x86" = "https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" + "Creator_win-x64" = "https://github.com/user-attachments/files/18287520/DiscImageCreator_20250101.zip" # Redumper - "redumper_linux-arm64" = "" - "redumper_linux-amd64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Linux64.zip" - "redumper_macos-arm64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" - "redumper_macos-x64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" - "redumper_win-arm64" = "" - "redumper_win-x86" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows32.zip" - "redumper_win-x64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows64.zip" + "Redumper_linux-arm64" = "" + "Redumper_linux-amd64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Linux64.zip" + "Redumper_macos-arm64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" + "Redumper_macos-x64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Darwin64.zip" + "Redumper_win-arm64" = "" + "Redumper_win-x86" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows32.zip" + "Redumper_win-x64" = "https://github.com/superg/redumper/releases/download/build_549/redumper-2025.04.15_build549-Windows64.zip" } # Download and extract files @@ -111,6 +111,38 @@ function Download-Programs { Expand-Archive -LiteralPath -u $PREFIX_$RUNTIME.$EXT -DestinationPath "$BUILD_FOLDER/$PREFIX_$RUNTIME-dir" } } + + # Create UI directories and copy data + foreach ($FRAMEWORK in $UI_FRAMEWORKS) { + foreach ($RUNTIME in $UI_RUNTIMES) { + foreach ($PREFIX in $DL_PREFIXES) { + if ($INCLUDE_DEBUG.IsPresent) { + New-Item -Name "MPF.UI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX" -Type Directory -ErrorAction SilentlyContinue + Copy-Item -Path "$PREFIX/*" -Destination "MPF.UI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX/" -Recurse -Force + } + + New-Item -Name "MPF.UI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX" -Type Directory -ErrorAction SilentlyContinue + Copy-Item -Path "$PREFIX/*" -Destination "MPF.UI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX/" -Recurse -Force + + } + } + } + + # Create CLI directories and copy data + foreach ($FRAMEWORK in $CHECK_FRAMEWORKS) { + foreach ($RUNTIME in $CHECK_RUNTIMES) { + foreach ($PREFIX in $DL_PREFIXES) { + if ($INCLUDE_DEBUG.IsPresent) { + New-Item -Name "MPF.CLI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX" -Type Directory -ErrorAction SilentlyContinue + Copy-Item -Path "$PREFIX/*" -Destination "MPF.CLI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX/" -Recurse -Force + } + + New-Item -Name "MPF.CLI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX" -Type Directory -ErrorAction SilentlyContinue + Copy-Item -Path "$PREFIX/*" -Destination "MPF.CLI/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/Programs/$PREFIX/" -Recurse -Force + + } + } + } } # Only build if requested