diff --git a/CHANGELIST.md b/CHANGELIST.md index 606aa5c9..bb38149b 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -56,6 +56,7 @@ - Update protection tool tests - Remove unnecessary namespace prefixes - Clean up original Drive tests +- Add debug flag to publish scripts ### 3.2.4 (2024-11-24) diff --git a/publish-nix.sh b/publish-nix.sh index e8160871..c9326850 100755 --- a/publish-nix.sh +++ b/publish-nix.sh @@ -12,14 +12,18 @@ # Optional parameters USE_ALL=false +INCLUDE_DEBUG=false INCLUDE_PROGRAMS=false NO_BUILD=false NO_ARCHIVE=false -while getopts "upba" OPTION; do +while getopts "udpba" OPTION; do case $OPTION in u) USE_ALL=true ;; + d) + INCLUDE_DEBUG=true + ;; p) INCLUDE_PROGRAMS=true ;; @@ -45,6 +49,7 @@ COMMIT=$(git log --pretty=%H -1) # Output the selected options echo "Selected Options:" echo " Use all frameworks (-u) $USE_ALL" +echo " Include debug builds (-d) $INCLUDE_DEBUG" echo " Include programs (-p) $INCLUDE_PROGRAMS" echo " No build (-b) $NO_BUILD" echo " No archive (-a) $NO_ARCHIVE" @@ -102,14 +107,14 @@ if [ $NO_BUILD = false ]; then # Only .NET 5 and above can publish to a single file if [[ $(echo ${SINGLE_FILE_CAPABLE[@]} | fgrep -w $FRAMEWORK) ]]; then - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then dotnet publish MPF.UI/MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true fi dotnet publish MPF.UI/MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false else - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then dotnet publish MPF.UI/MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT fi dotnet publish MPF.UI/MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false @@ -141,14 +146,14 @@ if [ $NO_BUILD = false ]; then # Only .NET 5 and above can publish to a single file if [[ $(echo ${SINGLE_FILE_CAPABLE[@]} | fgrep -w $FRAMEWORK) ]]; then - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then dotnet publish MPF.CLI/MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true fi dotnet publish MPF.CLI/MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false else - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then dotnet publish MPF.CLI/MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT fi dotnet publish MPF.CLI/MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false @@ -180,14 +185,14 @@ if [ $NO_BUILD = false ]; then # Only .NET 5 and above can publish to a single file if [[ $(echo ${SINGLE_FILE_CAPABLE[@]} | fgrep -w $FRAMEWORK) ]]; then - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true fi dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false else - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT fi dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false @@ -220,8 +225,8 @@ if [ $NO_ARCHIVE = false ]; then fi fi - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then cd $BUILD_FOLDER/MPF.UI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/ if [ $INCLUDE_PROGRAMS = true ]; then zip -r $BUILD_FOLDER/MPF.UI_${FRAMEWORK}_${RUNTIME}_debug.zip . @@ -260,8 +265,8 @@ if [ $NO_ARCHIVE = false ]; then fi fi - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then cd $BUILD_FOLDER/MPF.CLI/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/ zip -r $BUILD_FOLDER/MPF.CLI_${FRAMEWORK}_${RUNTIME}_debug.zip . fi @@ -292,8 +297,8 @@ if [ $NO_ARCHIVE = false ]; then fi fi - # Only include Debug if building all - if [ $USE_ALL = true ]; then + # Only include Debug if set + if [ $INCLUDE_DEBUG = true ]; then cd $BUILD_FOLDER/MPF.Check/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/ zip -r $BUILD_FOLDER/MPF.Check_${FRAMEWORK}_${RUNTIME}_debug.zip . fi diff --git a/publish-win.ps1 b/publish-win.ps1 index 34384f15..f84ecbb3 100644 --- a/publish-win.ps1 +++ b/publish-win.ps1 @@ -14,6 +14,10 @@ param( [Alias("UseAll")] [switch]$USE_ALL, + [Parameter(Mandatory = $false)] + [Alias("IncludeDebug")] + [switch]$INCLUDE_DEBUG, + [Parameter(Mandatory = $false)] [Alias("IncludePrograms")] [switch]$INCLUDE_PROGRAMS, @@ -36,6 +40,7 @@ $COMMIT = git log --pretty=format:"%H" -1 # Output the selected options Write-Host "Selected Options:" Write-Host " Use all frameworks (-UseAll) $USE_ALL" +Write-Host " Include debug builds (-IncludeDebug) $INCLUDE_DEBUG" Write-Host " Include programs (-IncludePrograms) $INCLUDE_PROGRAMS" Write-Host " No build (-NoBuild) $NO_BUILD" Write-Host " No archive (-NoArchive) $NO_ARCHIVE" @@ -89,15 +94,15 @@ if (!$NO_BUILD.IsPresent) { # Only .NET 5 and above can publish to a single file if ($SINGLE_FILE_CAPABLE -contains $FRAMEWORK) { - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { dotnet publish MPF.UI\MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true } dotnet publish MPF.UI\MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false } else { - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { dotnet publish MPF.UI\MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT } dotnet publish MPF.UI\MPF.UI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false @@ -125,15 +130,15 @@ if (!$NO_BUILD.IsPresent) { # Only .NET 5 and above can publish to a single file if ($SINGLE_FILE_CAPABLE -contains $FRAMEWORK) { - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { dotnet publish MPF.CLI\MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true } dotnet publish MPF.CLI\MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false } else { - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { dotnet publish MPF.CLI\MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT } dotnet publish MPF.CLI\MPF.CLI.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false @@ -161,15 +166,15 @@ if (!$NO_BUILD.IsPresent) { # Only .NET 5 and above can publish to a single file if ($SINGLE_FILE_CAPABLE -contains $FRAMEWORK) { - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { dotnet publish MPF.Check\MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true } dotnet publish MPF.Check\MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false } else { - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { dotnet publish MPF.Check\MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT } dotnet publish MPF.Check\MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false @@ -198,8 +203,8 @@ if (!$NO_ARCHIVE.IsPresent) { continue } - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { Set-Location -Path $BUILD_FOLDER\MPF.UI\bin\Debug\${FRAMEWORK}\${RUNTIME}\publish\ if ($INCLUDE_PROGRAMS.IsPresent) { 7z a -tzip $BUILD_FOLDER\MPF.UI_${FRAMEWORK}_${RUNTIME}_debug.zip * @@ -237,8 +242,8 @@ if (!$NO_ARCHIVE.IsPresent) { continue } - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { Set-Location -Path $BUILD_FOLDER\MPF.CLI\bin\Debug\${FRAMEWORK}\${RUNTIME}\publish\ 7z a -tzip $BUILD_FOLDER\MPF.CLI_${FRAMEWORK}_${RUNTIME}_debug.zip * } @@ -265,8 +270,8 @@ if (!$NO_ARCHIVE.IsPresent) { continue } - # Only include Debug if building all - if ($USE_ALL.IsPresent) { + # Only include Debug if set + if ($INCLUDE_DEBUG.IsPresent) { Set-Location -Path $BUILD_FOLDER\MPF.Check\bin\Debug\${FRAMEWORK}\${RUNTIME}\publish\ 7z a -tzip $BUILD_FOLDER\MPF.Check_${FRAMEWORK}_${RUNTIME}_debug.zip * }