diff --git a/RemoteApplicationPublisher.sln b/RemoteApplicationPublisher.sln index 22d3dd6..7bb86f1 100644 --- a/RemoteApplicationPublisher.sln +++ b/RemoteApplicationPublisher.sln @@ -19,7 +19,6 @@ Global {E23CF4FE-4FA6-4554-8A06-D741D336DB0A}.Release|x64.Build.0 = Release|x64 {5EEA7966-CB7D-4FE5-8B6E-7B416A4C4EB0}.Debug|x64.ActiveCfg = Debug|x64 {5EEA7966-CB7D-4FE5-8B6E-7B416A4C4EB0}.Release|x64.ActiveCfg = Release|x64 - {5EEA7966-CB7D-4FE5-8B6E-7B416A4C4EB0}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/RemoteApplicationPublisher/Properties/AssemblyInfo.cs b/RemoteApplicationPublisher/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6595a7f --- /dev/null +++ b/RemoteApplicationPublisher/Properties/AssemblyInfo.cs @@ -0,0 +1,21 @@ + +using System.Reflection; +using System.Resources; + +// General Information +[assembly: AssemblyTitle("Remote Application Publisher")] +[assembly: AssemblyDescription("Remote Application Publisher")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("One Identity LLC")] +[assembly: AssemblyProduct("RemoteApplicationPublisher")] +[assembly: AssemblyCopyright("Copyright 2022 One Identity LLC")] +[assembly: AssemblyTrademark("One Identity LLC (TM)")] +[assembly: AssemblyCulture("")] + +// Version information -- replaced at build time +[assembly: AssemblyVersion("1.1.0.32432")] +[assembly: AssemblyFileVersion("1.1.0.32432")] +[assembly: NeutralResourcesLanguageAttribute( "en-US" )] + + + diff --git a/RemoteApplicationPublisher/RemoteApplicationPublisher.csproj b/RemoteApplicationPublisher/RemoteApplicationPublisher.csproj index 5bb9cb0..c650918 100644 --- a/RemoteApplicationPublisher/RemoteApplicationPublisher.csproj +++ b/RemoteApplicationPublisher/RemoteApplicationPublisher.csproj @@ -7,6 +7,7 @@ true disable app.manifest + false RemoteApplicationPublisher.Program x64 x64 diff --git a/RemoteApplicationPublisherSetup/RemoteApplicationPublisherSetup.wixproj b/RemoteApplicationPublisherSetup/RemoteApplicationPublisherSetup.wixproj index 86024cb..9be9bb3 100644 --- a/RemoteApplicationPublisherSetup/RemoteApplicationPublisherSetup.wixproj +++ b/RemoteApplicationPublisherSetup/RemoteApplicationPublisherSetup.wixproj @@ -64,11 +64,10 @@ - - - - - + + + + diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9167347..a843cce 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -11,6 +11,7 @@ pool: variables: #version: '1.0.0.$(Build.BuildId)' + semanticVersion: "1.0.0" solution: '**/*.sln' buildPlatform: 'x64' buildConfiguration: 'Release' @@ -26,6 +27,13 @@ steps: script: 'env | sort' displayName: 'Display environment variables' +- task: PowerShell@2 + inputs: + targetType: filePath + filePath: $(System.DefaultWorkingDirectory)\versionnumber.ps1 + arguments: $(Build.SourcesDirectory) $(semanticVersion) $(Build.BuildId) $$(isPrerelease) + displayName: 'Setting build version' + - task: NuGetToolInstaller@1 - task: NuGetCommand@2 diff --git a/versionnumber.ps1 b/versionnumber.ps1 new file mode 100644 index 0000000..dfb50dc --- /dev/null +++ b/versionnumber.ps1 @@ -0,0 +1,46 @@ +[CmdletBinding()] +Param( + [Parameter(Mandatory=$true, Position=0)] + [string]$SourceDir, + [Parameter(Mandatory=$true, Position=1)] + [string]$SemanticVersion, + [Parameter(Mandatory=$true, Position=2)] + [string]$BuildId, + [Parameter(Mandatory=$true, Position=3)] + [bool]$IsPrerelease +) + +Write-Host "SemanticVersion = $SemanticVersion" +Write-Host "BuildId = $BuildId" + +$local:BuildNumber = ($BuildId % 65535) # max value for version part on Windows is 65534 +Write-Host "BuildNumber = $($local:BuildNumber)" + +$local:PackageCodeMarker = "255.255.65534" +$local:AssemblyCodeMarker = "255.255.65534.65534" +$local:AssemblyVersion = "${SemanticVersion}.$($local:BuildNumber)" +$local:PwShellVersion = "${SemanticVersion}.$($BuildId)" +if ($IsPrerelease) +{ + $local:PackageVersion = "${SemanticVersion}-dev-$($local:BuildNumber)" +} +else +{ + $local:PackageVersion = $SemanticVersion +} +Write-Host "PackageCodeMarker = $($local:PackageCodeMarker)" +Write-Host "AssemblyCodeMarker = $($local:AssemblyCodeMarker)" +Write-Host "PackageVersion = $($local:PackageVersion)" +Write-Host "AssemblyVersion = $($local:AssemblyVersion)" +Write-Host "PwShellVersion = $($local:PwShellVersion)" + +Write-Host "Replacing version information in RemoteApplicationPublisher assembly info" +$local:ProjectFile = (Join-Path $PSScriptRoot "RemoteApplicationPublisher\Properties\AssemblyInfo.cs") +(Get-Content $local:ProjectFile -Raw).replace($local:AssemblyCodeMarker, $local:AssemblyVersion) | Set-Content -Encoding UTF8 $local:ProjectFile +(Get-Content $local:ProjectFile -Raw).replace($local:PackageCodeMarker, $local:PackageVersion) | Set-Content -Encoding UTF8 $local:ProjectFile +Write-Output "*****" +Get-Content $local:ProjectFile +Write-Output "*****" + +Write-Output "##vso[task.setvariable variable=VersionString;]$($local:AssemblyVersion)" +Write-Output "##vso[task.setvariable variable=PwShellVersionString;]$($local:PwShellVersion)"