grunt-webapppool
Version:
Grunt integration for Powershell WebAppPool commands
60 lines (51 loc) • 1.32 kB
JavaScript
;
var grunt = require("grunt");
var ArgUtil = require("flopmang");
module.exports = function (task, exec, done) {
var options = task.options({});
var argUtilInvoke = new ArgUtil(task, [
{
option: "computername",
defaultValue: process.env.COMPUTERNAME,
useAsFlag: true,
useValue: true,
useDasherize: false,
flag: "-ComputerName"
},
{
option: "credential",
defaultValue: null,
useAsFlag: true,
useValue: true,
useDasherize: false,
flag: "-Credential"
}
]);
var argUtil = new ArgUtil(task, [
{
option: "name",
defaultValue: null,
useAsFlag: true,
useValue: true,
useDasherize: false,
flag: "-Name",
required: true
}
]);
function handleResult(err, result) {
if (err) {
grunt.fail.fatal("Error running Start-WebAppPool");
return;
}
if (typeof options.callback === "function") {
options.callback(result.stdout);
}
done();
}
var args = ["Invoke-Command"].concat(argUtilInvoke.getArgFlags());
args.push("-ScriptBlock");
args.push("{ Import-Module WebAdministration; Start-WebAppPool " + argUtil.getArgFlags().join(" ") + " }");
args.push(handleResult);
exec.apply(null, args);
};
module.exports.description = "Manage set of tracked repositories.";