jywng-gulp-msbuild

0.6.0 • Public • Published

gulp-msbuild

NPM NPM downloads Travis Coveralls David License

msbuild plugin for gulp. Inspired by grunt-msbuild

Not maintained anymore

This project is not maintained anymore. The main reason is that i no longer work with .NET and MSBuild, which makes it hard to still work on this project in my spare time.

Also note that this plugin is not following the Gulp Guidelines as this is not intended to be used with gulp, which is also the reason why this plugin was blacklisted in the official gulp plugin directory.

If you would like to develop it further feel free to fork this project, i can link your fork here as well if you like.

Usage

First, install gulp-msbuild as a development dependency:

npm install --save-dev gulp-msbuild

Then, add it to your gulpfile.js:

var gulp = require("gulp");
var msbuild = require("gulp-msbuild");
 
gulp.task("default", function() {
    return gulp.src("./project.sln")
        .pipe(msbuild());
});

Options

If you miss any options, feel free to open an issue.

Example

var gulp = require("gulp");
var msbuild = require("gulp-msbuild");
 
gulp.task("default", function() {
    return gulp.src("./project.sln")
        .pipe(msbuild({
            targets: ['Clean', 'Build'],
            toolsVersion: 3.5
            })
        );
});

stdout

Show output of msbuild

Default: false

stderr

Show errors of msbuild

Default: true

errorOnFail

If the MSBuild job fails with an error, this will cause the gulp-msbuild stream to return an error thus causing the gulp task to fail. This is useful if using an automated build server such as Jenkins where a failing MSBuild should also cause the overall build job to fail.

Default: false

logCommand

Logs the msbuild command that will be executed.

Default: false

targets

Specify Build Targets

Default:

['Rebuild']

configuration

Specify Build Configuration (Release or Debug)

Default: Release

Hint: You can also specify the Build Configuration using the properties option

properties: { Configuration: 'Debug' }

solutionPlatform

Specify the Solution Platform (e.g. x86, x64, AnyCPU)

Hint: You can also specify the Solution Platform using the properties option

properties: { Platform: 'AnyCPU' }

toolsVersion

Specify the .NET Tools-Version

Default: 4.0

Possible Values: 1.0, 1.1, 2.0, 3.5, 4.0, 12.0, 14.0, 15.0, 'auto'

'auto' attempts to find the latest version >= 12.0, with a fallback to 4.0

This parameter can be omitted by explicitely set them to null or undefined.

architecture

Specify the Architecture

Default: Auto-detected

Possible Values: x86, x64

Example:

msbuild({ architecture: 'x86' })

properties

Specify Custom Build Properties

Default: none

Example:

msbuild({ properties: { WarningLevel: 2 } })

Hint: Property values can use gulp-util templates (e.g. "<%= file.path %>")

verbosity

Specify the amount of information to display in the build output

Default: normal

Possible Values: quiet, minimal, normal, detailed, diagnostic

maxcpucount

Specify Maximal CPU-Count to use

Default: 0 = Automatic selection

Possible Values: -1 (MSBuild Default), 0 (Automatic), > 0 (Concrete value)

nodeReuse

Specify whether to enable or disable the re-use of MSBuild nodes

Default: true = Nodes remain after the build finishes so that subsequent builds can use them

Possible Values: true (MSBuild Default), false

nologo

Suppress Startup Banner and Copyright Message of MSBuild

Default: false -> Show Startup Banner and Copyright Message

fileLoggerParameters

Specify the parameters for the MSBuild File Logger.

Default: None

Example:

msbuild({ fileLoggerParameters: 'LogFile=Build.log;Append;Verbosity=diagnostic' })

Hint: Logger parameters options can use gulp-util templates (e.g. "<%= file.path %>")

consoleLoggerParameters

Specify the parameters for the MSBuild Console Logger. (See fileLoggerParameters for a usage example)

Default: None

Hint: Logger parameters options can use gulp-util templates (e.g. "<%= file.path %>")

loggerParameters

Specify the parameters for a custom MSBuild Logger.

Default: None

Example:

msbuild({ loggerParameters: 'XMLLogger,./MyLogger.dll;OutputAsHTML' })

Hint: Logger parameters options can use gulp-util templates (e.g. "<%= file.path %>")

customArgs

Specify custom msbuild arguments, which don't have a own property in gulp-msbuild.

Default: None

Example:

msbuild({ customArgs: ['/noautoresponse'] })

emitEndEvent

Specify if a gulp end-event should be emitted.

Default: false = No end event is emitted.

Possible Values: true, false

MSBuild Command-Line Reference

For a more detailed description of each MSBuild Option see the MSBuild Command-Line Reference

License

MIT License

Package Sidebar

Install

npm i jywng-gulp-msbuild

Weekly Downloads

1

Version

0.6.0

License

MIT

Unpacked Size

60.8 kB

Total Files

15

Last publish

Collaborators

  • joediton
  • jamiegjaywing