diff --git a/dist/github/execute/index.js b/dist/github/execute/index.js index 43d4afb..1b1973d 100644 --- a/dist/github/execute/index.js +++ b/dist/github/execute/index.js @@ -7613,10 +7613,9 @@ const buildAgent = ioc_1.ioc.get(types_1.TYPES.IBuildAgent); function run() { return __awaiter(this, void 0, void 0, function* () { try { - const version = "5.1.2"; - const includePrerelease = false; buildAgent.exportVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1"); - yield gitVersionTool.install(version, includePrerelease); + const inputOptions = getGitVersionOptions(); + yield gitVersionTool.run(inputOptions); buildAgent.setSucceeded("GitVersion installed successfully", true); } catch (error) { @@ -7625,8 +7624,24 @@ function run() { }); } exports.run = run; +function getGitVersionOptions() { + const targetPath = buildAgent.getInput(types_1.RunOptions.targetPath); + const useConfigFile = buildAgent.getBooleanInput(types_1.RunOptions.useConfigFile); + const configFilePath = buildAgent.getInput(types_1.RunOptions.configFilePath); + const updateAssemblyInfo = buildAgent.getBooleanInput(types_1.RunOptions.updateAssemblyInfo); + const updateAssemblyInfoFilename = buildAgent.getInput(types_1.RunOptions.updateAssemblyInfoFilename); + const additionalArguments = buildAgent.getInput(types_1.RunOptions.additionalArguments); + return { + targetPath, + useConfigFile, + configFilePath, + updateAssemblyInfo, + updateAssemblyInfoFilename, + additionalArguments, + }; +} run(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovUHJvamVjdHMvT1NTL0dpdFRvb2xzL3VzZS1naXR2ZXJzaW9uL3NyYy9naXRodWIvZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLDRCQUEwQjtBQUcxQixvQ0FBaUM7QUFDakMsK0JBQTRCO0FBRTVCLE1BQU0sY0FBYyxHQUFHLFNBQUcsQ0FBQyxHQUFHLENBQWtCLGFBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN2RSxNQUFNLFVBQVUsR0FBRyxTQUFHLENBQUMsR0FBRyxDQUFjLGFBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUUzRCxTQUFzQixHQUFHOztRQUNyQixJQUFJO1lBRUEsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBRWhDLFVBQVUsQ0FBQyxjQUFjLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUQsTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBRXpELFVBQVUsQ0FBQyxZQUFZLENBQUMsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7Q0FBQTtBQWJELGtCQWFDO0FBRUQsR0FBRyxFQUFFLENBQUMifQ== +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovUHJvamVjdHMvT1NTL0dpdFRvb2xzL3VzZS1naXR2ZXJzaW9uL3NyYy9naXRodWIvZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLDRCQUEwQjtBQUcxQixvQ0FBNkM7QUFDN0MsK0JBQTRCO0FBRTVCLE1BQU0sY0FBYyxHQUFHLFNBQUcsQ0FBQyxHQUFHLENBQWtCLGFBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUN2RSxNQUFNLFVBQVUsR0FBRyxTQUFHLENBQUMsR0FBRyxDQUFjLGFBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUUzRCxTQUFzQixHQUFHOztRQUNyQixJQUFJO1lBRUEsVUFBVSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUU5RCxNQUFNLFlBQVksR0FBdUIsb0JBQW9CLEVBQUUsQ0FBQztZQUVoRSxNQUFNLGNBQWMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFdkMsVUFBVSxDQUFDLFlBQVksQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN0RTtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztDQUFBO0FBYkQsa0JBYUM7QUFFRCxTQUFTLG9CQUFvQjtJQUV6QixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxrQkFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsa0JBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV0RSxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsa0JBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sMEJBQTBCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxrQkFBVSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFOUYsTUFBTSxtQkFBbUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUVoRixPQUFPO1FBQ0gsVUFBVTtRQUNWLGFBQWE7UUFDYixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixtQkFBbUI7S0FDdEIsQ0FBQztBQUNOLENBQUM7QUFFRCxHQUFHLEVBQUUsQ0FBQyJ9 /***/ }), diff --git a/execute/action.yml b/execute/action.yml new file mode 100644 index 0000000..2d3df3f --- /dev/null +++ b/execute/action.yml @@ -0,0 +1,34 @@ +name: execute +description: GitHub Action for Easy Semantic Versioning with GitVersion. Execute GitVersion to obtain version information +author: GitTools +branding: + color: gray-dark + icon: git-pull-request +inputs: + targetPath: + description: Optionally supply the path to the working directory + required: false + default: '' + useConfigFile: + description: Whether to use a custom configuration file + required: false + default: 'false' + configFilePath: + description: Optional path to config file (defaults to GitVersion.yml) + required: false + default: '' + updateAssemblyInfo: + description: Whether to update versions in the AssemblyInfo files + required: false + default: 'false' + updateAssemblyInfoFilename: + description: Update versions in specified file + required: false + default: '' + updateAssemblyInfoFilename: + description: Additional arguments to send to GitVersion + required: false + default: '' +runs: + using: node12 + main: ../dist/github/execute/index.js \ No newline at end of file diff --git a/setup/action.yml b/setup/action.yml index 7f0d9b9..1f744c5 100644 --- a/setup/action.yml +++ b/setup/action.yml @@ -6,7 +6,7 @@ branding: icon: git-pull-request inputs: versionSpec: - description: Required version in the form of 5.x or exact version like 5.0.0' + description: Required version in the form of 5.x or exact version like 5.0.0 required: true default: '' includePrerelease: diff --git a/src/common.ts b/src/common.ts index 3aa11a9..da718d7 100644 --- a/src/common.ts +++ b/src/common.ts @@ -7,7 +7,7 @@ import * as http from "typed-rest-client/HttpClient"; import { inject, injectable } from "inversify"; -import { Argument, IBuildAgent, IDotnetTool, IExecResult, IGitVersionTool, IVersionManager } from "./interfaces"; +import { Argument, IBuildAgent, IDotnetTool, IExecResult, IGitVersionOptions, IGitVersionTool, IVersionManager } from "./interfaces"; import { TYPES } from "./types"; @injectable() @@ -157,7 +157,8 @@ class GitVersionTool implements IGitVersionTool { const toolPath = await this.dotnetTool.toolInstall("GitVersion.Tool", versionSpec, false, includePrerelease); } - public run(...params: Argument[]): Promise { + public run(options: IGitVersionOptions): Promise { + console.log(options); return; } } diff --git a/src/github/execute.ts b/src/github/execute.ts index 3c3b90c..12a868e 100644 --- a/src/github/execute.ts +++ b/src/github/execute.ts @@ -1,7 +1,7 @@ import "reflect-metadata"; -import { IBuildAgent, IGitVersionTool } from "../interfaces"; -import { TYPES } from "../types"; +import { IBuildAgent, IGitVersionOptions, IGitVersionTool } from "../interfaces"; +import { RunOptions, TYPES } from "../types"; import { ioc } from "./ioc"; const gitVersionTool = ioc.get(TYPES.IGitVersionTool); @@ -10,11 +10,11 @@ const buildAgent = ioc.get(TYPES.IBuildAgent); export async function run() { try { - const version = "5.1.2"; - const includePrerelease = false; - buildAgent.exportVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1"); - await gitVersionTool.install(version, includePrerelease); + + const inputOptions: IGitVersionOptions = getGitVersionOptions(); + + await gitVersionTool.run(inputOptions); buildAgent.setSucceeded("GitVersion installed successfully", true); } catch (error) { @@ -22,4 +22,26 @@ export async function run() { } } +function getGitVersionOptions(): IGitVersionOptions { + + const targetPath = buildAgent.getInput(RunOptions.targetPath); + + const useConfigFile = buildAgent.getBooleanInput(RunOptions.useConfigFile); + const configFilePath = buildAgent.getInput(RunOptions.configFilePath); + + const updateAssemblyInfo = buildAgent.getBooleanInput(RunOptions.updateAssemblyInfo); + const updateAssemblyInfoFilename = buildAgent.getInput(RunOptions.updateAssemblyInfoFilename); + + const additionalArguments = buildAgent.getInput(RunOptions.additionalArguments); + + return { + targetPath, + useConfigFile, + configFilePath, + updateAssemblyInfo, + updateAssemblyInfoFilename, + additionalArguments, + }; +} + run(); diff --git a/src/interfaces.ts b/src/interfaces.ts index 608b4e2..316ce77 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -32,7 +32,7 @@ export class Argument { } export interface IGitVersionTool { install: (versionSpec: string, includePrerelease: boolean) => Promise; - run: (...params: Argument[]) => Promise; + run: (options: IGitVersionOptions) => Promise; } export interface IExecResult { stdout: string; @@ -40,3 +40,12 @@ export interface IExecResult { code: number; error: Error; } + +export interface IGitVersionOptions { + targetPath: string; + useConfigFile: boolean; + configFilePath: string; + updateAssemblyInfo: boolean; + updateAssemblyInfoFilename: string; + additionalArguments: string; +} diff --git a/src/types.ts b/src/types.ts index 2ac04f2..3def056 100644 --- a/src/types.ts +++ b/src/types.ts @@ -10,4 +10,16 @@ const SetupOptions = { versionSpec: "versionSpec", }; -export { SetupOptions, TYPES }; +const RunOptions = { + targetPath: "targetPath", + + useConfigFile: "useConfigFile", + configFilePath: "configFilePath", + + updateAssemblyInfo: "configFilePath", + updateAssemblyInfoFilename: "configFilePath", + + additionalArguments: "additionalArguments", +}; + +export { SetupOptions, RunOptions, TYPES }; diff --git a/tslint.json b/tslint.json index 27163a1..9e9f4f3 100644 --- a/tslint.json +++ b/tslint.json @@ -7,7 +7,8 @@ "rules": { "max-classes-per-file":false, "no-console":false, - "no-var-requires":false + "no-var-requires":false, + "object-literal-sort-keys":false }, "rulesDirectory": [] } \ No newline at end of file