All Projects → kovalikp → PowerBuild

kovalikp / PowerBuild

Licence: MIT license
Integrate MSBuild into PowerShell pipeline.

Programming Languages

C#
18002 projects
powershell
5483 projects

Labels

Projects that are alternatives of or similar to PowerBuild

Narvalo.NET
Applied functional patterns for C#. Money and Currency types. MVP framework. (Obsolete)
Stars: ✭ 16 (-33.33%)
Mutual labels:  msbuild
UnityAssemblies
Simple, forward-compatible references to ANY Unity DLL on ANY platform.
Stars: ✭ 65 (+170.83%)
Mutual labels:  msbuild
EmptyLicensesLicx
Easy continuous integration of apps using third-party controls that rely on licenses.licx files
Stars: ✭ 57 (+137.5%)
Mutual labels:  msbuild
teamcity-msbuild-logger
MSBuild logger for TeamCity
Stars: ✭ 16 (-33.33%)
Mutual labels:  msbuild
sitecore-azure-devops
Sitecore 8.2u5 DevOps Scripts
Stars: ✭ 15 (-37.5%)
Mutual labels:  msbuild
vsSolutionBuildEvent
🎛 Event-Catcher with variety of advanced Actions to service projects, libraries, build processes, runtime environment of the Visual Studio, MSBuild Tools, and …
Stars: ✭ 66 (+175%)
Mutual labels:  msbuild
gradle-nunit-plugin
A gradle plugin for launching NUnit tests
Stars: ✭ 17 (-29.17%)
Mutual labels:  msbuild
SimpleGitVersion
Simple Git prerelease versioning integrated into SDK-based msbuild projects
Stars: ✭ 17 (-29.17%)
Mutual labels:  msbuild
Pharmacist
Builds observables from events.
Stars: ✭ 221 (+820.83%)
Mutual labels:  msbuild
msbuild-flame-graph
Turns MSBuild executions into flame graphs
Stars: ✭ 37 (+54.17%)
Mutual labels:  msbuild
Msbuild
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
Stars: ✭ 4,643 (+19245.83%)
Mutual labels:  msbuild
windows-container
Docker files for various Windows Container build
Stars: ✭ 30 (+25%)
Mutual labels:  msbuild
CodeContracts.MSBuild
Standalone MSBuild integration of CodeContracts (by Microsoft Research)
Stars: ✭ 16 (-33.33%)
Mutual labels:  msbuild
ILMerge-MSBuild-Task
Adds ILMerge to Visual Studio 2013/2017 or automated builds. This Task is intended to work right out of the box however, it supports a configuration file where you can control every ILMerge property including the list of assemblies to be merged.
Stars: ✭ 52 (+116.67%)
Mutual labels:  msbuild
Get-EventSession
Script to assist in downloading Microsoft event contents or return session information.
Stars: ✭ 55 (+129.17%)
Mutual labels:  msbuild
setup-msbuild
A GitHub Action to facilitate configuring MSBuild in the workflow PATH for building .NET Framework applications.
Stars: ✭ 170 (+608.33%)
Mutual labels:  msbuild
Examples
An complete examples and related support for various popular projects, and more.
Stars: ✭ 22 (-8.33%)
Mutual labels:  msbuild
TSLint.MSBuild
[Deprecated] An MSBuild task for running TSLint.
Stars: ✭ 13 (-45.83%)
Mutual labels:  msbuild
vkm
VK music downloader
Stars: ✭ 14 (-41.67%)
Mutual labels:  msbuild
MvsSln
🧩 Customizable VisualStudio .sln parser, Complex support of the projects (.vcxproj, .csproj., …), Pluginable lightweight r/w handlers at runtime, and more …
Stars: ✭ 86 (+258.33%)
Mutual labels:  msbuild

PowerBuild

Build status

PowerBuild module provides full MSBuild integration into PowerShell pipeline. Unlike simmilar modules that provide wrapper around msbuild.exe, PowerBuild's Invoke-MSBuild cmdlet uses Microstft.Build API directly. It means it can write build results into output, making the results available for processing by other cmdlets. Default logger utilizes Error, Warning and Verbose streams to log MSBuild events.

Getting started:

You can get the module from the PowerShell Gallery by executing following script.

Install-Module -Name PowerBuild 

Using PowerBuild

Invoke MSBuild and store results to local variable.

PS> $buildResults = Invoke-MSBuild -Project c:\Workspace\GitHub\kovalikp\PowerBuild\PowerBuild.sln `
>>   -Target Build -Verbosity Minimal -ConsoleLogger PSHost `
>>   -Property @{Configuration="Release"}

Manipulate results in pipeline.

PS> $buildResults | Select-Object -ExpandProperty Items | Format-Table ItemSpec,MetadataCount

Supported switches

CommandLine PowerShell
[project file | directory] -Project <string>
/target:<targets> -Target <string[]>
/property:<n>=<v> -Property <Hashtable>
/property:Configuration=<v> -Configuration <string>
/property:Platform=<v> -Platform <string>
/maxcpucount[:n] -MaxCpuCount <int>
/toolsversion:<version> -ToolsVersion <string>
/verbosity:<level> -Verbosity <LoggerVerbosity>
/consoleloggerparameters:<parameters> -ConsoleLoggerParameters <string>
/noconsolelogger -ConsoleLogger {None | PSStreams | PSHost}
/fileLogger[n] New-FileLogger
/fileloggerparameters[n]:<parameters> New-FileLogger
/distributedlogger
/distributedFileLogger
/logger:<logger> -Logger <ILogger[]>
/binaryLogger New-BinaryLogger
/binaryLogger:<parameters> New-BinaryLogger
/warnaserror -WarningsAsErrors @()
/warnaserror:code[;code2] -WarningsAsErrors <string[]>
/warnasmessage -WarningsAsMessages @()
/warnasmessage:code[;code2] -WarningsAsMessages <string[]>
/validate
/validate:<schema>
/ignoreprojectextensions:<extensions> -IgnoreProjectExtensions <string[]>
/nodeReuse:<parameters> -NodeReuse <bool>
/preprocess Invoke-MSBuildPreprocess
/preprocess:file Invoke-MSBuildPreprocess -OutputFile <string>
/detailedsummary -DetailedSummary
@<file>
/noautoresponse
/nologo
/version
/help Get-Help Invoke-MSBuild

Argument Completers

PowerBuild provides autocompleters for several arguments. They either use MSBuild API directly, or try to approximate MSBuild functionality to generate values.

Parameter Solution Project
Target Metaproject + API MSBuild API
Configuration MSBuild API "Debug" or "Release"
Platform MSBuild API "AnyCPU", "x64" or "x86"

Logging

Default logger can be specified using -ConsoleLogger parameter. The parameter currently recognized these values.

  • $null - If console logger was passed via -Logger parameter, then None, else PSStreams.
  • PSStreams - Uses Error, Warning and Verbose streams to write logs. -Verbosity switch affects log level output to Verbose stream.
  • PSHost - Uses PowerShell host to write logs. This is equivalent of msbuild.exe's console logger.
  • None - Disables console logger.

Level of logging is affected by -Verbose parameter.

Additional loggers can be created using New-Logger, New-ConsoleLogger, New-FileLogger, New-BinaryLogger or New-StructuredLogger commnandlets and passed to -Logger parameter.

Example

Console

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].