From 4586d49a3f5a6333afb08ffa5b8eab473460a6ea Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 20 Feb 2024 21:45:18 -0500 Subject: [PATCH] Use DLL filtering in publish scripts --- publish-nix.sh | 21 ++++++++++++++------- publish-win.ps1 | 20 +++++++++++++++++--- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/publish-nix.sh b/publish-nix.sh index b2056270..73d4f882 100644 --- a/publish-nix.sh +++ b/publish-nix.sh @@ -93,20 +93,27 @@ then for FRAMEWORK in "${FRAMEWORKS[@]}" do # If we have an invalid combination of framework and runtime - if [[ ! $(echo ${VALID_CROSS_PLATFORM_FRAMEWORKS[@]} | fgrep -w $FRAMEWORK) ]] + if [ ! $(echo ${VALID_CROSS_PLATFORM_FRAMEWORKS[@]} | fgrep -w $FRAMEWORK) ] && [ $(echo ${VALID_CROSS_PLATFORM_RUNTIMES[@]} | fgrep -w $RUNTIME) ] then - if [[ $(echo ${VALID_CROSS_PLATFORM_RUNTIMES[@]} | fgrep -w $RUNTIME) ]] - then - continue - fi + continue fi for RUNTIME in "${RUNTIMES[@]}" do cd $BUILD_FOLDER/Test/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/ - zip -r $BUILD_FOLDER/BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_debug.zip . + if [ $(echo ${NON_DLL_FRAMEWORKS[@]} | fgrep -w $FRAMEWORK) ] && [ $(echo ${NON_DLL_RUNTIMES[@]} | fgrep -w $RUNTIME) ] + then + zip -r $BUILD_FOLDER/BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_debug.zip . -x '*.dll' + else + zip -r $BUILD_FOLDER/BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_debug.zip . + fi cd $BUILD_FOLDER/Test/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/ - zip -r $BUILD_FOLDER/BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_release.zip . + if [ $(echo ${NON_DLL_FRAMEWORKS[@]} | fgrep -w $FRAMEWORK) ] && [ $(echo ${NON_DLL_RUNTIMES[@]} | fgrep -w $RUNTIME) ] + then + zip -r $BUILD_FOLDER/BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_release.zip . -x '*.dll' + else + zip -r $BUILD_FOLDER/BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_release.zip . + fi done done diff --git a/publish-win.ps1 b/publish-win.ps1 index b42f16eb..589482bf 100644 --- a/publish-win.ps1 +++ b/publish-win.ps1 @@ -44,7 +44,7 @@ if ($USE_ALL.IsPresent) $SINGLE_FILE_CAPABLE = @('net5.0', 'net6.0', 'net7.0', 'net8.0') $VALID_CROSS_PLATFORM_FRAMEWORKS = @('netcoreapp3.1', 'net5.0', 'net6.0', 'net7.0', 'net8.0') $VALID_CROSS_PLATFORM_RUNTIMES = @('win-arm64', 'linux-x64', 'linux-arm64', 'osx-x64') -$NON_DLL_FRAMEWORKS @('net20', 'net35', 'net40') +$NON_DLL_FRAMEWORKS = @('net20', 'net35', 'net40') $NON_DLL_RUNTIMES = @('win-x64', 'win-arm64', 'linux-x64', 'linux-arm64', 'osx-x64') # Only build if requested @@ -92,9 +92,23 @@ if (!$NO_ARCHIVE.IsPresent) } Set-Location -Path $BUILD_FOLDER\Test\bin\Debug\${FRAMEWORK}\${RUNTIME}\publish\ - 7z a -tzip $BUILD_FOLDER\BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_debug.zip * + if ($VALID_CROSS_PLATFORM_FRAMEWORKS -contains $FRAMEWORK -and $NON_DLL_RUNTIMES -contains $RUNTIME) + { + 7z a -tzip -x!*.dll $BUILD_FOLDER\BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_debug.zip * + } + else + { + 7z a -tzip $BUILD_FOLDER\BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_debug.zip * + } Set-Location -Path $BUILD_FOLDER\Test\bin\Release\${FRAMEWORK}\${RUNTIME}\publish\ - 7z a -tzip $BUILD_FOLDER\BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_release.zip * + if ($VALID_CROSS_PLATFORM_FRAMEWORKS -contains $FRAMEWORK -and $NON_DLL_RUNTIMES -contains $RUNTIME) + { + 7z a -tzip -x!*.dll $BUILD_FOLDER\BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_release.zip * + } + else + { + 7z a -tzip $BUILD_FOLDER\BinaryObjectScanner_${FRAMEWORK}_${RUNTIME}_release.zip * + } } }