A Powershell module that can be used in our build scripts.
Install-Package RedGate.Build -Version 4.6.222
dotnet add package RedGate.Build --version 4.6.222
<PackageReference Include="RedGate.Build" Version="4.6.222" />
paket add RedGate.Build --version 4.6.222
- Added capability to Invoke-NUnit3ForAssembly to run profiling, using RedGate.TestProfiling and dotTrace.
To use this, reference RedGate.TestProfiling in your test project, and add the [Profile] attribute to each test method you want to profile.
In your build script, add -EnableTestProfiling $true -TraceFilesPath "your output directory" to your call to Invoke-NUnit3ForAssembly.
Note that this is incomatible with code coverage - you can only specify one of -EnableCodeCoverage and -EnableTestProfiling.
- Added Invoke-CleanupCode to run code cleanup for the solution.
- Updated Update-NuspecDependenciesVersions.ps1 to use an exact version for Microsoft.Data.SqlClient.SNI
- Fixed issue that caused New-TempDir.ps1 to return prefix garbage when running in a parallel build (Build-Parallel.ps1). This was causing Invoke-DotCoverForExecutable.ps1 to fail to execute.
- Updated Update-NuspecDependenciesVersions.ps1 to use an exact version for Microsoft.Data.SqlClient
- Fixed issued that caused Invoke-DotCoverForExecutable.ps1 to fail if either its target executable or output file lived in a folder containing spaces.
- Bumped version of nuget.exe used to ver. 5
- Bumped version of Invoke-Build used to ver. 5
- Added -RequireRebase option to Merge-PullRequest
- Added initial support for using RedGate.Build on Linux.
- Fixed Update-NuspecDependenciesVersions.Tests to use an exact version for RedGate.Shared.SQL and System.Data.SQLite.Core.
- Added cmdlets to generate an ApiPort .NET Standard compatibility report.
- Added check to prevent update script from throwing when there are no Redgate packages to update in the old-style .csproj.
- Add commandlets to get licensed for open-source dependencies: Invoke-GetLicensesForNodeModules.ps1 and Invoke-GetLicensesForNuGetPackages.ps1.
- Change the way we execute dotcover in Invoke-DotCoverForExecutable.ps1 so that we handle whitespace in nunit arguments (e.g. --where="cat != SomeCategory").
- Added -WorkerCount parameter to Invoke-NUnit3ForAssembly, to enable you to specify how many worker threads are used for parallelizable tests.
- Fixed a bug in Invoke-DotCoverForExecutable.ps1 whereby we weren't correctly escaping the arguments to the covered executable.
- Fixed a bug in Get-NUnit3ConsoleExePath.ps1 whereby NUnit version 3.10.x was being treated that same as 3.1.
- Changed Invoke-NUnit3ForAssembly to always output using UTF-8.
- Updated 7-Zip from 9.20 to 18.1, and tweaked parameters to improve 7z compression size and speed.
- Added Test-AuthenticodeSignature for determining whether or not a file is signed.
- Added Set-TempDirPath, which can used to change the default location of temporary folders used by the RedGate.Build module.
- Added support for additional project properties in Update-ProjectProperties, and improved handling of unsupported project file formats.
- Removed Get-NugetPackagesFromProject and Select-PackagesMissingFromProjectsPackagesConfig, which were not used by consumers.
- Added Get-NugetPackagesFromProjects cmdlet that works in the same way as Get-NugetPackagesFromConfigFiles, but for 2017-style Visual Studio projects instead of packages.config files.
- Added -ProjectFilePaths parameter to Update-NuspecDependenciesVersions, which can be used instead of -PackagesConfigPaths if you are using 2017-style Visual Studio projects (and hence not using packages.config).
- Rewrite-AssemblyInfos now takes an -AssemblyVersionMajorOnly switch, which sets AssemblyVersion to be "MAJOR.0.0.0", where MAJOR is the major version of the project. AssemblyFileVersion is still always set to the full version of the project.
- Rewrite-AssemblyInfos now writes out AssemblyInformationalVersion attribute, and takes an -InfoVersionSuffix parameter that adds a suffix to it.
- Invoke-NUnit3ForAssembly now accepts the optional -Timeout parameter, which sets NUnit's --timeout option, setting a timeout for each test case in milliseconds.
- Rewrite-AssemblyInfos now preserves AssemblyTitle and CLSCompliant.
- New Rewrite-AssemblyInfos cmdlet that normalizes AssemblyInfo.cs files in a standardized way.
- Invoke-NUnit3ForAssembly now accepts the optional -ProcessIsolation parameter, which sets NUnit's --process option.
- Invoke-NUnitForAssembly and Invoke-NUnit3ForAssembly, when run with code coverage enabled, by default only cover the NUnit process itself, any not any subprocesses. This can be overridden using the -DotCoverProcessFilters parameter.
- -DotNotImportResultsToTeamcity has been renamed to -DoNotImportResultsToTeamcity (removing the extra t).
- Fixed issues where certain cmdlets where not working for pipelines.
- Update-NuspecDependenciesVersions now accepts the -SpecificVersions switch. Using the switch will use a specific version rather than a range for dependencies with three-part version numbers.
- Invoke-NUnit3ForAssembly and Invoke-DotCoverForExecutable now accept the optional -TargetWorkingDirectory parameter to specify the working directory for the tests to run in.
- Remove-IgnoredTests now supports the NUnit 3 results xml format and uses an xslt transform to perform the removal.
- New Update-ProjectProperties cmdlet that can be used to set various properties of a C# project file, such as Version, AssemblyVersion, FileVersion and PackageReleaseNotes. This provides an alternative to Update-AssemblyVersion as we progressively move away from using AssemblyInfo.cs files for project properties.
- Select-ReleaseNotes now preserves whitespace.
- Invoke-SigningService will now accept a NuGet package. The NuGet package is not directly signed itself. Instead, it is unpacked to a temporary folder, all the assembly dlls in the 'lib' sub-folder are signed by the signing service, and then the NuGet package is reassembled.
- Invoke-NUnitForAssembly and Invoke-NUnit3ForAssembly can now import test results in both Teamcity and VSTS [#79](https://github.com/red-gate/RedGate.Build/pull/79)
- Add support for Powershell files to Invoke-SigningService [#77](https://github.com/red-gate/RedGate.Build/pull/77)
- Add new helper functions to write integration messages to CI servers other than Teamcity [#74](https://github.com/red-gate/RedGate.Build/pull/74), [#78](https://github.com/red-gate/RedGate.Build/pull/78)
- Write-VSTSBuildNumber (alias: VSTS-BuildNumber)
- Write-VSTSImportNUnitReport (alias: VSTS-ImportNUnitReport)
- Write-VSTSLoggingCommand (alias: VSTS-LoggingCommand)
- Generic. (Will call the Teamcity or VSTS functions when Teamcity or VSTS is detected)
- Write-CIBuildNumber (alias CI-BuildNumber)
- Write-CIPublishArtifact (alias: CI-PublishArtifact)
- First version with release notes [#76](https://github.com/red-gate/RedGate.Build/pull/76)
This package has no dependencies.
This package is not used by any popular GitHub repositories.