Build server prototype (integration with GitHub / NuGet / etc)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
micro-build-server/BuildServer/lib/tasks/dotnetcompile.js

38 lines
1.2 KiB

"use strict";
const path = require("path");
const _ = require("underscore");
const settings = require("../../settings");
const dotnetbuilderwrapper = require("./dotnetbuilderwrapper");
module.exports = (params, processor) => {
if (settings.isCodeAnalysisUnsupported && params.forceCodeAnalysis) {
processor.onError("Code analysis is not supported");
return processor.done();
}
const getAdditionalSigningParameters = () => {
if (settings.skipCodeSigning || params.skipCodeSigning) {
return {};
}
return { "SigningKey": settings.codeSigningKeyFile };
};
const skipCodeAnalysis = settings.isCodeAnalysisUnsupported
|| params.ignoreCodeAnalysis
|| (settings.ignoreCodeAnalysisByDefault && !params.forceCodeAnalysis);
const compileParams = {
"Configuration": params.configuration,
"OutputDirectory": params.overrideOutputDirectory,
"SkipCodeAnalysis": skipCodeAnalysis,
"SolutionPath": path.join(processor.context.exported, params.solution),
"Target": params.target,
"command": "compile"
};
return dotnetbuilderwrapper(_.extend(compileParams, getAdditionalSigningParameters()), processor);
};