-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatadogNet.Android.Example.csproj
More file actions
111 lines (89 loc) · 5.24 KB
/
Copy pathDatadogNet.Android.Example.csproj
File metadata and controls
111 lines (89 loc) · 5.24 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net10.0-android36.0</TargetFrameworks>
<!-- <TargetFrameworks>net10.0-android36.0</TargetFrameworks> -->
<!-- Note for MacCatalyst:
The default runtime is maccatalyst-x64, except in Release config, in which case the default is maccatalyst-x64;maccatalyst-arm64.
When specifying both architectures, use the plural <RuntimeIdentifiers> instead of the singular <RuntimeIdentifier>.
The Mac App Store will NOT accept apps with ONLY maccatalyst-arm64 indicated;
either BOTH runtimes must be indicated or ONLY macatalyst-x64. -->
<!-- For example: <RuntimeIdentifiers>maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers> -->
<OutputType>Exe</OutputType>
<RootNamespace>DatadogNet.Android.Example</RootNamespace>
<UseMaui>true</UseMaui>
<SingleProject>true</SingleProject>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<!-- Display name -->
<ApplicationTitle>DatadogNet.Android.Example</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.sbokatuk.datadognet.example</ApplicationId>
<!-- Versions -->
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<!-- To develop, package, and publish an app to the Microsoft Store, see: https://aka.ms/MauiTemplateUnpackaged -->
<WindowsPackageType>None</WindowsPackageType>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">23.0</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<!-- App Icon -->
<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />
<!-- Splash Screen -->
<MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />
<!-- Images -->
<MauiImage Include="Resources\Images\*" />
<MauiImage Update="Resources\Images\dotnet_bot.png" Resize="True" BaseSize="300,185" />
<!-- Custom Fonts -->
<MauiFont Include="Resources\Fonts\*" />
<!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.9" />
</ItemGroup>
<!--
Resolved from ./artifacts through the local feed in the repository's NuGet.config, not from
nuget.org, so the sample always exercises your local build. Run ./build/BuildNugets.sh first.
Pass -p:DatadogPackageVersion=3.12.1.1-rc.1 to point it at a specific build.
RUM is the one an app starts with and pulls in Core and Internal. Logs, Trace, OkHttp and
Session Replay are opt-in, which is exactly how a real app references them.
-->
<PropertyGroup>
<DatadogPackageVersion Condition=" '$(DatadogPackageVersion)' == '' ">$(VersionPrefix)</DatadogPackageVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DatadogNet.RUM.Android" Version="$(DatadogPackageVersion)" />
<PackageReference Include="DatadogNet.Logs.Android" Version="$(DatadogPackageVersion)" />
<PackageReference Include="DatadogNet.Trace.Android" Version="$(DatadogPackageVersion)" />
<PackageReference Include="DatadogNet.SessionReplay.Android" Version="$(DatadogPackageVersion)" />
<!--
Without the Material extension, Session Replay records MAUI's own controls as blank
boxes: MAUI's Android handlers are built on Material Components.
-->
<PackageReference Include="DatadogNet.SessionReplayMaterial.Android" Version="$(DatadogPackageVersion)" />
<PackageReference Include="DatadogNet.Ndk.Android" Version="$(DatadogPackageVersion)" />
<PackageReference Include="DatadogNet.OkHttp.Android" Version="$(DatadogPackageVersion)" />
<PackageReference Include="DatadogNet.WebView.Android" Version="$(DatadogPackageVersion)" />
</ItemGroup>
<!--
AndroidX merged savedstate-ktx into savedstate itself at 1.3. MAUI 9 still pulls the old
standalone Xamarin.AndroidX.SavedState.SavedState.Ktx (1.2.1.17) through Lifecycle.Runtime.Ktx,
while SavedState.Android resolves to 1.3.1.1 - so both artifacts are in the app and D8 refuses
to dex duplicate androidx.savedstate classes.
This is a MAUI/AndroidX version-skew problem rather than anything to do with these bindings;
it reproduces in a plain MAUI app with the same AndroidX graph. Excluding the superseded ktx
package is the usual fix.
-->
<!--
net10, not net9, because MAUI 9 cannot build against the AndroidX generation these packages
depend on. A plain MAUI 9 app with nothing but Xamarin.AndroidX.AppCompat 1.7.1.1 added - no
Datadog package involved - fails generating Java callable wrappers with a NullReferenceException
inside the .NET Android SDK. MAUI 10 resolves that AndroidX generation natively and is fine.
The packages themselves still target net8, net9 and net10; this is a constraint on the MAUI
version a consumer builds with, not on the target framework they ship. See the AndroidX version
block in Directory.Build.props.
Building this needs the .NET 10 SDK, which the repository's global.json does not select - see
the command in the README.
-->
</Project>