Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork61
Build Automation in PowerShell
License
nightroman/Invoke-Build
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Invoke-Build is a build and test automation tool which invokes tasks defined inPowerShell v3.0+ scripts. It is similar to psake but arguably easier to use andmore powerful. It is complete, bug free, well covered by tests.
In addition to basic task processing the engine supports
- Incremental tasks with effectively processed inputs and outputs.
- Persistent builds which can be resumed after interruptions.
- Parallel builds in separate workspaces with common stats.
- Batch invocation of tests composed as tasks.
- Ability to define new classes of tasks.
Invoke-Build v3.0.1+ is cross-platform with PowerShell Core.
Invoke-Build can be effectively used in VSCode and ISE.
SeveralPowerShell Team projects use Invoke-Build.
The package includes the engine, helpers, and help:
- Invoke-Build.ps1 - invokes build scripts, this is the build engine
- Build-Checkpoint.ps1 - invokes persistent builds using the engine
- Build-Parallel.ps1 - invokes parallel builds using the engine
- Resolve-MSBuild.ps1 - finds the specified or latest MSBuild
- Show-TaskHelp.ps1 - shows task help, used on WhatIf calls
about_InvokeBuild.help.txt- module help fileHelp.xml- content for Get-Help
Extra scripts, see PSGallery and the repository:
- Invoke-Build.ArgumentCompleters - completers for v5 native, TabExpansion2.ps1
- Invoke-TaskFromVSCode - invokes a task from a build script opened in VSCode
- Show-BuildGraph - shows task graph by Graphviz Viz.js or dot
- New-VSCodeTask - generates VSCode tasks bound to build script tasks
- Invoke-TaskFromISE - invokes a task from a script opened in ISE
And some more tools, see the repository:
- ib.cmd,ib.sh - cmd and bash helpers
- Build-JustTask.ps1 - invokes tasks without references
- Convert-psake.ps1 - converts psake build scripts
- Show-BuildTree.ps1 - shows task trees as text
- Show-BuildDgml.ps1 - shows task graph as DGML
- Show-BuildMermaid.ps1 - shows task graph by Mermaid
Invoke-Build is published as PSGallery moduleInvokeBuild.You can install it by one of these commands:
Install-Module InvokeBuildTo install the module with Chocolatey, run the following command:
choco install invoke-buildNOTE: The Chocolatey package is maintained by its owner.
Invoke-Build is also published asnuget.org/packages/Invoke-Build.
If you usescoop then invoke:
scoop install invoke-buildand you are done, scripts are downloaded and their directory is added to thepath. You may need to start a new PowerShell session with the updated path.
Otherwise, download the package manually, rename it to zip, extract itstoolsand rename toInvokeBuild. Consider including this directory to the path forinvoking scripts by names. Or copy to any PowerShell module directory in orderto use it as module.
nuget.org/packages/ib provides Invoke-Buildas the dotnet toolib which may be installed as global or local.
To install the global tool:
dotnet tool install --global ibTo install the local tool:
dotnet new tool-manifest # once on setting up a repo with toolsdotnet tool install --local ibSeeib/README for more details aboutib commands.
If you use the module (known issue#2899) or the script is not in the path,use the full pathhelp .../Invoke-Build.ps1 instead ofhelp Invoke-Build.
In order to get help for the engine, invoke:
help Invoke-Build -fullIn order to get help for internal commands:
. Invoke-Buildhelp task -fullhelp exec -full...See also onlineInvoke-Build Help
- Basic Concepts Why build scripts may have advantages over normal scripts.
- Script Tutorial Take a look in order to get familiar with build scripts.
- Step by Step Tutorial From "Hello world" to featured scripts.
- Invoke-Build.template Create scripts by
dotnet new ib. - Examples Build scripts used in various projects.
- Tasks Samples, patterns, and various techniques.
- Design Notes Technical details for contributors.
- Invoke-Build Docs Full documentation.
- Invoke-Build Help Commands help.
- Release Notes
Questions, suggestions, and reports are welcome atdiscussions andissues.
- The project was inspired bypsake,seeComparison with psake
- Some concepts came fromMSBuild,seeComparison with MSBuild
About
Build Automation in PowerShell
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors11
Uh oh!
There was an error while loading.Please reload this page.
