Skip to content

lsgroi/Pask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pask

Task-oriented PowerShell build automation for .NET based on a set of conventions. It leverages Invoke-Build and it consists of a set of predefined tasks and the ability to create custom ones.

Build status NuGet version

Getting Started

Pask is shipped as NuGet package and it should be installed via NuGet Package Manager in Visual Studio 2015/2017.
To run a build, open a PowerShell session and execute the build runner:

PS C:\Path_to_your_solution> .\Pask.ps1

Check out the getting started guide.

What is Pask?

Pask is a modular task-oriented PowerShell build tool for .NET which relies on Invoke-Build DSL (domain specific language). It provides a set of predefined tasks and the ability to easily create custom ones.
On very simple projects, building and testing the software can be accomplished using the capabilities of your IDE (Integrated Development Environment). However, this is really only appropriate for the most trivial of tasks. Soon enough any project would demand more control and so it is vital to script building, testing and packaging activities.
Pask can target any .NET solution following some basic convention patterns and it can be used at any stage of a Deployment Pipeline allowing to define the pipelined job processes with code.

Why Pask?

Primarily to make the build process a first class citizen and treat it exactly as the code which is building. Pask introduces a set of conventions and predefined tasks which reduce the overhead of setting up a build pipeline for new projects. It allows to catch failed builds earlier by running the same process on a CI server as well as on a development machine. Pask is designed to be extended to reduce the amount of boilerplate code in your build scripts by creating extensions with single responsibility.

Resources

Pask is Copyright © 2017 Luca Sgroi under the Apache License.

Releases

No releases published

Packages

No packages published

Languages