Skip to content

Commit c28d6ee

Browse files
authored
Split VirtualClient into 4 runtimes packages (#480)
1 parent 30b48b6 commit c28d6ee

File tree

7 files changed

+242
-1
lines changed

7 files changed

+242
-1
lines changed

.pipelines/azure-pipelines-linux.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ stages:
4747
continueOnError: false
4848
inputs:
4949
packageType: 'sdk'
50-
version: '8.x'
50+
version: '9.x'
5151
useGlobalJson: false
5252
performMultiLevelLookup: true
5353
workingDirectory: '$(Build.SourcesDirectory)'

build-packages.cmd

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,30 @@ REM The packages project itself is not meant to produce a binary/.dll and thus i
8282
REM the requisite NuGet package assets file exist in the local 'obj' folder, we need to perform a restore.
8383
call dotnet restore %PACKAGES_PROJECT% --force
8484

85+
echo:
86+
echo [Create NuGet Package] VirtualClient.linux-arm64.%PACKAGE_VERSION%
87+
echo ----------------------------------------------------------
88+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c %BUILD_CONFIGURATION% ^
89+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.linux-arm64.nuspec && echo: || Goto :Error
90+
91+
echo:
92+
echo [Create NuGet Package] VirtualClient.linux-x64.%PACKAGE_VERSION%
93+
echo ----------------------------------------------------------
94+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c %BUILD_CONFIGURATION% ^
95+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.linux-x64.nuspec && echo: || Goto :Error
96+
97+
echo:
98+
echo [Create NuGet Package] VirtualClient.win-arm64.%PACKAGE_VERSION%
99+
echo ----------------------------------------------------------
100+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c %BUILD_CONFIGURATION% ^
101+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.win-arm64.nuspec && echo: || Goto :Error
102+
103+
echo:
104+
echo [Create NuGet Package] VirtualClient.win-x64.%PACKAGE_VERSION%
105+
echo ----------------------------------------------------------
106+
call dotnet pack %PACKAGES_PROJECT% --force --no-restore --no-build -c %BUILD_CONFIGURATION% ^
107+
-p:Version=%PACKAGE_VERSION% -p:NuspecFile=%PACKAGE_DIR%\nuspec\VirtualClient.win-x64.nuspec && echo: || Goto :Error
108+
85109
echo:
86110
echo [Create NuGet Package] VirtualClient.%PACKAGE_VERSION%
87111
echo ----------------------------------------------------------

build-packages.sh

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,50 @@ if [ $result -ne 0 ]; then
117117
Error
118118
fi
119119

120+
echo ""
121+
echo "[Create NuGet Package] VirtualClient.linux-arm64.$PACKAGE_VERSION"
122+
echo "----------------------------------------------------------"
123+
dotnet pack "$PACKAGES_PROJECT" --force --no-restore --no-build -c $BUILD_CONFIGURATION \
124+
-p:Version=$PACKAGE_VERSION -p:NuspecFile="$PACKAGES_PROJECT_DIR/nuspec/VirtualClient.linux-arm64.nuspec"
125+
126+
result=$?
127+
if [ $result -ne 0 ]; then
128+
Error
129+
fi
130+
131+
echo ""
132+
echo "[Create NuGet Package] VirtualClient.linux-x64.$PACKAGE_VERSION"
133+
echo "----------------------------------------------------------"
134+
dotnet pack "$PACKAGES_PROJECT" --force --no-restore --no-build -c $BUILD_CONFIGURATION \
135+
-p:Version=$PACKAGE_VERSION -p:NuspecFile="$PACKAGES_PROJECT_DIR/nuspec/VirtualClient.linux-x64.nuspec"
136+
137+
result=$?
138+
if [ $result -ne 0 ]; then
139+
Error
140+
fi
141+
142+
echo ""
143+
echo "[Create NuGet Package] VirtualClient.win-arm64.$PACKAGE_VERSION"
144+
echo "----------------------------------------------------------"
145+
dotnet pack "$PACKAGES_PROJECT" --force --no-restore --no-build -c $BUILD_CONFIGURATION \
146+
-p:Version=$PACKAGE_VERSION -p:NuspecFile="$PACKAGES_PROJECT_DIR/nuspec/VirtualClient.win-arm64.nuspec"
147+
148+
result=$?
149+
if [ $result -ne 0 ]; then
150+
Error
151+
fi
152+
153+
echo ""
154+
echo "[Create NuGet Package] VirtualClient.win-x64.$PACKAGE_VERSION"
155+
echo "----------------------------------------------------------"
156+
dotnet pack "$PACKAGES_PROJECT" --force --no-restore --no-build -c $BUILD_CONFIGURATION \
157+
-p:Version=$PACKAGE_VERSION -p:NuspecFile="$PACKAGES_PROJECT_DIR/nuspec/VirtualClient.win-x64.nuspec"
158+
159+
result=$?
160+
if [ $result -ne 0 ]; then
161+
Error
162+
fi
163+
120164
echo ""
121165
echo "[Create NuGet Package] VirtualClient.$PACKAGE_VERSION"
122166
echo "----------------------------------------------------------"
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
2+
<metadata>
3+
<id>VirtualClient.linux-arm64</id>
4+
<version>$Version$</version>
5+
<title>VirtualClient</title>
6+
<description>Runtime platform for executing a wide-range of benchmark and customer-representative workloads on a system.</description>
7+
<authors>Microsoft</authors>
8+
<license type="expression">MIT</license>
9+
<projectUrl>https://github.com/microsoft/VirtualClient</projectUrl>
10+
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
11+
<tags>Microsoft Azure VirtualClient Workload Benchmark</tags>
12+
13+
<dependencies>
14+
<group targetFramework=".net9.0"></group>
15+
</dependencies>
16+
</metadata>
17+
18+
<files>
19+
<!--
20+
We are moving towards a new model where Virtual Client can install packages. This new model expects packages
21+
to exist in a 'packages' directory. If they don't exist there, the package will be downloaded from either a NuGet feed
22+
or Blob store as defined in the profile (see the PERF-CPU-OPENSSL.json profile).
23+
24+
Note that we are excluding the following .dlls in order to keep the overall NuGet package size
25+
below 250MB (NuGet.org max package size limit). These .dlls are confirmed to be unnecessary for
26+
VirtualClient.
27+
28+
- Microsoft.AspNetCore.Razor.Language.dll
29+
- Microsoft.Diagnostics.Tracing.TraceEvent.dll
30+
-->
31+
32+
<!--
33+
linux-arm64
34+
=============================================================================================
35+
-->
36+
<file
37+
src="$BinConfigDir$\ARM64\VirtualClient.Main\net9.0\linux-arm64\**\*"
38+
exclude="**\*.pdb;*.xml;**\Microsoft.AspNetCore.Razor.Language.dll;**\Microsoft.Diagnostics.Tracing.TraceEvent.dll"
39+
target="content\linux-arm64"
40+
/>
41+
42+
</files>
43+
</package>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
2+
<metadata>
3+
<id>VirtualClient.linux-x64</id>
4+
<version>$Version$</version>
5+
<title>VirtualClient</title>
6+
<description>Runtime platform for executing a wide-range of benchmark and customer-representative workloads on a system.</description>
7+
<authors>Microsoft</authors>
8+
<license type="expression">MIT</license>
9+
<projectUrl>https://github.com/microsoft/VirtualClient</projectUrl>
10+
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
11+
<tags>Microsoft Azure VirtualClient Workload Benchmark</tags>
12+
13+
<dependencies>
14+
<group targetFramework=".net9.0"></group>
15+
</dependencies>
16+
</metadata>
17+
18+
<files>
19+
<!--
20+
We are moving towards a new model where Virtual Client can install packages. This new model expects packages
21+
to exist in a 'packages' directory. If they don't exist there, the package will be downloaded from either a NuGet feed
22+
or Blob store as defined in the profile (see the PERF-CPU-OPENSSL.json profile).
23+
24+
Note that we are excluding the following .dlls in order to keep the overall NuGet package size
25+
below 250MB (NuGet.org max package size limit). These .dlls are confirmed to be unnecessary for
26+
VirtualClient.
27+
28+
- Microsoft.AspNetCore.Razor.Language.dll
29+
- Microsoft.Diagnostics.Tracing.TraceEvent.dll
30+
-->
31+
32+
<!--
33+
linux-x64
34+
=============================================================================================
35+
-->
36+
<file
37+
src="$BinConfigDir$\x64\VirtualClient.Main\net9.0\linux-x64\**\*"
38+
exclude="**\*.pdb;*.xml;**\Microsoft.AspNetCore.Razor.Language.dll;**\Microsoft.Diagnostics.Tracing.TraceEvent.dll"
39+
target="content\linux-x64"
40+
/>
41+
42+
</files>
43+
</package>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
2+
<metadata>
3+
<id>VirtualClient.win-arm64</id>
4+
<version>$Version$</version>
5+
<title>VirtualClient</title>
6+
<description>Runtime platform for executing a wide-range of benchmark and customer-representative workloads on a system.</description>
7+
<authors>Microsoft</authors>
8+
<license type="expression">MIT</license>
9+
<projectUrl>https://github.com/microsoft/VirtualClient</projectUrl>
10+
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
11+
<tags>Microsoft Azure VirtualClient Workload Benchmark</tags>
12+
13+
<dependencies>
14+
<group targetFramework=".net9.0"></group>
15+
</dependencies>
16+
</metadata>
17+
18+
<files>
19+
<!--
20+
We are moving towards a new model where Virtual Client can install packages. This new model expects packages
21+
to exist in a 'packages' directory. If they don't exist there, the package will be downloaded from either a NuGet feed
22+
or Blob store as defined in the profile (see the PERF-CPU-OPENSSL.json profile).
23+
24+
Note that we are excluding the following .dlls in order to keep the overall NuGet package size
25+
below 250MB (NuGet.org max package size limit). These .dlls are confirmed to be unnecessary for
26+
VirtualClient.
27+
28+
- Microsoft.AspNetCore.Razor.Language.dll
29+
- Microsoft.Diagnostics.Tracing.TraceEvent.dll
30+
-->
31+
32+
<!--
33+
win-arm64
34+
=============================================================================================
35+
-->
36+
37+
<file
38+
src="$BinConfigDir$\ARM64\VirtualClient.Main\net9.0\win-arm64\**\*"
39+
exclude="**\*.pdb;*.xml;**\Microsoft.AspNetCore.Razor.Language.dll;**\Microsoft.Diagnostics.Tracing.TraceEvent.dll"
40+
target="content\win-arm64"
41+
/>
42+
43+
</files>
44+
</package>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
2+
<metadata>
3+
<id>VirtualClient.win-x64</id>
4+
<version>$Version$</version>
5+
<title>VirtualClient</title>
6+
<description>Runtime platform for executing a wide-range of benchmark and customer-representative workloads on a system.</description>
7+
<authors>Microsoft</authors>
8+
<license type="expression">MIT</license>
9+
<projectUrl>https://github.com/microsoft/VirtualClient</projectUrl>
10+
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
11+
<tags>Microsoft Azure VirtualClient Workload Benchmark</tags>
12+
13+
<dependencies>
14+
<group targetFramework=".net9.0"></group>
15+
</dependencies>
16+
</metadata>
17+
18+
<files>
19+
<!--
20+
We are moving towards a new model where Virtual Client can install packages. This new model expects packages
21+
to exist in a 'packages' directory. If they don't exist there, the package will be downloaded from either a NuGet feed
22+
or Blob store as defined in the profile (see the PERF-CPU-OPENSSL.json profile).
23+
24+
Note that we are excluding the following .dlls in order to keep the overall NuGet package size
25+
below 250MB (NuGet.org max package size limit). These .dlls are confirmed to be unnecessary for
26+
VirtualClient.
27+
28+
- Microsoft.AspNetCore.Razor.Language.dll
29+
- Microsoft.Diagnostics.Tracing.TraceEvent.dll
30+
-->
31+
32+
<!--
33+
win-x64
34+
=============================================================================================
35+
-->
36+
<file
37+
src="$BinConfigDir$\x64\VirtualClient.Main\net9.0\win-x64\**\*"
38+
exclude="**\*.pdb;*.xml;**\Microsoft.AspNetCore.Razor.Language.dll;**\Microsoft.Diagnostics.Tracing.TraceEvent.dll"
39+
target="content\win-x64"
40+
/>
41+
42+
</files>
43+
</package>

0 commit comments

Comments
 (0)