Skip to content

Commit

Permalink
GitTools#1051 - implemented overrideConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
arturcic committed Mar 3, 2024
1 parent 4765b3b commit 6fd1bd9
Show file tree
Hide file tree
Showing 17 changed files with 98 additions and 46 deletions.
6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/addasset/bundle.js

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/close/bundle.js

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/create/bundle.js

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/discard/bundle.js

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/open/bundle.js

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/publish/bundle.js

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions dist/azure/gitreleasemanager/setup/bundle.js

Large diffs are not rendered by default.

19 changes: 14 additions & 5 deletions dist/azure/gitversion/execute/bundle.js

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions dist/azure/gitversion/execute/task.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@
"helpMarkDown": "Optional path to config file (defaults to GitVersion.yml)",
"visibleRule": "useConfigFile = true"
},
{
"name": "overrideConfig",
"type": "multiLine",
"label": "Override Configuration",
"defaultValue": "",
"required": false,
"helpMarkDown": "Optional override for the configuration file. This should be newline-separated key-value pairs, e.g.: \n\nupdate-build-number=false\nnext-version=1.0.0"
},
{
"name": "updateAssemblyInfo",
"type": "boolean",
Expand Down
19 changes: 14 additions & 5 deletions dist/azure/gitversion/setup/bundle.js

Large diffs are not rendered by default.

15 changes: 13 additions & 2 deletions dist/github/gitversion/execute/bundle.js

Large diffs are not rendered by default.

15 changes: 13 additions & 2 deletions dist/github/gitversion/setup/bundle.js

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions gitversion/execute/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ inputs:
description: Optional path to config file (defaults to GitVersion.yml)
required: false
default: 'GitVersion.yml'
overrideConfig:
description: |
Optional override for the configuration file. This should be newline-separated key-value pairs, e.g.:
update-build-number=false
next-version=1.0.0
required: false
default: ''
updateAssemblyInfo:
description: Whether to update versions in the AssemblyInfo files
required: false
Expand Down
5 changes: 1 addition & 4 deletions src/agent/azure/build-agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,7 @@ class BuildAgent implements IBuildAgent {
}

public getListInput(input: string, required?: boolean): string[] {
return taskLib
.getInput(input, required)
.split('\n')
.filter(x => x !== '')
return taskLib.getDelimitedInput(input, '\n', required).filter(x => x !== '')
}

public getBooleanInput(input: string, required?: boolean): boolean {
Expand Down
2 changes: 2 additions & 0 deletions src/tools/gitversion/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export enum ExecuteFields {
disableNormalization = 'disableNormalization',
useConfigFile = 'useConfigFile',
configFilePath = 'configFilePath',
overrideConfig = 'overrideConfig',
updateAssemblyInfo = 'updateAssemblyInfo',
updateAssemblyInfoFilename = 'updateAssemblyInfoFilename',
additionalArguments = 'additionalArguments',
Expand All @@ -18,6 +19,7 @@ export interface GitVersionSettings {
[ExecuteFields.disableNormalization]: boolean
[ExecuteFields.useConfigFile]: boolean
[ExecuteFields.configFilePath]: string
[ExecuteFields.overrideConfig]: string[]
[ExecuteFields.updateAssemblyInfo]: boolean
[ExecuteFields.updateAssemblyInfoFilename]: string
[ExecuteFields.additionalArguments]: string
Expand Down
2 changes: 2 additions & 0 deletions src/tools/gitversion/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ export class GitVersionSettingsProvider extends SettingsProvider implements IGit

const useConfigFile = this.buildAgent.getBooleanInput(ExecuteFields.useConfigFile)
const configFilePath = this.buildAgent.getInput(ExecuteFields.configFilePath)
const overrideConfig = this.buildAgent.getListInput(ExecuteFields.overrideConfig)

const updateAssemblyInfo = this.buildAgent.getBooleanInput(ExecuteFields.updateAssemblyInfo)
const updateAssemblyInfoFilename = this.buildAgent.getInput(ExecuteFields.updateAssemblyInfoFilename)
Expand All @@ -32,6 +33,7 @@ export class GitVersionSettingsProvider extends SettingsProvider implements IGit
disableNormalization,
useConfigFile,
configFilePath,
overrideConfig,
updateAssemblyInfo,
updateAssemblyInfoFilename,
additionalArguments,
Expand Down
10 changes: 10 additions & 0 deletions src/tools/gitversion/tool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ export class GitVersionTool extends DotnetTool implements IGitVersionTool {
disableCache,
disableNormalization,
configFilePath,
overrideConfig,
updateAssemblyInfo,
updateAssemblyInfoFilename,
additionalArguments
Expand All @@ -77,6 +78,15 @@ export class GitVersionTool extends DotnetTool implements IGitVersionTool {
}
}

if (overrideConfig) {
overrideConfig.forEach(config => {
config = config.trim()
if (config.match(/([a-zA-Z0-9]+(-[a-zA-Z]+)*=[a-zA-Z0-9\- :.']*)/)) {
args.push('/overrideconfig', config)
}
})
}

if (updateAssemblyInfo) {
args.push('/updateassemblyinfo')

Expand Down

0 comments on commit 6fd1bd9

Please sign in to comment.