en-US/about_Whiskey_Tasks.help.txt

TOPIC
    about_Whiskey_Tasks
 
SHORT DESCRIPTION
    This topic lists all Whiskey tasks and the global task properties
    (i.e. properties available on every task).
 
LONG DESCRIPTION
 
    ## Tasks
 
    Whiskey has the following tasks:
 
    * `CopyFile`: copies files.
    * `Delete`: deletes files.
    * `DotNetBuild`: runs the `dotnet build` command.
    * `DotNetPack`: runs the `dotnet pack` command.
    * `DotNetPublish`: runs the `dotnet publish` command.
    * `DotNetTest`: runs the `dotnet test` command.
    * `Exec`: runs an executable/program.
    * `GetPowerShellModule`: installs a PowerShell module.
    * `GitHubRelease`: creates a release in GitHub and uploads files for that
      release.
    * `LoadTask`: loads custom tasks so they can be used in the current build.
    * `MSBuild`: runs MSBuild, the Microsoft build engine.
    * `NodeLicenseChecker`: runs license checker, a Node module/command that
      scans and reports on Node module license metadata.
    * `NodeNspCheck`: runs NSP, a vulnerability scanner for Node projects.
    * `NpmConfig`: runs the Node `npm config` command.
    * `NpmInstall`: runs the Node `npm install` command.
    * `NpmPrune`: runs the Node `npm prune` command.
    * `NpmRunScript`: runs the Node `npm run-script` command.
    * `NuGetPack`: runs the `nuget.exe pack` command.
    * `NuGetPush`: runs the `nuget.exe push` command.
    * `NuGetRestore`: runs the `nuget.exe restore` command.
    * `NUnit2`: tests .NET assemblies with NUnit 2.
    * `NUnit3`: tests .NET assemblies with NUnit 3.
    * `Parallel`: runs queues of tasks in parallel/asynchronously.
    * `Pester3`: runs PowerShell tests wth Pester 3.
    * `Pester4`: runs PowerShell tests with Pester 4.
    * `Pipeline`: runs pipelines defined in the current whiskey.yml file.
    * `PowerShell`: executes a PowerShell script.
    * `ProGetUniversalPackage`: creates a universal ProGet package.
    * `PublishBitbucketServerTag`: tags a repository in Bitbucket Server.
    * `PublishBuildMasterPackage`: creates and deploys a package in BuildMaster.
    * `PublishNodeModule`: publishes a Node module (i.e. runs the `npm publish`
      command).
    * `PublishPowerShellModule`: publishes a PowerShell module.
    * `PublishProGetAsset`: publishes a file to a ProGet asset directory.
    * `PublishProGetUniversalPackage`: publishes a universal ProGet package to
      ProGet.
    * `SetVariable`: creates a variable that you can use in your whiskey.yml
      file.
    * `SetVariableFromPowerShellDataFile`: creates variables that you can use in
      in your whiskey.yml file by reading them from a PowerShell data file (i.e.
      .psd1 file or module manifest).
    * `SetVariableFromXml`: creates variables that you can use in your
      whiskey.yml file by reading their values from an XML file.
    * `TaskDefaults`: sets default task properties.
    * `Version`: sets the version number for the current build.
 
    ## Common Task Properties
 
    Every Whiskey task has these properties:
 
    * `OnlyBy`/`ExceptBy`: controls if a task runs if the build was started
      by a developer or a build server. By default, a task always runs. Valid
      values are `Developer` or `BuildServer`.
    * `OnlyDuring`/`ExceptDuring': controls if a task will run in the current
      run mode. Valid values are `Initialize`, `Build`, and `Clean`. Useful
      for having custom initialization tasks, cleaning tasks, etc. Make sure
      the task actually does work in the chosen mode. Some tasks don't have
      anything to clean or initialize, in which case these properties would
      have no affect.
    * `OnlyOnBranch`/`ExceptOnBranch`: controls what branch a task should run
      on. By default, a task runs on every branch. When a build is run by a
      developer, there is no branch information, so tasks that have this
      property will never run by a developer. Wildcards are supported.
    * `WorkingDirectory`: the directory in which the task should run. By
      default, this is the directory of the whiskey.yml file.
    * `IfExists`/`UnlessExists`: controls if a task runs if/unless an item
      exists. You can use any PowerShell-supported path, e.g. env:ENV_NAME
      for environment variables, hklm:\path\to\key for registry keys, and
      path\to\file for files/directories. Relative paths are file system paths
      and are resolved from the directory of the build's whiskey.yml file or
      the task's working directory (given by its WorkingDirecotry property).
      Uses PowerShell's `Test-Path` cmdlet to determine if the path exists.
      Wildcards are supported.