added updated files & scripts

This commit is contained in:
Andrew Welker
2020-03-16 12:30:31 -06:00
parent b372f4d369
commit 6cf5fe5ec4
5 changed files with 178 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
$tagCount = $(git rev-list --tags='*.*.*' --count)
if ($tagCount -eq 0) {
$latestVersion = "0.0.0"
}
else {
$latestVersions = $(git describe --tags $(git rev-list --tags='*.*.*' --max-count=10) --abbrev=0)
$latestVersion = ""
Foreach ($version in $latestVersions) {
Write-Output $version
if ($version -match '^[1-9]+.\d+.\d+$') {
$latestVersion = $version
Write-Output "Setting latest version to: $latestVersion"
break
}
}
}
$newVersion = [version]$latestVersion
$phase = ""
$newVersionString = ""
switch -regex ($Env:GITHUB_REF) {
'^refs\/heads\/master\/*.' {
$newVersionString = "{0}.{1}.{2}" -f $newVersion.Major, $newVersion.Minor, ($newVersion.Build + 1)
}
'^refs\/heads\/feature\/*.' {
$phase = 'alpha'
}
'^refs\/heads\/release\/*.' {
$phase = 'rc'
}
'^refs\/heads\/development\/*.' {
$phase = 'beta'
}
'^refs\/heads\/hotfix\/*.' {
$phase = 'hotfix'
}
}
$newVersionString = "{0}.{1}.{2}-{3}-{4}" -f $newVersion.Major, $newVersion.Minor, ($newVersion.Build + 1), $phase, $Env:GITHUB_RUN_NUMBER
Write-Output $newVersionString

View File

@@ -0,0 +1,40 @@
function Update-SourceVersion {
Param ([string]$Version)
#$fullVersion = $Version
$baseVersion = [regex]::Match($Version, "(\d+.\d+.\d+).*").captures.groups[1].value
$NewAssemblyVersion = AssemblyVersion(" + $baseVersion + .*")
Write-Output "AssemblyVersion = $NewAssemblyVersion"
$NewAssemblyInformationalVersion = AssemblyInformationalVersion(" + $Version + ")
Write-Output "AssemblyInformationalVersion = $NewAssemblyInformationalVersion"
foreach ($o in $input) {
Write-output $o.FullName
$TmpFile = $o.FullName + .tmp
get-content $o.FullName |
ForEach-Object {
$_ -replace AssemblyVersion\(".*"\), $NewAssemblyVersion } |
ForEach-Object {
$_ -replace AssemblyInformationalVersion\(".*"\), $NewAssemblyInformationalVersion
} > $TmpFile
move-item $TmpFile $o.FullName -force
}
}
function Update-AllAssemblyInfoFiles ( $version ) {
foreach ($file in AssemblyInfo.cs, AssemblyInfo.vb ) {
get-childitem -Path $Env:GITHUB_WORKSPACE -recurse | Where-Object { $_.Name -eq $file } | Update-SourceVersion $version ;
}
}
# validate arguments
$r = [System.Text.RegularExpressions.Regex]::Match($args[0], "\d+\.\d+\.\d+.*");
if ($r.Success) {
Write-Output "Updating Assembly Version to $args ...";
Update-AllAssemblyInfoFiles $args[0];
}
else {
Write-Output ;
Write-Output Error: Input version does not match x.y.z format!
Write-Output ;
Write-Output "Unable to apply version to AssemblyInfo.cs files";
}

23
.github/scripts/ZipBuildOutput.ps1 vendored Normal file
View File

@@ -0,0 +1,23 @@
$destination = "$($Env:GITHUB_WORKSPACE)\output"
New-Item -ItemType Directory -Force -Path ($destination)
Get-ChildItem ($destination)
$exclusions = @(git submodule foreach --quiet 'echo $name')
Write-Output "Exclusions $($exclusions)"
Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include @("*.clz", "*.cpz", "*.cplz") | ForEach-Object{
Write-Host "checking $($_)"
$allowed = $true;
foreach($exclude in $exclusions) {
if((Split-Path $_.FullName -Parent).contains("$($exclude)")) {
Write-Host "excluding $($_)"
$allowed = $false;
break;
}
}
if($allowed) {
Write-Host "allowing $($_)"
$_;
}
} | Copy-Item -Destination ($destination)
Get-ChildItem "$($Env:GITHUB_WORKSPACE)\output"
Compress-Archive -Path "$($Env:GITHUB_WORKSPACE)\output\*" -DestinationPath "$($Env:GITHUB_WORKSPACE)\output.zip"
Get-ChildItem "$($Env:GITHUB_WORKSPACE)\"