diff --git a/BuildAndTest.cmd b/BuildAndTest.cmd index 1a296f00d..84d21bb46 100644 --- a/BuildAndTest.cmd +++ b/BuildAndTest.cmd @@ -37,7 +37,7 @@ echo public const string Version = AssemblyVersion + Prerelease; echo } >> %VERSION_CONSTANTS% echo } >> %VERSION_CONSTANTS% -::Restore packages +:: Restore packages echo Restoring packages... dotnet restore %~dp0src\BinSkim.sln /p:Configuration=%Configuration% --configfile "%NuGetConfigFile%" --packages "%NuGetPackageDir% @@ -45,40 +45,27 @@ dotnet restore %~dp0src\BinSkim.sln /p:Configuration=%Configuration% --configfil echo Building solution... dotnet build --no-restore /verbosity:minimal %~dp0src\BinSkim.sln /p:Configuration=%Configuration% /filelogger /fileloggerparameters:Verbosity=detailed || goto :ExitFailed -::Run unit tests -echo Run all multitargeting xunit tests -call :RunTestProject BinaryParsers Unit || goto :ExitFailed -call :RunTestProject BinSkim.Rules Unit || goto :ExitFailed -call :RunTestProject BinSkim.Driver Functional || goto :ExitFailed -call :RunTestProject BinSkim.Rules Functional || goto :ExitFailed +:: Run unit tests +echo Running tests... +dotnet test %~dp0src\BinSkim.sln /p:Configuration=%Configuration% --no-build -::Create the BinSkim platform specific publish packages -echo Creating Platform Specific BinSkim 'Publish' Packages -call :CreatePublishPackage netcoreapp3.1 win-x86 || goto :ExitFailed -call :CreatePublishPackage netcoreapp3.1 win-x64 || goto :ExitFailed -call :CreatePublishPackage netcoreapp3.1 linux-x64 || goto :ExitFailed +:: Create the BinSkim publish packages +echo Creating Platform 'Publish' Packages... +call :CreatePublishPackage netcoreapp3.1 || goto :ExitFailed -::Build NuGet package +:: Build NuGet package echo BuildPackages.cmd call BuildPackages.cmd || goto :ExitFailed -::Create layout directory of assemblies that need to be signed +:: Create layout directory of assemblies that need to be signed echo CreateLayoutDirectory.cmd %~dp0bld\bin %Configuration% %Platform% call CreateLayoutDirectory.cmd %~dp0bld\bin %Configuration% %Platform% goto :Exit -:RunTestProject -set TestProject=%1 -set TestType=%2 -pushd %~dp0src\Test.%TestType%Tests.%TestProject% && dotnet test --no-build -c %Configuration% && popd -if "%ERRORLEVEL%" NEQ "0" (echo %TestProject% %TestType% tests execution FAILED.) -Exit /B %ERRORLEVEL% - :CreatePublishPackage set Framework=%~1 -set RuntimeArg=%~2 -dotnet publish %~dp0src\BinSkim.Driver\BinSkim.Driver.csproj --no-restore -c %Configuration% -f %Framework% --runtime %RuntimeArg% +dotnet publish %~dp0src\BinSkim.Driver\BinSkim.Driver.csproj --no-restore -c %Configuration% -f %Framework% Exit /B %ERRORLEVEL% :ExitFailed diff --git a/BuildPackages.cmd b/BuildPackages.cmd index 9be4f9b21..c1da343fb 100644 --- a/BuildPackages.cmd +++ b/BuildPackages.cmd @@ -4,7 +4,7 @@ SETLOCAL call SetCurrentVersion.cmd -%~dp0.nuget\NuGet.exe pack %~dp0src\Nuget\BinSkim.nuspec -Symbols -Properties configuration=%Configuration%;version=%MAJOR%.%MINOR%.%PATCH%%PRERELEASE% -Verbosity Quiet -BasePath %~dp0 -OutputDirectory %~dp0bld\bin\Nuget || goto :ExitFailed +%~dp0.nuget\NuGet.exe pack %~dp0src\Nuget\BinSkim.nuspec -Properties configuration=%Configuration%;version=%MAJOR%.%MINOR%.%PATCH%%PRERELEASE% -Verbosity Quiet -BasePath %~dp0 -OutputDirectory %~dp0bld\bin\Nuget || goto :ExitFailed goto Exit diff --git a/CreateLayoutDirectory.cmd b/CreateLayoutDirectory.cmd index 90354fd11..a219e2830 100644 --- a/CreateLayoutDirectory.cmd +++ b/CreateLayoutDirectory.cmd @@ -23,9 +23,6 @@ set LayoutForSigningDirectory=%BinaryOutputDirectory%\..\LayoutForSigning call :CreateDirIfNotExist %LayoutForSigningDirectory% call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1 -call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\ -call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\ -call :CreateDirIfNotExist %LayoutForSigningDirectory%\netcoreapp3.1\linux-x64\ call :CopyExeForSigning BinSkim.exe || goto :ExitFailed call :CopyFilesForMultitargeting BinSkim.dll || goto :ExitFailed @@ -36,19 +33,13 @@ call :CopyFilesForMultitargeting BinSkim.Sdk.dll || goto :ExitFailed goto :Exit :CopyExeForSigning -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x86\%~n1.exe %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\ -if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit) -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x64\%~n1.exe %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\ +xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\%~n1.exe %LayoutForSigningDirectory%\netcoreapp3.1\ if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit) :ExeFilesExit Exit /B %ERRORLEVEL% :CopyFilesForMultitargeting -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x86\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\ -if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit) -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\ -if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit) -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\linux-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\linux-x64\ +xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\ if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit) :CopyFilesExit Exit /B %ERRORLEVEL% diff --git a/CreatePackagesFromLayoutDirectory.cmd b/CreatePackagesFromLayoutDirectory.cmd index 2135281f9..0106f8d6b 100644 --- a/CreatePackagesFromLayoutDirectory.cmd +++ b/CreatePackagesFromLayoutDirectory.cmd @@ -36,19 +36,13 @@ call BuildPackages.cmd %Configuration% %Platform% %NuGetOutputDirectory% %Versio goto :Exit :CopyExeForSigning -xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\%~n1.exe %BinaryOutputDirectory%\netcoreapp3.1\win-x86\ -if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit) -xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\%~n1.exe %BinaryOutputDirectory%\netcoreapp3.1\win-x64\ +xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\%~n1.exe %BinaryOutputDirectory%\netcoreapp3.1\ if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :ExeFilesExit) :ExeFilesExit Exit /B %ERRORLEVEL% :CopyFilesForMultitargeting -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x86\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x86\ -if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit) -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\win-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\win-x64\ -if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit) -xcopy /Y %BinaryOutputDirectory%\netcoreapp3.1\linux-x64\%~n1.dll %LayoutForSigningDirectory%\netcoreapp3.1\linux-x64\ +xcopy /Y %LayoutForSigningDirectory%\netcoreapp3.1\%~n1.dll %BinaryOutputDirectory%\netcoreapp3.1\ if "%ERRORLEVEL%" NEQ "0" (echo %1 assembly copy failed. && goto :CopyFilesExit) :CopyFilesExit Exit /B %ERRORLEVEL% diff --git a/src/BinSkim.Driver/BinSkim.Driver.csproj b/src/BinSkim.Driver/BinSkim.Driver.csproj index e5fa14673..f6949e406 100644 --- a/src/BinSkim.Driver/BinSkim.Driver.csproj +++ b/src/BinSkim.Driver/BinSkim.Driver.csproj @@ -9,19 +9,23 @@ True Exe - + app.manifest true Microsoft.CodeAnalysis.IL + MIT + git + https://github.com/Microsoft/binskim - + PreserveNewest + - + @@ -31,20 +35,20 @@ - + ..\..\refs\dia2lib.dll False - + - + True @@ -52,7 +56,7 @@ DriverResources.resx - + ResXFileCodeGenerator diff --git a/src/BinSkim.Driver/DotnetToolSettings.xml b/src/BinSkim.Driver/DotnetToolSettings.xml new file mode 100644 index 000000000..8e60d66a3 --- /dev/null +++ b/src/BinSkim.Driver/DotnetToolSettings.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/Nuget/BinSkim.nuspec b/src/Nuget/BinSkim.nuspec index 7c9d88a4b..997c70fd5 100644 --- a/src/Nuget/BinSkim.nuspec +++ b/src/Nuget/BinSkim.nuspec @@ -15,9 +15,12 @@ https://github.com/microsoft/binskim binary analysis binskim binscope security portable executable linkable format sdl devops devsecops https://go.microsoft.com/fwlink/?linkid=2008940 + + + - + diff --git a/src/ReleaseHistory.md b/src/ReleaseHistory.md index f3a003410..58521d6b8 100644 --- a/src/ReleaseHistory.md +++ b/src/ReleaseHistory.md @@ -1,9 +1,13 @@ # BinSkim Release History +## **Unreleased** + +* **BREAKING** Change from self-contained to dotnettool. [#306](https://github.com/microsoft/binskim/pull/306) + ## **v1.7.0** [NuGet Package](https://www.nuget.org/packages/Microsoft.CodeAnalysis.BinSkim/1.7.0) * **AUTOMATION BREAKING**: Update to .NET Core 3.1. Changes tool paths in NuGet package. * **FEATURE**: Add `--trace` argument to enable specialized trace of execution behavior, such as `PdbLoad`. -* Update SARIF version to 2.2.3 +* **FEATURE**: Update SARIF version to 2.3.8 * **BREAKING** Default output is sarif v2 ## **v1.6.1** [NuGet Package](https://www.nuget.org/packages/Microsoft.CodeAnalysis.BinSkim/1.6.1)