Skip to content

Commit 4834a95

Browse files
committed
Remove AssemblyVersion definition accidentally left in Module.props. Refactor build scripts for consistency with other repo usages.
1 parent dcd2c57 commit 4834a95

File tree

23 files changed

+597
-261
lines changed

23 files changed

+597
-261
lines changed

.buildenv/BuildEnv.targets

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@
145145
<Message Text="OutputType : '$(OutputType)'" Importance="High" />
146146
<Message Text="ModuleName : '$(ModuleName)'" Importance="High" />
147147
<Message Text="ModulePath : '$(ModulePath)'" Importance="High" />
148+
<Message Text="AssemblyVersion : '$(AssemblyVersion)'" Importance="High" />
149+
<Message Text="FileVersion : '$(FileVersion)'" Importance="High" />
150+
<Message Text="PackageVersion : '$(Version)'" Importance="High" Condition="'$(Version)' != '' and '$(Version)' != '1.0.0'" />
151+
<Message Text="Product : '$(Product)'" Importance="High" />
148152
<Message Text="BuildInParallel : '$(BuildInParallel)'" Importance="High" />
149153
<Message Text="BuildEnvPath : '$(BuildEnvPath)'" Importance="High" />
150154
<Message Text="BuildEnvRulesPath : '$(BuildEnvRulesPath)'" Importance="High" />

.pipelines/azure-pipelines-linux.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ stages:
5757
version=$(cat $(Build.SourcesDirectory)/VERSION)
5858
5959
# Set the file content as a pipeline variable
60-
echo "##vso[task.setvariable variable=VcVersion]$version"
61-
displayName: 'Set VC Version'
60+
echo "$version"
61+
displayName: 'Show VC Build Version'
6262
6363
- script: chmod -R +x $(Build.SourcesDirectory)
6464
displayName: 'Allow scripts to be executable on Linux'
@@ -68,19 +68,19 @@ stages:
6868
# displayName: 'Clean Output Directories'
6969

7070
# Build the repo.
71-
- script: $(Build.SourcesDirectory)/build.sh $(VcVersion) --build-all
71+
- script: $(Build.SourcesDirectory)/build.sh
7272
displayName: 'Build Solutions'
7373

74-
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-rpm-linux-arm64.sh $(VcVersion)
74+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-rpm-linux-arm64.sh
7575
displayName: 'Build rpm package for linux arm64'
7676

77-
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-rpm-linux-x64.sh $(VcVersion)
77+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-rpm-linux-x64.sh
7878
displayName: 'Build rpm package for linux x64'
7979

80-
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-arm64.sh $(VcVersion)
80+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-arm64.sh
8181
displayName: 'Build deb package for linux arm64'
8282

83-
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-x64.sh $(VcVersion)
83+
- script: $(Build.SourcesDirectory)/src/VirtualClient/VirtualClient.Packaging/build-deb-linux-x64.sh
8484
displayName: 'Build deb package for linux x64'
8585

8686

.pipelines/azure-pipelines.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ pool:
1818
vmImage: windows-latest
1919

2020
variables:
21-
VcVersion : 1.0.0
2221
ROOT: $(Build.SourcesDirectory)
2322
CDP_DEFINITION_BUILD_COUNT: $[counter('', 0)] # needed for onebranch.pipeline.version task https://aka.ms/obpipelines/versioning
2423
ENABLE_PRS_DELAYSIGN: 1
@@ -45,19 +44,20 @@ steps:
4544
$version=Get-Content $(Build.SourcesDirectory)\VERSION
4645
$version
4746
# Set the file content as a pipeline variable
48-
Write-Host "##vso[task.setvariable variable=VcVersion]$version"
49-
displayName: 'Set VC Version'
47+
# Write-Host "##vso[task.setvariable variable=VcVersion]$version"
48+
Write-Host "Build Version = $version"
49+
displayName: 'Show VC Build Version'
5050

5151
# Ensure the artifact output/bin/obj directories are clean.
5252
- script: $(Build.SourcesDirectory)\clean.cmd
5353
displayName: 'Clean Output Directories'
5454

5555
# Build the repo.
56-
- script: $(Build.SourcesDirectory)\build.cmd $(VcVersion)
56+
- script: $(Build.SourcesDirectory)\build.cmd
5757
displayName: 'Build Solutions'
5858

5959
# Build NuGet packages for the services/agents in the repo.
60-
- script: $(Build.SourcesDirectory)\build-packages.cmd $(VcVersion)$(VersionSuffix)
60+
- script: $(Build.SourcesDirectory)\build-packages.cmd --suffix $(VersionSuffix)
6161
displayName: 'Build NuGet Packages'
6262

6363
- task: EsrpCodeSigning@5

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.16.35
1+
1.16.36

build-packages.cmd

Lines changed: 110 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,151 @@
11
@echo Off
2+
setlocal enabledelayedexpansion
23

3-
set ExitCode=0
4+
set EXIT_CODE=0
5+
set SCRIPT_DIR=%~dp0
6+
set SCRIPT_DIR=%SCRIPT_DIR:~0,-1%
7+
set BUILD_CONFIGURATION=Release
8+
set BUILD_VERSION=
9+
set PACKAGE_SUFFIX=
10+
set SUFFIX_FOUND=
11+
set TEMP_SUFFIX=
412

513
if /i "%~1" == "/?" Goto :Usage
614
if /i "%~1" == "-?" Goto :Usage
715
if /i "%~1" == "--help" Goto :Usage
816

9-
REM The "VCBuildVersion" environment variable is referenced by the MSBuild processes during build.
10-
REM All binaries will be compiled with this version (e.g. .dlls + .exes). The packaging process uses
11-
REM the same environment variable to define the version of the NuGet package(s) produced. The build
12-
REM version can be overridden on the command line.
13-
if /i NOT "%~1" == "" (
14-
set VCBuildVersion=%~1
17+
for %%a in (%*) do (
18+
19+
if defined SUFFIX_FOUND (
20+
set SUFFIX_FOUND=!!
21+
22+
rem Note that we MUST use delayed variable expansion inside of the
23+
rem 'for' loop here because environment variable are evaluated only once
24+
rem before the 'for' loop begins otherwise (i.e. vs on each loop).
25+
set TEMP_SUFFIX=%%a
26+
27+
:Loop
28+
if "!TEMP_SUFFIX:~0,1!" == "-" (
29+
set TEMP_SUFFIX=!TEMP_SUFFIX:~1!
30+
Goto :Loop
31+
)
32+
33+
set PACKAGE_SUFFIX=!TEMP_SUFFIX!
34+
35+
) else (
36+
rem Pass in the --suffix flag to define a suffix for the NuGet package
37+
rem build artifacts produced (e.g. suffix = -beta -> 1.16.25-beta)
38+
if /i "%%a" == "--suffix" (
39+
set SUFFIX_FOUND="true"
40+
)
41+
)
42+
)
43+
44+
for %%a in (%*) do (
45+
46+
rem Build Configurations:
47+
rem 1) Release (Default)
48+
rem 2) Debug
49+
rem
50+
rem Pass in the --debug flag to use 'Debug' build configuration
51+
if /i "%%a" == "--debug" (
52+
set BUILD_CONFIGURATION=Debug
53+
)
1554
)
1655

17-
if /i "%VCBuildVersion%" == "" (
18-
set VCBuildVersion=0.0.1.0
56+
rem The default build version is defined in the repo VERSION file.
57+
set /p BUILD_VERSION=<%SCRIPT_DIR%\VERSION
58+
59+
rem The default build version can be overridden by the 'VCBUILD_VERSION'
60+
rem environment variable
61+
if defined VCBUILD_VERSION (
62+
set BUILD_VERSION=%VCBUILD_VERSION%
1963
)
2064

21-
set VCSolutionDir=%~dp0src\VirtualClient
22-
set PackageDir=%VCSolutionDir%\VirtualClient.Packaging
23-
set PackagesProject=%VCSolutionDir%\VirtualClient.Packaging\VirtualClient.Packaging.csproj
65+
set PACKAGE_VERSION=%BUILD_VERSION%
66+
if defined PACKAGE_SUFFIX set PACKAGE_VERSION=%BUILD_VERSION%-%PACKAGE_SUFFIX%
67+
68+
echo:
69+
echo **********************************************************************
70+
echo Build Version : %BUILD_VERSION%
71+
echo Repo Root : %SCRIPT_DIR%
72+
echo Configuration : %BUILD_CONFIGURATION%
73+
echo Package Version : %PACKAGE_VERSION%
74+
echo **********************************************************************
2475

76+
set VC_SOLUTION_DIR=%SCRIPT_DIR%\src\VirtualClient
77+
set PACKAGE_DIR=%VC_SOLUTION_DIR%\VirtualClient.Packaging
78+
set PACKAGES_PROJECT=%VC_SOLUTION_DIR%\VirtualClient.Packaging\VirtualClient.Packaging.csproj
2579

2680
REM The packages project itself is not meant to produce a binary/.dll and thus is not built. However, to ensure
2781
REM the requisite NuGet package assets file exist in the local 'obj' folder, we need to perform a restore.
28-
call dotnet restore %PackagesProject% --force
82+
call dotnet restore %PACKAGES_PROJECT% --force
2983

3084
echo:
31-
echo [Create NuGet Package] VirtualClient %VCBuildVersion%
32-
echo --------------------------------------------------
33-
call dotnet pack %PackagesProject% --force --no-restore --no-build -c Release -p:Version=%VCBuildVersion% -p:NuspecFile=%PackageDir%\nuspec\VirtualClient.nuspec && echo: || Goto :Error
85+
echo [Create NuGet Package] VirtualClient.%PACKAGE_VERSION%
86+
echo ----------------------------------------------------------
87+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c Release ^
88+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.nuspec && echo: || Goto :Error
3489

3590
echo:
36-
echo [Create NuGet Package] VirtualClient.Framework %VCBuildVersion%
37-
echo --------------------------------------------------
38-
call dotnet pack %PackagesProject% --force --no-restore --no-build -c Release -p:Version=%VCBuildVersion% -p:NuspecFile=%PackageDir%\nuspec\VirtualClient.Framework.nuspec && echo: || Goto :Error
91+
echo [Create NuGet Package] VirtualClient.Framework.%PACKAGE_VERSION%
92+
echo ----------------------------------------------------------
93+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c Release ^
94+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.Framework.nuspec && echo: || Goto :Error
3995

4096
echo:
41-
echo [Create NuGet Package] VirtualClient.TestFramework %VCBuildVersion%
42-
echo --------------------------------------------------
43-
call dotnet pack %PackagesProject% --force --no-restore --no-build -c Release -p:Version=%VCBuildVersion% -p:NuspecFile=%PackageDir%\nuspec\VirtualClient.TestFramework.nuspec && echo: || Goto :Error
97+
echo [Create NuGet Package] VirtualClient.TestFramework.%PACKAGE_VERSION%
98+
echo ----------------------------------------------------------
99+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c Release ^
100+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.TestFramework.nuspec && echo: || Goto :Error
101+
44102
Goto :End
45103

104+
46105
:Usage
47106
echo:
48-
echo Usage:
107+
echo Creates packages from the build artifacts (e.g. NuGet).
108+
echo:
109+
echo Options:
49110
echo ---------------------
50-
echo %~0
51-
echo %~0 {buildVersion}
111+
echo --debug - Flag requests build configuration to be 'Debug' vs. the default 'Release'.
112+
echo --suffix - Flag requests a suffix be added to the packages produced (e.g. virtualclient.1.16.25-beta).
113+
echo Valid values include: alpha, beta.
52114
echo:
115+
echo Usage:
116+
echo ---------------------
117+
echo build-packages.cmd [--debug] [--suffix <alpha|beta>]
53118
echo:
54119
echo Examples:
55120
echo ---------------------
56-
echo # Build packages using default build version
57-
echo %~0
121+
echo %SCRIPT_DIR%^> build-packages.cmd
58122
echo:
59-
echo # Pass the build/package version into the command
60-
echo %~0 1.0.1485.571
123+
echo %SCRIPT_DIR%^> build-packages.cmd --debug
61124
echo:
62-
echo # Set the build/package version in an environment variable, then build
63-
echo set VCBuildVersion=1.0.1485.571
64-
echo %~0
125+
echo %SCRIPT_DIR%^> build-packages.cmd --suffix beta
65126
echo:
127+
echo %SCRIPT_DIR%^> set VCBUILD_VERSION=1.16.25
128+
echo %SCRIPT_DIR%^> build.cmd --debug --suffix beta
66129
Goto :Finish
67130

131+
68132
:Error
69-
set ExitCode=%ERRORLEVEL%
133+
set EXIT_CODE=%ERRORLEVEL%
134+
70135

71136
:End
72137
REM Reset environment variables
73-
set PackageDir=
74-
set PackagesProject=
75-
set VCSolutionDir=
76-
echo Packaging Stage Exit Code: %ExitCode%
138+
set BUILD_CONFIGURATION=
139+
set BUILD_VERSION=
140+
set PACKAGE_SUFFIX=
141+
set PACKAGE_VERSION=
142+
set SCRIPT_DIR=
143+
set SUFFIX_FOUND=
144+
set TEMP_SUFFIX=
145+
set VC_SOLUTION_DIR=
146+
147+
echo Packaging Stage Exit Code: %EXIT_CODE%
148+
77149

78150
:Finish
79-
exit /B %ExitCode%
151+
exit /B %EXIT_CODE%

0 commit comments

Comments
 (0)