-
Notifications
You must be signed in to change notification settings - Fork 531
Expand file tree
/
Copy pathGenerateApps.msbuild
More file actions
84 lines (69 loc) · 6.8 KB
/
GenerateApps.msbuild
File metadata and controls
84 lines (69 loc) · 6.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_NetWindowsTarget>net8.0-windows10.0.19041.0</_NetWindowsTarget>
<_NetMauiVersion>net10.0</_NetMauiVersion>
<_NetWindowsMauiTarget>$(_NetMauiVersion)-windows10.0.19041.0</_NetWindowsMauiTarget>
<_NetAndroidTarget>$(_NetMauiVersion)-android</_NetAndroidTarget>
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
<RELEASE_VERSION Condition="'$(RELEASE_VERSION)'==''">300.0.0</RELEASE_VERSION>
<BUILD_NUM Condition="'$(BUILD_NUM)'==''">0</BUILD_NUM>
<ArcGISMapsSDKVersion>$(RELEASE_VERSION)</ArcGISMapsSDKVersion>
<AppManifestNamespace>
<Namespace Prefix="dn" Uri="http://schemas.microsoft.com/appx/manifest/foundation/windows10" />
</AppManifestNamespace>
<MSBuildProjectNamespace>
<Namespace Prefix="ms" Uri="http://schemas.microsoft.com/developer/msbuild/2003" />
</MSBuildProjectNamespace>
<XmlNamespace>
<Namespace Prefix="xns" Uri="http://schemas.microsoft.com/winfx/2006/xaml/presentation" />
</XmlNamespace>
</PropertyGroup>
<ItemGroup>
<WPFProject Include="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\ArcGIS.WPF.Viewer.Net.csproj" />
<WPFWAPProject Include="$(MSBuildThisFileDirectory)..\src\WPF\WPF.StorePackage\ArcGIS.WPF.StorePackage.wapproj" />
<WinUIProject Include="$(MSBuildThisFileDirectory)..\src\WinUI\ArcGIS.WinUI.Viewer\ArcGIS.WinUI.Viewer.csproj" />
<MAUIProject Include="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\ArcGIS.Samples.Maui.csproj"/>
</ItemGroup>
<Target Name="BuildWPF" DependsOnTargets="CreateOutputDirectory">
<!-- Note: Due to bug in WAP build tasks, multi-targeted projects are not working - we're modifying project target framework properties here to work around the problem -->
<MSBuild Projects="@(WPFProject)" Targets="Restore" Properties="ArcGISMapsSDKVersion=$(ArcGISMapsSDKVersion)" />
<!-- .NET -->
<XmlPoke XmlInputPath="$(MSBuildThisFileDirectory)..\src\WPF\WPF.StorePackage\Package.appxmanifest"
Value="$(RELEASE_VERSION).$(BUILD_NUM)" Query="/dn:Package/dn:Identity/@Version" Namespaces="$(AppManifestNamespace)"/>
<XmlPoke Condition="'$(PUBLISHER)'!=''" XmlInputPath="$(MSBuildThisFileDirectory)..\src\WPF\WPF.StorePackage\Package.appxmanifest"
Value="$(PUBLISHER)" Query="/dn:Package/dn:Identity/@Publisher" Namespaces="$(AppManifestNamespace)"/>
<MSBuild Projects="@(WPFProject)" Targets="Build" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsTarget);Platform=x64" />
<MSBuild Projects="@(WPFProject)" Targets="Build" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsTarget);Platform=arm64" />
<ItemGroup>
<_WpfX64Files Include="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\bin\x64\Release\$(_NetWindowsTarget)\**\*.*" />
<_WpfArm64Files Include="$(MSBuildThisFileDirectory)..\src\WPF\WPF.Viewer\bin\arm64\Release\$(_NetWindowsTarget)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(_WpfArm64Files)" DestinationFolder="$(MSBuildThisFileDirectory)..\output\WPF\%(RecursiveDir)\" />
<Copy SourceFiles="@(_WpfX64Files)" DestinationFolder="$(MSBuildThisFileDirectory)..\output\WPF\%(RecursiveDir)" />
</Target>
<Target Name="BuildWinUI" DependsOnTargets="CreateOutputDirectory">
<XmlPoke XmlInputPath="$(MSBuildThisFileDirectory)..\src\WinUI\ArcGIS.WinUI.Viewer\Package.appxmanifest"
Value="$(RELEASE_VERSION).$(BUILD_NUM)" Query="/dn:Package/dn:Identity/@Version" Namespaces="$(AppManifestNamespace)"/>
<XmlPoke Condition="'$(PUBLISHER)'!=''" XmlInputPath="$(MSBuildThisFileDirectory)..\src\WinUI\ArcGIS.WinUI.Viewer\Package.appxmanifest"
Value="$(PUBLISHER)" Query="/dn:Package/dn:Identity/@Publisher" Namespaces="$(AppManifestNamespace)"/>
<MSBuild Projects="@(WinUIProject)" Targets="Restore" Properties="PublishReadyToRun=true;ArcGISMapsSDKVersion=$(ArcGISMapsSDKVersion)" />
<MSBuild Projects="@(WinUIProject)" Targets="Build" Properties="Configuration=$(Configuration);GenerateAppxPackageOnBuild=true;RuntimeIdentifier=win10-x64;Platform=x64;PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword);PackageCertificateThumbprint=$(PackageCertificateThumbprint)" />
<MSBuild Projects="@(WinUIProject)" Targets="Build" Properties="Configuration=$(Configuration);GenerateAppxPackageOnBuild=true;RuntimeIdentifier=win10-arm64;Platform=ARM64;PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword);PackageCertificateThumbprint=$(PackageCertificateThumbprint)" />
</Target>
<Target Name="BuildMaui" DependsOnTargets="CreateOutputDirectory">
<XmlPoke Condition="'$(PUBLISHER)'!=''" XmlInputPath="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\Platforms\Windows\Package.appxmanifest"
Value="$(PUBLISHER)" Query="/dn:Package/dn:Identity/@Publisher" Namespaces="$(AppManifestNamespace)"/>
<MSBuild Projects="@(MAUIProject)" Targets="Restore" Properties="ArcGISMapsSDKVersion=$(ArcGISMapsSDKVersion);PublishReadyToRun=true"/>
<MSBuild Projects="@(MAUIProject)" Targets="Publish" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsMauiTarget);RuntimeIdentifier=win-x64;ApplicationDisplayVersion=$(RELEASE_VERSION);ApplicationVersion=$(BUILD_NUM);PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword)" />
<MSBuild Projects="@(MAUIProject)" Targets="Publish" Properties="Configuration=$(Configuration);TargetFramework=$(_NetWindowsMauiTarget);RuntimeIdentifier=win-arm64;ApplicationDisplayVersion=$(RELEASE_VERSION);ApplicationVersion=$(BUILD_NUM);PackageCertificateKeyFile=$(PFXSignatureFile);PackageCertificatePassword=$(PFXSignaturePassword)" />
<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)" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\bin\Release\$(_NetAndroidTarget)\com.esri.arcgisruntime.samples.maui-Signed.apk"
DestinationFolder="$(MSBuildThisFileDirectory)..\output\" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)..\src\MAUI\Maui.Samples\bin\Release\$(_NetAndroidTarget)\com.esri.arcgisruntime.samples.maui-Signed.aab"
DestinationFolder="$(MSBuildThisFileDirectory)..\output\" />
</Target>
<Target Name="CreateOutputDirectory">
<MakeDir Directories="$(MSBuildThisFileDirectory)..\output" />
</Target>
<Target Name="BuildAll" DependsOnTargets="BuildWPF;BuildWinUI;BuildMaui" />
</Project>