- Allow void entry point when calling
BuildRunner.Execute
: #69.
- Add
AppRunnerSettings.InputStream
to allow sending input to stdin: #68.
- Add
AppRunnerSettings.EnvironmentVariables
property: #67.
- Update vulnerable NuGet dependencies.
- Update NuGet dependencies to latest versions.
- Fix running
dotnet test
with extra properties. - Add
DotNetTestSettings.GetLogger
to support custom loggers. - Don't send
-maxcpucount
argument when callingdotnet test
with a dll.
- Send verbosity argument to
dotnet test
.
- Add
BuildApp.CommandLineParsed
to allow initialization based on arguments.
- Support
VersionOverride
withDotNetClassicTool.TryCreateFrom
.
- Don't delete
node_modules/**/bin
when cleaning.
- Add
Version
toDotNetLocalTool
.
- Never publish NuGet package with version
0.0.0
.
- Allow global JetBrains tool to be used. (
dotnet tool update --global jetbrains.resharper.globaltools
) - Drop support for
format
target. (Thedotnet-format
tool is no longer being updated. Just usedotnet format
directly.)
- Update dependencies to fix CVE-2023-29337.
- Support floating version numbers of NuGet packages in
DotNetClassic
projects insideBuild.csproj
.
- Add README to package.
- Clone docs into temp directory when branch is specified.
- Add
publish-nuget-output
trigger for use with thepublish
target.- Can be used to publish everything in
--nuget-output
without rebuilding packages. e.g.publish --skip package --trigger publish-nuget-output
.
- Can be used to publish everything in
- Always use
--skip-duplicates
when pushing to NuGet.
- Fix syntax error in verbosity parameter passed to
dotnet
.
- Remove netstandard2.x targets: #42.
- Faithlife.Build now only targets
net6.0
. - Docs are cloned from the repo for the local working copy if possible.
- Update Bullseye to 4.2.0.
- Push git tags using the GitHub API: #43.
- This requires the
GITHUB_API_URL
environment variable to be present and specify the base address of the GitHub API. - This environment variable is automatically supplied to GitHub Actions runners.
- This requires the
- Add
--parallel
and--verbose
flags: #40. - Update NuGet dependencies to address CVE-2022-41032.
- Use new
--build
option for InspectCode. - Update LibGit2Sharp.
- Improve exception message for LibGit2Sharp errors.
- Allow current directory to be a subdirectory of the git repository.
- Send
BuildNumber
property for all dotnet/msbuild commands.
- Make implicit usings transitive.
- Use
dotnet
if the full path can't be determined.
- Treat no tests as error.
- Add implicit usings for consumers.
- Support Visual Studio 2022 Build Tools.
- Support Visual Studio 2022.
- Support multiple target frameworks for
XmlDocGen
.
- Use standard temp path when cloning repositories to avoid path-too-long issues with
LibGit2Sharp
.
- Use latest
Bullseye
.
- Use latest
LibGit2Sharp
for issue with latest .NET 5 SDK.
- Support running multiple test projects in parallel.
- Avoid symlinks when recursively scanning cloned directory, in case of symlink cycle.
- Don't return from running an app before all output/error lines are read.
- Don't publish documentation until the NuGet package is published.
- Support capturing application output.
- Change application echo formatting.
- SimpleExec is no longer used.
- Support pushing git tag on successful publish of NuGet package.
- Extra properties aren't allowed when testing an assembly.
- Fix crash when running tests.
CopyFiles
andCopyFilesExcept
should overwrite existing files.
- Fail if entry point returns void.
- Expose
RunTests
extension method onDotNetBuildSettings
.
- Support
XmlDocGen
as .NET Framework app.
- Add
BuildNumber
toDotNetBuildSettings
. - Support build number environment variable used by Jenkins.
- Replace
FindTestAssemblies
withFindAssemblies
inDotNetTestSettings
. - Make
DotNetBuildSettings
helper methods extension methods.
- Suppress .NET build summary of warnings and errors. (Use
DotNetBuildSettings.ShowSummary
to restore it.) - Update
Bullseye
andMcMaster.Extensions.CommandLineUtils
.
- Don't generate documentation for prerelease packages.
- Don't unnecessarily 'clean' before 'package'.
- Add
DeleteDirectory
toBuildUtility
. - Add static methods to
DotNetBuild
to help with standard build options. - Improve exception handling during build script initialization.
- Fix bug when using
XmlDocGen
.
- Support async target actions.
- Support
DotNetClassicTool
for running tools directly from restored NuGet packages referenced inBuild.csproj
. - Obsolete
DotNetTools
. - Use
dotnet test
instead ofdotnet vstest
. - Support
FindAssemblies
withXmlDocGen
strategy. - Use latest libraries.
- Allow target
publish
to work ifpackage
is skipped.
- Support
--skip <targets>
.
- Fix bug when calling
DotNetLocalTool.Any
.
- Fix bug when looking for
dotnet-tools.json
.
- Support
XmlDocGen
for generating docs. - Refuse to auto-publish NuGet package with version
0.0.0
. - Use shorter temp path for NuGet packages.
- Write actual NuGet package path to console.
- Add and use
DotNetLocalTool.(Try)Create(From)
andAny(From)
. - Add
IsFrameworkApp
andUseCmdOnWindows
toAppRunnerSettings
. ObsoleteRunDotNetFrameworkApp
andRunCmd
. - Use configuration and platform when running JetBrains.
- Default to minimal verbosity.
- The
publish
target publishes packages and documentation if no--trigger
is specified. - The
restore
target restores local .NET tools viadotnet tool restore
. - Use locally installed
xmldocmd
to publish documentation. - Detect current git branch from
GITHUB_REF
in addition toAPPVEYOR_REPO_BRANCH
. - Get build number from
APPVEYOR_BUILD_NUMBER
orGITHUB_RUN_NUMBER
. - Improve exit code exception.
- Clean all
tools
projects but keeptools/bin
. - Support
--verbosity
command-line option. - Add target
format
ifdotnet-format
is installed locally. - Add targets
cleanup
andinspect
ifJetBrains.ReSharper.GlobalTools
is installed locally. - Don't show callstack for
InvalidUsageException
.
- Don't show call stack for
BuildException
.
- Add
DotNetBuildSettings.Verbosity
.
- Skip duplicate NuGet packages when using
--trigger publish-all
.
- Support
--dry-run
and--show-tree
.
- Fix NuGet.CommandLine version path.
- Add
MSBuildSettings.MSBuildPath
.
- Catch command-line exception at the proper location.
- Use embedded debugging symbols.
- Show build target summary.
- Upgrade Bullseye and other dependencies.
- Add method for copying all files that don't match the provided globbing patterns.
- Support
--skip-dependencies
(-s
).
AppRunner.RunCmd
usescmd /c
on Windows.
- Stop setting the working directory to the grandparent of the script directory. The working directory is now left as-is. Bootstrapper scripts should set the current directory if desired. (Removing this feature makes build scripts more flexible. It also prevents the build from running in the wrong directory if the script is moved with its compiled output.)
- Support finding existing flags and options.
- Allow clearing actions on a BuildTarget.
- Clean
XmlDocTarget
.
- Try to determine branch for publishing documentation.
- Allow extra information after publish triggers.
- Don't push packages already pushed when detecting triggers via tags.
- Drop support for
sourcelink test
. Too many bugs and not actively developed.
- Support C# 8 nullable references.
- Support .NET local tools.
- Fix Visual Studio 2019 path.
- Update
xmldocmd
. - Improve clarity of publish instruction.
- Retry deleting directory.
- Ensure directory exists before deleting it, in case its ancestor directory was already deleted.
- Support
DotNetDocsSettings.ProjectHasDocs
.
- Update
xmldocmd
.
- Run nuget.exe in non-interactive mode.
- Allow customization of how tests are run.
- Use new
DotNetTools.GetClassicToolPath
instead of now-obsoletePackagedTools
.
- Support customizing directories to delete when cleaning.
- Support finding projects to test and/or package.
- Trigger detection should support
publish-
tags. - Update
xmldocmd
. - Support
DotNetDocsSettings.FindAssemblies
.
- Use SimpleExec again.
- Don't clean
release
andtools/bin
. - Add
--no-test
flag for skipping unit tests. - Support
--trigger=detect
for build systems that can't trigger builds on new tags.
- Drop support for
packagediff
for now. (Too buggy.) package
target depends onclean
for simpler package detection.- Support SourceLink authentication, moving settings into
SourceLinkSettings
. Now disabled by default.
- Add
DotNetBuildProperties.ExtraProperties
. - Delete package if it already exists.
- Delete files before running
dotnet clean
.
- Don't use the "pager" for help.
dotnet push
doesn't support-maxcpucount
.
dotnet restore
needs platform to work correctly.
- Support
DotNetBuildSettings.MaxCpuCount
. - Run
dotnet clean
or equivalent when cleaning solution.
- Upgrade
sourcelink
.
- Don't fail build if packagediff crashes.
- Don't fail build on bad package version until publishing.
- Support setting the automated build number.
- Return exit code from app runners.
- Use
packagediff
to check semantic versioning.
- Support setting the working directory when running apps.
- Run
dotnet vstest
from the output directory (for Mac).
- Support finding test assemblies explicitly.
- Support cloning the settings.
- Restore packages using the correct configuration and platform when using MSBuild.
- Support specifying solution platform (via setting and/or command-line option).
- MSBuild is not a .NET Framework app.
- Try to find MSBuild on macOS and Linux.
- Wrap MSBuildVersion and MSBuildPlatform into MSBuildSettings.
- Support
XmlDocTarget
for documentation generation. - Support building with MSBuild.
- Support additional publish triggers for .NET builds.
- Support
--no-color
option.
- Support custom sources for
DotNetTools
.
- Restore doesn't support configuration.
- Update XmlDocMarkdown.
- Add restore target to DotNetBuild.
- Add
FindFilesFrom
andFindDirectoriesFrom
toBuildUtility
. - Globs should use case-insensitive matching.
- Don't return the same found file/directory twice.
BuildUtility.CopyFiles
uses globs to copy files.- Run MSBuild via
MSBuildRunner
. - Support running tools from NuGet packages via
PackagedTools
. - Support
IEnumerable<string> args
. - Handle
InvalidUsageException
.
- Don't document default target unless it has a description.
- Add
DotNetBuildSettings.ProjectUsesSourceLink
. - Update XmlDocMarkdown.
- Make private method public.
- Use
DotNetBuildOptions
to access and/or override build options. - Automatically run any target named
default
. - Return existing target; allow multiple actions per target.
- Don't crash if a packaged project doesn't output a DLL.
- Support
update-docs
publish trigger for .NET builds. - Add
BuildEnvironment
and .NET Framework app support.
- Support publishing multiple NuGet packages.
- Catch exceptions from Bullseye.
- Support
--nuget-output
with .NET builds. - Use the
xmldocmd
.NET Core Global Tool to generate documentation. - Use fixed but customizable versions of .NET Core Global Tools for stable builds.
- Use
DotNetTools
to run .NET Core tools. - Change settings for documentation generation.
- Generate documentation in
docs
folder instead ofgh_pages
branch.
- Upgrade dependencies (especially Glob, which now targets
netstandard2.0
).
- Initial release.