Skip to content

Commit 2018242

Browse files
authored
Update Windows CI scripts (#1797)
1 parent 6045a1d commit 2018242

2 files changed

Lines changed: 40 additions & 26 deletions

File tree

tools/GenerateApps.msbuild

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
22

33
<PropertyGroup>
4-
<_NetFrameworkTarget>net472</_NetFrameworkTarget>
54
<_NetWindowsTarget>net8.0-windows10.0.19041.0</_NetWindowsTarget>
6-
<_NetWindowsMauiTarget>net9.0-windows10.0.19041.0</_NetWindowsMauiTarget>
7-
<_NetAndroidTarget>net9.0-android</_NetAndroidTarget>
5+
<_NetMauiVersion>net10.0</_NetMauiVersion>
6+
<_NetWindowsMauiTarget>$(_NetMauiVersion)-windows10.0.19041.0</_NetWindowsMauiTarget>
7+
<_NetAndroidTarget>$(_NetMauiVersion)-android</_NetAndroidTarget>
88
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
99
<RELEASE_VERSION Condition="'$(RELEASE_VERSION)'==''">300.0.0</RELEASE_VERSION>
1010
<BUILD_NUM Condition="'$(BUILD_NUM)'==''">0</BUILD_NUM>
@@ -39,11 +39,15 @@
3939
Value="$(PUBLISHER)" Query="/dn:Package/dn:Identity/@Publisher" Namespaces="$(AppManifestNamespace)"/>
4040

4141
<MSBuild Projects="@(WPFProject)" Targets="Build" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsTarget);Platform=x64" />
42-
<MSBuild Projects="@(WPFWAPProject)" Targets="Restore" Properties="Configuration=$(Configuration);ArcGISMapsSDKVersion=$(ArcGISMapsSDKVersion)" />
43-
<MSBuild Projects="@(WPFWAPProject)" Targets="Build" Properties="Configuration=$(Configuration);Platform=x64;PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword);PackageCertificateThumbprint=$(PackageCertificateThumbprint)" />
44-
<ZipDirectory SourceDirectory="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\bin\x64\Release\$(_NetWindowsTarget)" DestinationFile="$(MSBuildThisFileDirectory)..\output\WPF_$(_NetWindowsTarget)_$(Configuration)_x64.zip" Overwrite="true" />
45-
<MSBuild Projects="@(WPFWAPProject)" Targets="Build" Properties="Configuration=$(Configuration);Platform=arm64;PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword);PackageCertificateThumbprint=$(PackageCertificateThumbprint)" />
46-
<ZipDirectory SourceDirectory="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\bin\ARM64\Release\$(_NetWindowsTarget)" DestinationFile="$(MSBuildThisFileDirectory)..\output\WPF_$(_NetWindowsTarget)_$(Configuration)_ARM64.zip" Overwrite="true" />
42+
<MSBuild Projects="@(WPFProject)" Targets="Build" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsTarget);Platform=arm64" />
43+
44+
<ItemGroup>
45+
<_WpfX64Files Include="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\bin\x64\Release\$(_NetWindowsTarget)\**\*.*" />
46+
<_WpfArm64Files Include="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\bin\arm64\Release\$(_NetWindowsTarget)\**\*.*" />
47+
</ItemGroup>
48+
49+
<Copy SourceFiles="@(_WpfArm64Files)" DestinationFolder="$(MSBuildThisFileDirectory)..\output\WPF\%(RecursiveDir)\" />
50+
<Copy SourceFiles="@(_WpfX64Files)" DestinationFolder="$(MSBuildThisFileDirectory)..\output\WPF\%(RecursiveDir)" />
4751
</Target>
4852

4953
<Target Name="BuildWinUI" DependsOnTargets="CreateOutputDirectory">
@@ -64,9 +68,9 @@
6468
<MSBuild Projects="@(MAUIProject)" Targets="Publish" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsMauiTarget);RuntimeIdentifier=win-arm64;ApplicationDisplayVersion=$(RELEASE_VERSION);ApplicationVersion=$(BUILD_NUM);PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword)" />
6569
<MSBuild Projects="@(MAUIProject)" Targets="Publish" Properties="Configuration=$(Configuration);TargetFramework=$(_NetAndroidTarget);ApplicationDisplayVersion=$(RELEASE_VERSION);ApplicationVersion=$(BUILD_NUM);AndroidKeyStore=true;AndroidSigningKeyStore=$(KeyStoreFile);AndroidSigningKeyPass=$(KeyPass);AndroidSigningStorePass=$(KeyPass);AndroidSigningKeyAlias=$(KeyAlias)" />
6670

67-
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\bin\Release\net9.0-android\com.esri.arcgisruntime.samples.maui-Signed.apk"
71+
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\bin\Release\$(_NetAndroidTarget)\com.esri.arcgisruntime.samples.maui-Signed.apk"
6872
DestinationFolder="$(MSBuildThisFileDirectory)..\output\" />
69-
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\bin\Release\net9.0-android\com.esri.arcgisruntime.samples.maui-Signed.aab"
73+
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\bin\Release\$(_NetAndroidTarget)\com.esri.arcgisruntime.samples.maui-Signed.aab"
7074
DestinationFolder="$(MSBuildThisFileDirectory)..\output\" />
7175
</Target>
7276

tools/cibuild.cmd

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,41 @@
11
REM @ECHO OFF
2-
ECHO SEARCHING FOR VISUAL STUDIO...
3-
"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -prerelease -version [17.8,18.0) -sort -requires Microsoft.Component.MSBuild -products * -property InstallationPath > %TEMP%\vsinstalldir.txt
4-
SET /p _VSINSTALLDIR=<%TEMP%\vsinstalldir.txt
5-
DEL %TEMP%\vsinstalldir.txt
6-
IF "%_VSINSTALLDIR%"=="" (
7-
ECHO ERROR: VISUAL STUDIO NOT FOUND
8-
EXIT /B 1
2+
3+
REM Default environment variables
4+
IF "%DOTNET_VERSION%" == "" (
5+
set DOTNET_VERSION=10.0.203
96
)
10-
IF "%VSINSTALLDIR%"=="" (
11-
CALL "%_VSINSTALLDIR%\Common7\Tools\VsDevCmd.bat"
7+
IF "%RELEASE_VERSION%" == "" (
8+
SET RELEASE_VERSION=300.1.0
129
)
1310

14-
IF "%RELEASE_VERSION%" == "" (
15-
SET RELEASE_VERSION=300.0.0
11+
REM Install the latest dotnet version if not already cached to the build machine
12+
if "%DOTNET_CACHE_FOLDER%" == "" (
13+
set DOTNET_INSTALL_FOLDER=%WORKSPACE%\.dotnet
14+
) ELSE (
15+
set DOTNET_INSTALL_FOLDER=%DOTNET_CACHE_FOLDER%\%DOTNET_VERSION%
16+
)
17+
18+
if NOT EXIST "%DOTNET_INSTALL_FOLDER%\dotnet.exe" (
19+
curl -L https://dot.net/v1/dotnet-install.ps1 -o %WORKSPACE%\dotnet-install.ps1
20+
powershell -File %WORKSPACE%\dotnet-install.ps1 -version %DOTNET_VERSION% -InstallDir %DOTNET_INSTALL_FOLDER%
1621
)
1722

23+
SET DOTNET_EXE=%DOTNET_INSTALL_FOLDER%\dotnet.exe
24+
ECHO Installed dotnet at %DOTNET_EXE%
25+
1826
REM Configure NuGet
19-
dotnet new nugetconfig --force -o ../
27+
%DOTNET_EXE% new nugetconfig --force -o ../
2028
IF "%NUGET_REPO%" NEQ "" IF EXIST "%NUGET_REPO%" (
21-
dotnet nuget add source %NUGET_REPO%
29+
%DOTNET_EXE% nuget add source %NUGET_REPO%
2230
)
2331
SET NUGET_PACKAGES=%~dp0..\.nuget\packages
2432
SET NUGET_HTTP_CACHE_PATH=%~dp0..\.nuget\cache
2533
md %NUGET_PACKAGES%
2634
md %NUGET_HTTP_CACHE_PATH%
2735

36+
REM Install maui workload
37+
%DOTNET_EXE% workload install maui --version %DOTNET_VERSION%
38+
2839
SET licenseFile=%~dp0..\src\Samples.Shared\Managers\LicenseStrings.generated.cs
2940
IF "%ArcGISLicenseKey%" NEQ "" (
3041
REM Override LicenseKeys if available
@@ -54,6 +65,5 @@ IF "%ARCGIS_API_KEY%" NEQ "" (
5465
ECHO ^}^}^} >>%keyFile%
5566
)
5667

57-
58-
msbuild /t:BuildAll %~dp0GenerateApps.msbuild /p:BUILD_NUM=%BUILD_NUM% /p:RELEASE_VERSION=%RELEASE_VERSION% /p:PUBLISHER="%PUBLISHER%" /p:PFXSignaturePassword=%PFXSignaturePassword% /p:PFXSignatureFile=%PFXSignatureFile% /p:PackageCertificateThumbprint=%PackageCertificateThumbprint% /p:KeyStoreFile=%KeyStoreFile% /p:KeyPass=%KeyPass% /p:KeyAlias=%KeyAlias%
59-
68+
set PUBLISHER=%PUBLISHER:\"="%
69+
%DOTNET_EXE% msbuild %~dp0GenerateApps.msbuild -t:BuildAll -p:BUILD_NUM=%BUILD_NUM% -p:RELEASE_VERSION=%RELEASE_VERSION% -p:PFXSignaturePassword=%PFXSignaturePassword% -p:PFXSignatureFile=%PFXSignatureFile% -p:PackageCertificateThumbprint=%PackageCertificateThumbprint% -p:KeyStoreFile=%KeyStoreFile% -p:KeyPass=%KeyPass% -p:KeyAlias=%KeyAlias%

0 commit comments

Comments
 (0)