Efficient build automation tool for lazy people :tongue:
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
, or Get-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.