A general purpose build tool coordination system that runs in PowerShell.
You can use Builder to handle any compilation toolchain. If your build process can be expressed as a list of interdepending steps, you can write it as a builder script.
Builder uses a simple DSL makes it easier to express dependencies between tasks. Here is an example to show what I mean:
task default -depends finish
task finish -depends foo, bar {
Write-Host 'My work here is done!'
}
task foo -depends bar {
Write-Host 'I am foo'
}
task bar {
Write-Host 'I am bar'
}
Output will look like this:
I am bar
I am foo
My work here is done!
Now that feels a lot more specialized (read shorter) than working in bash, right? It is so dead simple that you can write your own build scripts in minutes.
The best option (if you are on Windows 10 or similar) is to use the 'Install-Package' command from PowerShell.
-
Install-Package Builder
-
ipmo Builder
-
Get-Help about_Builder
, orGet-Command -Module Builder
. -
YOUR WORK HERE IS DONE.
If that doesn't work for you, try installing it manually.
-
Download the latest release from here. You can click here for all available releases.
-
Copy the 'Builder' folder in archive to Documents\WindowsPowerShell\Modules. So you get 'Documents\WindowsPowerShell\Modules\Builder\Builder.psd1', ...
-
Make sure your PowerShell policy allows running scripts (in an escalated terminal, type in:
Set-ExecutionPolicy Unrestricted
). -
The above steps can be automated:
wget https://get.lizoc.com/builder.zip -OutFile $env:TEMP\builder.zip
Expand-Archive $env:TEMP\builder.zip $env:PSModulePath.Split(';')[0]
del $env:TEMP\builder.zip
ipmo Builder
Examples and unit tests are in a separate package:
Install-Package Builder.Tests
-or-
wget https://get.lizoc.com/builder.tests.zip -OutFile $env:TEMP\builder.tests.zip
Expand-Archive $env:TEMP\builder.tests.zip $env:PSModulePath.Split(';')[0]
You can find all the information about each release of Builder in the releases section.
Anyone can fork the main repository and submit patches. If you have found a bug, visit the issues list.
The Builder project is released under the MIT license.
This project is a hard fork of psake (release version 4.5.0) in 2015. While we really liked psake, it is specifically designed for building .NET projects, and not directly applicable to lots of our needs.
Builder has been developed independently of psake since the original hard fork. There is currently no plan on submitting any pull request to the psake project authors.
See the third party license for all third party licensing information.