Deprecated
(job TaskName -Safe)
. Instead, use ?TaskName
. #105.use VisualStudio
: not used much or at all, not working for VS 2017.?TaskName
instead of deprecated (job TaskName -Safe)
.?TaskName
in the parameter -Task
of Invoke-Build
.If
, add it to the list of invoked tasks.Build-Checkpoint
should fail if not supported WhatIf
is specified.
use VisualStudio
.New command Build-Checkpoint
replaces Invoke-Build -Checkpoint
. If you use persistent builds then change the command and parameters, see #101.
New command Build-Parallel
replaces Invoke-Builds
(mind "s"). If you use parallel builds then simply rename the command, see #100.
Normalize, test, and make $BuildRoot
constant after loading tasks (#95).
Invoke-Builds (parallel builds)
FailHard
, it tells to abort builds if any build fails.Package the module files together with scripts. As a result, the script package may be used as the module, too. This change does not affect the module package.
Retire Get-BuildVersion
. Use (Get-Module InvokeBuild).Version
instead. In theory, this change is breaking but it seems the function was not used. The standard module version is used from now on.
Fix resuming of persistent builds after failures in task -If
(#90).
Support version suffix x86 in use
and Resolve-MSBuild
(#85).
Resolve MSBuild 15 to ../amd64/MSBuild.exe on x64 (#84).
Warn about always skipped double references (#82).
Task
in the collected errors.Support script block as File
(#78).
Improved product selection logic in Resolve-MSBuild
(#77). If you use the module VSSetup
make sure it is not too old. It should support -Product *
.
property
limitations (#75).&
in exec
, it looks safer.Set-BuildHeader
for writing custom task headers.Get-BuildSynopsis
, e.g. for Set-BuildHeader
.See repo/Tasks/Header for examples of Set-BuildHeader
and Get-BuildSynopsis
.
New command requires
, the alias of Test-BuildAsset
(#73).
Rework engine variables to reduce noise on debugging (#72).
Fix incremental tasks on Mono (#69).
Improve errors on tasks check failures (#67).
Retire obsolete events defined as functions, see #66.
Use less cryptic names for internal functions (#63).
Adjust property
behaviour to PowerShell and MSBuild (#60):
Resolve-MSBuild
supports the BuildTools installation (#57).
Improve info on typical mistakes:
Improve errors on invalid script syntax (#56).
New Resolve-MSBuild.ps1 for finding MSBuild 2.0-15.0, specified or the latest. It may be used directly. Build scripts use it via the alias Resolve-MSBuild
. NuGet and PSGallery packages include this script.
The old way use <version> MSBuild
is supported and works with all versions. But the new script is used internally, Invoke-Build.ps1 alone is not enough.
Fix #54, exec
should use $global:LastExitCode
.
Use exit /B
in ib.cmd (#52).
Module help tweaks.
use
: The conventional path VisualStudio\<version>
is resolved via the registry to the Visual Studio tools directory (devenv
, mstest
, tf
).
Event blocks instead of functions, see #36.
Use exit 0
on success (#34).
Invoke-Build is cross-platform with PowerShell v6.0.0-alpha.
Build script parameters are specified as Invoke-Build dynamic parameters. The parameter Parameters
was removed. This change is breaking in some cases, see #29.
Avoided cryptic errors on invoking scripts with invalid syntax and on resuming builds with an invalid checkpoint file.
Previous release notes: V2 Release Notes