Skip to content

Commit

Permalink
Nuspec
Browse files Browse the repository at this point in the history
  • Loading branch information
bm-fez committed Dec 10, 2018
1 parent d2999d8 commit 5cb1ba9
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 25 deletions.
2 changes: 1 addition & 1 deletion Extensions/Versioning/VersionJSONFileTask/task/task.json
Expand Up @@ -55,7 +55,7 @@
{
"name": "useBuildNumberDirectly",
"type": "boolean",
"label": "Use Version Number without processing",
"label": "Inject Version",
"defaultValue": "False",
"required": true,
"helpMarkDown": "Use the version number parameter without any further processing",
Expand Down
39 changes: 24 additions & 15 deletions Extensions/Versioning/VersionNuspecTask/ApplyVersionToNuspec.ps1
Expand Up @@ -20,6 +20,8 @@ param (
[Parameter(Mandatory)]
[string]$VersionNumber,

[string]$InjectVersion,

$VersionRegex,

$outputversion
Expand All @@ -37,25 +39,32 @@ if (-not (Test-Path $Path))
Write-Verbose "Source Directory: $Path"
Write-Verbose "Version Number/Build Number: $VersionNumber"
Write-Verbose "Version Filter: $VersionRegex"
Write-Verbose "Inject Version: $InjectVersion"

Write-verbose "Output: Version Number Parameter Name: $outputversion"

# Get and validate the version data
$VersionData = [regex]::matches($VersionNumber,$VersionRegex)
switch($VersionData.Count)
{
0
{
Write-Error "Could not find version number data in $VersionNumber."
exit 1
}
1 {}
default
{
Write-Warning "Found more than instance of version data in $VersionNumber."
Write-Warning "Will assume first instance is version."
}
if ([System.Convert]::ToBoolean($InjectVersion) -eq $true) {
Write-Verbose "Using the version number directly"
$NewVersion = $VersionNumber
} else {
$VersionData = [regex]::matches($VersionNumber,$VersionRegex)
switch($VersionData.Count)
{
0
{
Write-Error "Could not find version number data in $VersionNumber."
exit 1
}
1 {}
default
{
Write-Warning "Found more than instance of version data in $VersionNumber."
Write-Warning "Will assume first instance is version."
}
}
$NewVersion = $VersionData[0]
}
$NewVersion = $VersionData[0]
Write-Verbose "Version: $NewVersion"

# Apply the version to the assembly property files
Expand Down
28 changes: 19 additions & 9 deletions Extensions/Versioning/VersionNuspecTask/task.json
Expand Up @@ -44,16 +44,26 @@
"defaultValue": "$(Build.BuildNumber)",
"required": true,
"helpMarkDown": "Version number to apply to files, can be extraced from the build name 'Build HelloWorld_00.00.00000.0' or provided as a complete version number e.g. 1.1.1.1"
},
} ,
{
"name": "VersionRegex",
"type": "string",
"label": "Regex Filter",
"defaultValue": "\\d+\\.\\d+\\.\\d+\\.\\d+",
"required": true,
"helpMarkDown": "Regular expression filter build number from name.",
"groupName":"advanced"
},
"name": "InjectVersion",
"type": "boolean",
"label": "Inject Version",
"defaultValue": "False",
"required": true,
"helpMarkDown": "If True no regex processing will be done to the build number.",
"groupName":"advanced"
},
{
"name": "VersionRegex",
"type": "string",
"label": "Regex Filter",
"defaultValue": "(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){3}",
"required": true,
"helpMarkDown": "Regular expression filter build number from name.",
"groupName":"advanced",
"visibleRule": "InjectVersion = false"
},
{
"name": "OutputVersion",
"type": "string",
Expand Down

0 comments on commit 5cb1ba9

Please sign in to comment.