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.
49 lines
1.5 KiB
49 lines
1.5 KiB
"use strict";
|
|
|
|
import { join } from "path";
|
|
|
|
import { BuilderCompileRequest, GenericTask } from "../types";
|
|
import dotnetbuilderwrapper from "./dotnetbuilderwrapper";
|
|
|
|
interface IParameters {
|
|
configuration: string;
|
|
overrideOutputDirectory: string;
|
|
skipCodeAnalysis: boolean;
|
|
solution: string;
|
|
target: string;
|
|
forceCodeAnalysis?: boolean;
|
|
skipCodeSigning?: boolean;
|
|
ignoreCodeAnalysis: boolean;
|
|
}
|
|
|
|
export default ((params, processor) => {
|
|
if (processor.settings.isCodeAnalysisUnsupported && params.forceCodeAnalysis) {
|
|
processor.onError("Code analysis is not supported");
|
|
|
|
return processor.done();
|
|
}
|
|
|
|
const getAdditionalSigningParameters = () => {
|
|
if (processor.settings.skipCodeSigning || params.skipCodeSigning) {
|
|
return {};
|
|
}
|
|
|
|
return { SigningKey: processor.settings.codeSigningKeyFile };
|
|
};
|
|
|
|
const skipCodeAnalysis = processor.settings.isCodeAnalysisUnsupported
|
|
|| params.ignoreCodeAnalysis
|
|
|| (processor.settings.ignoreCodeAnalysisByDefault && !params.forceCodeAnalysis);
|
|
|
|
const compileParams: BuilderCompileRequest = {
|
|
Configuration: params.configuration,
|
|
OutputDirectory: params.overrideOutputDirectory,
|
|
SkipCodeAnalysis: skipCodeAnalysis,
|
|
SolutionPath: join(processor.context.exported, params.solution),
|
|
Target: params.target,
|
|
command: "compile",
|
|
...getAdditionalSigningParameters(),
|
|
};
|
|
|
|
return dotnetbuilderwrapper(compileParams, processor);
|
|
}) as GenericTask<IParameters>;
|
|
|