From f77363de856c619ce9f17798b7737a1d7de008fc Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 22:29:58 -0300 Subject: [PATCH 01/46] fix break changes --- .../Device/Screenshot/ScreenshotAttachment.cs | 2 +- Src/Sentry.Xamarin/Sentry.Xamarin.csproj | 4 ++-- .../Mock/MockHub.cs | 19 ++++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Src/Sentry.Xamarin/Internals/Device/Screenshot/ScreenshotAttachment.cs b/Src/Sentry.Xamarin/Internals/Device/Screenshot/ScreenshotAttachment.cs index 6867d1c..c2e8141 100644 --- a/Src/Sentry.Xamarin/Internals/Device/Screenshot/ScreenshotAttachment.cs +++ b/Src/Sentry.Xamarin/Internals/Device/Screenshot/ScreenshotAttachment.cs @@ -1,6 +1,6 @@ namespace Sentry.Internals.Device.Screenshot { - internal class ScreenshotAttachment : Attachment + internal class ScreenshotAttachment : SentryAttachment { public ScreenshotAttachment(IAttachmentContent content) : this( diff --git a/Src/Sentry.Xamarin/Sentry.Xamarin.csproj b/Src/Sentry.Xamarin/Sentry.Xamarin.csproj index e6ac921..880e2c3 100644 --- a/Src/Sentry.Xamarin/Sentry.Xamarin.csproj +++ b/Src/Sentry.Xamarin/Sentry.Xamarin.csproj @@ -49,7 +49,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/Tests/Sentry.Xamarin.Forms.Testing/Mock/MockHub.cs b/Tests/Sentry.Xamarin.Forms.Testing/Mock/MockHub.cs index 90d1673..57170d8 100644 --- a/Tests/Sentry.Xamarin.Forms.Testing/Mock/MockHub.cs +++ b/Tests/Sentry.Xamarin.Forms.Testing/Mock/MockHub.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; +using Sentry.Protocol.Envelopes; namespace Sentry.Xamarin.Forms.Testing.Mock { @@ -13,6 +14,8 @@ public class MockHub : IHub public bool IsEnabled => true; + public IMetricAggregator Metrics => throw new NotImplementedException(); + public void BindClient(ISentryClient client) { } public SentryId CaptureEvent(SentryEvent evt, Action configureScope) @@ -21,7 +24,7 @@ public SentryId CaptureEvent(SentryEvent evt, Action configureScope) return evt.EventId; } - public void CaptureTransaction(Transaction transaction) { } + public void CaptureTransaction(SentryTransaction transaction) { } public void CaptureUserFeedback(UserFeedback userFeedback) { } @@ -29,7 +32,7 @@ public SentryId CaptureEvent(SentryEvent evt, Action configureScope) public Task ConfigureScopeAsync(Func configureScope) => null; - public Transaction CreateTransaction(string name, string operation) => null; + public SentryTransaction CreateTransaction(string name, string operation) => null; public Task FlushAsync(TimeSpan timeout) { @@ -68,9 +71,9 @@ public ISpan GetSpan() public void CaptureSession(SessionUpdate sessionUpdate) { } - public SentryId CaptureEvent(SentryEvent evt, Hint hint, Scope scope = null) => SentryId.Empty; + public SentryId CaptureEvent(SentryEvent evt, SentryHint hint, Scope scope = null) => SentryId.Empty; - public void CaptureTransaction(Transaction transaction, Hint hint) { } + public void CaptureTransaction(SentryTransaction transaction, SentryHint hint) { } public BaggageHeader GetBaggage() => null; @@ -78,18 +81,20 @@ public ISpan GetSpan() public TransactionContext ContinueTrace(SentryTraceHeader traceHeader, BaggageHeader baggageHeader, string name = null, string operation = null) => null; - public SentryId CaptureEvent(SentryEvent evt, Hint hint, Action configureScope) + public SentryId CaptureEvent(SentryEvent evt, SentryHint hint, Action configureScope) { CaptureEventCount++; return evt.EventId; } - public SentryId CaptureEvent(SentryEvent evt, Scope scope = null, Hint hint = null) + public SentryId CaptureEvent(SentryEvent evt, Scope scope = null, SentryHint hint = null) { CaptureEventCount++; return evt.EventId; } - public void CaptureTransaction(Transaction transaction, Scope scope, Hint hint) { } + public void CaptureTransaction(SentryTransaction transaction, Scope scope, SentryHint hint) { } + + public bool CaptureEnvelope(Envelope envelope) => true; } } From fc753130ff7fd15976f4af3355110878fe59804e Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 22:46:30 -0300 Subject: [PATCH 02/46] update changelog --- CHANGELOG.md | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56bbba3..87a6af7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,153 @@ # Changelog +## Unreleased + +### Sentry Self-hosted Compatibility + +If you're using `sentry.io` this change does not affect you. +This SDK version is compatible with a self-hosted version of Sentry `22.12.0` or higher. If you are using an older version of [self-hosted Sentry](https://develop.sentry.dev/self-hosted/) (aka on-premise), you will need to [upgrade](https://develop.sentry.dev/self-hosted/releases/). + +### Significant change in behavior + +- Transaction names for ASP.NET Core are now consistently named `HTTP-VERB /path` (e.g. `GET /home`). Previously, the leading forward slash was missing for some endpoints. ([#2808](https://github.com/getsentry/sentry-dotnet/pull/2808)) +- Setting `SentryOptions.Dsn` to `null` now throws `ArgumentNullException` during initialization. ([#2655](https://github.com/getsentry/sentry-dotnet/pull/2655)) +- Enable `CaptureFailedRequests` by default ([#2688](https://github.com/getsentry/sentry-dotnet/pull/2688)) +- Added `Sentry` namespace to global usings when `ImplicitUsings` is enabled ([#3043](https://github.com/getsentry/sentry-dotnet/pull/3043)) +If you have conflicts, you can opt out by adding the following to your `csproj`: +``` + + false + +``` +- Transactions' spans are no longer automatically finished with the status `deadline_exceeded` by the transaction. This is now handled by the [Relay](https://github.com/getsentry/relay). + - Customers self hosting Sentry must use verion 22.12.0 or later ([#3013](https://github.com/getsentry/sentry-dotnet/pull/3013)) +- The `User.IpAddress` is now set to `{{auto}}` by default, even when sendDefaultPII is disabled ([#2981](https://github.com/getsentry/sentry-dotnet/pull/2981)) + - The "Prevent Storing of IP Addresses" option in the "Security & Privacy" project settings on sentry.io can be used to control this instead +- The `DiagnosticLogger` signature for `LogWarning` changed to take the `exception` as the first parameter. That way it no longer gets mixed up with the TArgs. ([#2987](https://github.com/getsentry/sentry-dotnet/pull/2987)) + +### API breaking Changes + +If you have compilation errors you can find the affected types or overloads missing in the changelog entries below. + +#### Changed APIs + +- Class renamed `Sentry.User` to `Sentry.SentryUser` ([#3015](https://github.com/getsentry/sentry-dotnet/pull/3015)) +- Class renamed `Sentry.Runtime` to `Sentry.SentryRuntime` ([#3016](https://github.com/getsentry/sentry-dotnet/pull/3016)) +- Class renamed `Sentry.Span` to `Sentry.SentrySpan` ([#3021](https://github.com/getsentry/sentry-dotnet/pull/3021)) +- Class renamed `Sentry.Transaction` to `Sentry.SentryTransaction` ([#3023](https://github.com/getsentry/sentry-dotnet/pull/3023)) +- `ITransaction` has been renamed to `ITransactionTracer`. You will need to update any references to these interfaces in your code to use the new interface names ([#2731](https://github.com/getsentry/sentry-dotnet/pull/2731), [#2870](https://github.com/getsentry/sentry-dotnet/pull/2870)) +- `DebugImage` and `DebugMeta` moved to `Sentry.Protocol` namespace. ([#2815](https://github.com/getsentry/sentry-dotnet/pull/2815)) +- `SentryClient.Dispose` is no longer obsolete ([#2842](https://github.com/getsentry/sentry-dotnet/pull/2842)) +- `ISentryClient.CaptureEvent` overloads have been replaced by a single method accepting optional `Hint` and `Scope` parameters. You will need to pass `hint` as a named parameter from code that calls `CaptureEvent` without passing a `scope` argument. ([#2749](https://github.com/getsentry/sentry-dotnet/pull/2749)) +- `TransactionContext` and `SpanContext` constructors were updated. If you're constructing instances of these classes, you will need to adjust the order in which you pass parameters to these. ([#2694](https://github.com/getsentry/sentry-dotnet/pull/2694), [#2696](https://github.com/getsentry/sentry-dotnet/pull/2696)) +- The `DiagnosticLogger` signature for `LogError` and `LogFatal` changed to take the `exception` as the first parameter. That way it no longer gets mixed up with the TArgs. The `DiagnosticLogger` now also receives an overload for `LogError` and `LogFatal` that accepts a message only. ([#2715](https://github.com/getsentry/sentry-dotnet/pull/2715)) +- `Distribution` added to `IEventLike`. ([#2660](https://github.com/getsentry/sentry-dotnet/pull/2660)) +- `StackFrame`'s `ImageAddress`, `InstructionAddress`, and `FunctionId` changed to `long?`. ([#2691](https://github.com/getsentry/sentry-dotnet/pull/2691)) +- `DebugImage.ImageAddress` changed to `long?`. ([#2725](https://github.com/getsentry/sentry-dotnet/pull/2725)) +- Contexts now inherit from `IDictionary` rather than `ConcurrentDictionary`. The specific dictionary being used is an implementation detail. ([#2729](https://github.com/getsentry/sentry-dotnet/pull/2729)) +- The method used to configure a Sentry Sink for Serilog now has an additional overload. Calling `WriteTo.Sentry()` with no arguments will no longer attempt to initialize the SDK (it has optional arguments to configure the behavior of the Sink only). If you want to initialize Sentry at the same time you configure the Sentry Sink then you will need to use the overload of this method that accepts a DSN as the first parameter (e.g. `WriteTo.Sentry("https://d4d82fc1c2c4032a83f3a29aa3a3aff@fake-sentry.io:65535/2147483647")`). ([#2928](https://github.com/getsentry/sentry-dotnet/pull/2928)) + +#### Removed APIs + +- SentrySinkExtensions.ConfigureSentrySerilogOptions is now internal. If you were using this method, please use one of the `SentrySinkExtensions.Sentry` extension methods instead. ([#2902](https://github.com/getsentry/sentry-dotnet/pull/2902)) +- A number of `[Obsolete]` options have been removed ([#2841](https://github.com/getsentry/sentry-dotnet/pull/2841)) + - `BeforeSend` - use `SetBeforeSend` instead. + - `BeforeSendTransaction` - use `SetBeforeSendTransaction` instead. + - `BeforeBreadcrumb` - use `SetBeforeBreadcrumb` instead. + - `CreateHttpClientHandler` - use `CreateHttpMessageHandler` instead. + - `ReportAssemblies` - use `ReportAssembliesMode` instead. + - `KeepAggregateException` - this property is no longer used and has no replacement. + - `DisableTaskUnobservedTaskExceptionCapture` method has been renamed to `DisableUnobservedTaskExceptionCapture`. + - `DebugDiagnosticLogger` - use `TraceDiagnosticLogger` instead. +- A number of iOS/Android-specific `[Obsolete]` options have been removed ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) + - `Distribution` - use `SentryOptions.Distribution` instead. + - `EnableAutoPerformanceTracking` - use `SetBeforeSendTransaction` instead. + - `EnableCoreDataTracking` - use `EnableCoreDataTracing` instead. + - `EnableFileIOTracking` - use `EnableFileIOTracing` instead. + - `EnableOutOfMemoryTracking` - use `EnableWatchdogTerminationTracking` instead. + - `EnableUIViewControllerTracking` - use `EnableUIViewControllerTracing` instead. + - `StitchAsyncCode` - no longer available. + - `ProfilingTracesInterval` - no longer available. + - `ProfilingEnabled` - use `ProfilesSampleRate` instead. +- Obsolete `SystemClock` constructor removed, use `SystemClock.Clock` instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) +- Obsolete `Runtime.Clone()` removed, this shouldn't have been public in the past and has no replacement. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) +- Obsolete `SentryException.Data` removed, use `SentryException.Mechanism.Data` instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) +- Obsolete `AssemblyExtensions` removed, this shouldn't have been public in the past and has no replacement. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) +- Obsolete `SentryDatabaseLogging.UseBreadcrumbs()` removed, it is called automatically and has no replacement. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) +- Obsolete `Scope.GetSpan()` removed, use `Span` property instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856)) +- Obsolete `IUserFactory` removed, use `ISentryUserFactory` instead. ([#2856](https://github.com/getsentry/sentry-dotnet/pull/2856), [#2840](https://github.com/getsentry/sentry-dotnet/pull/2840)) +- `IHasMeasurements` has been removed, use `ISpanData` instead. ([#2659](https://github.com/getsentry/sentry-dotnet/pull/2659)) +- `IHasBreadcrumbs` has been removed, use `IEventLike` instead. ([#2670](https://github.com/getsentry/sentry-dotnet/pull/2670)) +- `ISpanContext` has been removed, use `ITraceContext` instead. ([#2668](https://github.com/getsentry/sentry-dotnet/pull/2668)) +- `IHasTransactionNameSource` has been removed, use `ITransactionContext` instead. ([#2654](https://github.com/getsentry/sentry-dotnet/pull/2654)) +- ([#2694](https://github.com/getsentry/sentry-dotnet/pull/2694)) +- The unused `StackFrame.InstructionOffset` has been removed. ([#2691](https://github.com/getsentry/sentry-dotnet/pull/2691)) +- The unused `Scope.Platform` property has been removed. ([#2695](https://github.com/getsentry/sentry-dotnet/pull/2695)) +- The obsolete setter `Sentry.PlatformAbstractions.Runtime.Identifier` has been removed ([2764](https://github.com/getsentry/sentry-dotnet/pull/2764)) +- `Sentry.Values` is now internal as it is never exposed in the public API ([#2771](https://github.com/getsentry/sentry-dotnet/pull/2771)) +- The `TracePropagationTarget` class has been removed, use the `SubstringOrRegexPattern` class instead. ([#2763](https://github.com/getsentry/sentry-dotnet/pull/2763)) +- The `WithScope` and `WithScopeAsync` methods have been removed. We have discovered that these methods didn't work correctly in certain desktop contexts, especially when using a global scope. ([#2717](https://github.com/getsentry/sentry-dotnet/pull/2717)) + + Replace your usage of `WithScope` with overloads of `Capture*` methods: + + - `SentrySdk.CaptureEvent(SentryEvent @event, Action scopeCallback)` + - `SentrySdk.CaptureMessage(string message, Action scopeCallback)` + - `SentrySdk.CaptureException(Exception exception, Action scopeCallback)` + + ```c# + // Before + SentrySdk.WithScope(scope => + { + scope.SetTag("key", "value"); + SentrySdk.CaptureEvent(new SentryEvent()); + }); + + // After + SentrySdk.CaptureEvent(new SentryEvent(), scope => + { + // Configure your scope here + scope.SetTag("key", "value"); + }); + ``` + +### Features + +- Added `Xamarin.Mac` support ([#138](https://github.com/getsentry/sentry-xamarin/pull/138)) +- Experimental pre-release availability of Metrics. We're exploring the use of Metrics in Sentry. The API will very likely change and we don't yet have any documentation. ([#2949](https://github.com/getsentry/sentry-dotnet/pull/2949)) + - `SentrySdk.Metrics.Set` now additionally accepts `string` as value ([#3092](https://github.com/getsentry/sentry-dotnet/pull/3092)) + - Timing metrics can now be captured with `SentrySdk.Metrics.StartTimer` ([#3075](https://github.com/getsentry/sentry-dotnet/pull/3075)) + - Added support for capturing built-in metrics from the `System.Diagnostics.Metrics` API ([#3052](https://github.com/getsentry/sentry-dotnet/pull/3052)) +- `Sentry.Profiling` is now available as a package on [nuget](nuget.org). Be aware that profiling is in alpha and on servers the overhead could be high. Improving the experience for ASP.NET Core is tracked on [this issue]( +https://github.com/getsentry/sentry-dotnet/issues/2316) ([#2800](https://github.com/getsentry/sentry-dotnet/pull/2800)) +- Support for [Spotlight](https://spotlightjs.com/), a debug tool for local development. ([#2961](https://github.com/getsentry/sentry-dotnet/pull/2961)) + - Enable it with the option `EnableSpotlight` + - Optionally configure the URL to connect via `SpotlightUrl`. Defaults to `http://localhost:8969/stream`. + +### Fixes + +- Native integration logging on macOS ([#3079](https://github.com/getsentry/sentry-dotnet/pull/3079)) +- The scope transaction is now correctly set for Otel transactions ([#3072](https://github.com/getsentry/sentry-dotnet/pull/3072)) +- Fixed an issue with tag values in metrics not being properly serialized ([#3065](https://github.com/getsentry/sentry-dotnet/pull/3065)) +- Moved the binding to MAUI events for breadcrumb creation from `WillFinishLaunching` to `FinishedLaunching`. This delays the initial instantiation of `app`. ([#3057](https://github.com/getsentry/sentry-dotnet/pull/3057)) +- The SDK no longer adds the `WinUIUnhandledExceptionIntegration` on non-Windows platforms ([#3055](https://github.com/getsentry/sentry-dotnet/pull/3055)) +- Stop Sentry for MacCatalyst from creating `default.profraw` in the app bundle using xcodebuild archive to build sentry-cocoa ([#2960](https://github.com/getsentry/sentry-dotnet/pull/2960)) +- Workaround a .NET 8 NativeAOT crash on transaction finish. ([#2943](https://github.com/getsentry/sentry-dotnet/pull/2943)) +- Reworked automatic breadcrumb creation for MAUI. ([#2900](https://github.com/getsentry/sentry-dotnet/pull/2900)) + - The SDK no longer uses reflection to bind to all public element events. This also fixes issues where the SDK would consume third-party events. + - Added `CreateElementEventsBreadcrumbs` to the SentryMauiOptions to allow users to opt-in automatic breadcrumb creation for `BindingContextChanged`, `ChildAdded`, `ChildRemoved`, and `ParentChanged` on `Element`. + - Reduced amount of automatic breadcrumbs by limiting the number of bindings created in `VisualElement`, `Window`, `Shell`, `Page`, and `Button`. +- Fixed Sentry SDK has not been initialized when using ASP.NET Core, Serilog, and OpenTelemetry ([#2911](https://github.com/getsentry/sentry-dotnet/pull/2911)) +- Android native symbol upload ([#2876](https://github.com/getsentry/sentry-dotnet/pull/2876)) +- `Sentry.Serilog` no longer throws if a disabled DSN is provided when initializing Sentry via the Serilog integration ([#2883](https://github.com/getsentry/sentry-dotnet/pull/2883)) +- Don't add WinUI exception integration on mobile platforms ([#2821](https://github.com/getsentry/sentry-dotnet/pull/2821)) +- `Transactions` are now getting enriched by the client instead of the hub ([#2838](https://github.com/getsentry/sentry-dotnet/pull/2838)) +- Fixed an issue when using the SDK together with OpenTelemetry `1.5.0` and newer where the SDK would create transactions for itself. The fix is backward compatible. ([#3001](https://github.com/getsentry/sentry-dotnet/pull/3001)) + +### Dependencies + +- Upgraded to NLog version 5. ([#2697](https://github.com/getsentry/sentry-dotnet/pull/2697)) +- Bump Sentry.NET 4.0.3 ([#147](https://github.com/getsentry/sentry-xamarin/pull/147)) + ## 2.0.0-beta.1 ### Features From 1c3734822ce64aada233a928a20c12bf0c5f2456 Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 22:53:02 -0300 Subject: [PATCH 03/46] bump andorid api minimum version --- CHANGELOG.md | 4 ++++ Src/Sentry.Xamarin/Sentry.Xamarin.csproj | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87a6af7..4097ddb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -110,6 +110,10 @@ If you have compilation errors you can find the affected types or overloads miss }); ``` +### Android breaking Changes + +- Android minimum support increased to API 30 ([#2697](https://github.com/getsentry/sentry-dotnet/pull/2697)) + ### Features - Added `Xamarin.Mac` support ([#138](https://github.com/getsentry/sentry-xamarin/pull/138)) diff --git a/Src/Sentry.Xamarin/Sentry.Xamarin.csproj b/Src/Sentry.Xamarin/Sentry.Xamarin.csproj index 880e2c3..49156d0 100644 --- a/Src/Sentry.Xamarin/Sentry.Xamarin.csproj +++ b/Src/Sentry.Xamarin/Sentry.Xamarin.csproj @@ -3,7 +3,7 @@ true - netstandard2.0;monoandroid9.0;Xamarinios10;xamarinmac20 + netstandard2.0;monoandroid11.0;Xamarinios10;xamarinmac20 $(TargetFrameworks);uap10.0.16299; $(NoWarn);RS0017 true From 0628c32e4443bc719925202ccaa3ba903b9ed692 Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 22:55:06 -0300 Subject: [PATCH 04/46] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9d8d2d7..8457cd6 100644 --- a/README.md +++ b/README.md @@ -100,12 +100,12 @@ sealed partial class App : Application The package requires the following versions or newer: * Tizen 4.0 (for Tizen) -* Xamarin.Android 9.0 (for Android) +* Xamarin.Android 11.0 (for Android) * Xamarin.iOS 10.14 (for iOS) * Universal Windows Platform 10.0.16299 (for UWP) * Xamarin.Forms 4.6.0.726 (for Xamarin.Forms integration) * Xamarin.Essentials 1.4.0 -* Sentry 3.0.0 +* Sentry 4.0.3 ## Resources From 55869acdabb47b48922fecb8e1edb6d376e06522 Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 23:04:14 -0300 Subject: [PATCH 05/46] workflow changes --- .github/workflows/build.yaml | 10 +++++++--- .github/workflows/release.yml | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 644a48d..1f79883 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -18,7 +18,7 @@ jobs: matrix: os: [windows-latest, macos-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: microsoft/setup-msbuild@v1.1 if: startsWith(matrix.os, 'windows') # By default, the latest Windows machine doesn't come with the 16299 SDK installed, @@ -31,9 +31,13 @@ jobs: if: startsWith(matrix.os, 'windows') uses: actions/setup-java@v4 with: - distribution: 'microsoft' - java-version: '11' + java-version: '17' + distribution: 'temurin' - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore + + - name: Setup Android SDK + uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 + - name: Build Solution with MSBuild run: msbuild Sentry.Xamarin.sln -p:Configuration=Release - name: Restore iOS Sample app NuGet diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d3ecf96..5bf8695 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: name: 'Release a new version: ${{ github.event.inputs.version }}' steps: - name: Check out current commit (${{ github.sha }}) - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GH_RELEASE_PAT }} fetch-depth: 0 From 8de6eccc284d43f4a0982da055eb788b7e333952 Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 23:07:04 -0300 Subject: [PATCH 06/46] test old version --- .github/workflows/build.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1f79883..f3f8393 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -31,13 +31,15 @@ jobs: if: startsWith(matrix.os, 'windows') uses: actions/setup-java@v4 with: - java-version: '17' - distribution: 'temurin' + java-version: '11' + distribution: 'microsoft' - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Setup Android SDK uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 - + with: + packages: 'platforms;android-30' + - name: Build Solution with MSBuild run: msbuild Sentry.Xamarin.sln -p:Configuration=Release - name: Restore iOS Sample app NuGet From b58f0477a6499f53af5cdbb79007816cb79bd29f Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 23:08:04 -0300 Subject: [PATCH 07/46] wrong action order --- .github/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index f3f8393..356b20c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -33,12 +33,13 @@ jobs: with: java-version: '11' distribution: 'microsoft' - - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Setup Android SDK uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 with: packages: 'platforms;android-30' + + - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild run: msbuild Sentry.Xamarin.sln -p:Configuration=Release From bf193591b24d6d1b5fcdf716034159bc1906a4cb Mon Sep 17 00:00:00 2001 From: lucas Date: Wed, 7 Feb 2024 23:11:20 -0300 Subject: [PATCH 08/46] install java on both machines --- .github/workflows/build.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 356b20c..c113a95 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,12 +28,12 @@ jobs: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') - name: Setup Java SDK - if: startsWith(matrix.os, 'windows') + uses: actions/setup-java@v4 with: - java-version: '11' - distribution: 'microsoft' - + distribution: 'temurin' + java-version: '17' + - name: Setup Android SDK uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 with: From 29cc5b69a5f0aa58fba6a41fce75c19586d4588d Mon Sep 17 00:00:00 2001 From: lucas Date: Fri, 26 Apr 2024 17:24:06 -0300 Subject: [PATCH 09/46] add changelog --- CHANGELOG.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a902472..1547909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ # Changelog +## Unreleased + +### Fixes + +- Validate PrivacyInfo.xcprivacy and warn users of required missing privacy parameters ([#151](https://github.com/getsentry/sentry-xamarin/pull/151)) + + Due to a requirement by apple, all Projects will require a ([Privacy Manifest file](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files)). Sentry will automatically patch your project with the required fields by Sentry if no privacy manifest file is provided. Otherwise, it will validate your privacy manifest file for the required fields by Sentry and warn you during the build time if the required keys are present or not when building an iOS project. + Below you can find a snippet of the minimum required privacy manifest required by Sentry Xamarin: +```xml + + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + + +``` + + ## 2.0.0 ### Sentry Self-hosted Compatibility From 64142543a692e47aee69aad009e626cff056dbb8 Mon Sep 17 00:00:00 2001 From: lucas Date: Fri, 26 Apr 2024 17:25:52 -0300 Subject: [PATCH 10/46] proper name for the privacy info from the sample --- Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy b/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy index 1d64f4f..f5524dd 100644 --- a/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy +++ b/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy @@ -2,7 +2,7 @@ - Marley + Some Key Group test @@ -34,7 +34,7 @@ - BOB + Another Key Group test From 7b74418a306df2359f7b5a20104fbcd6e51e44e2 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 20:46:26 -0300 Subject: [PATCH 11/46] code cleanup --- .../Sample.Xamarin.iOS/PrivacyInfo.xcprivacy | 2 +- .../buildTransitive/Sentry.Xamarin.targets | 32 ++++++++----------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy b/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy index f5524dd..a9d5fb2 100644 --- a/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy +++ b/Samples/Sample.Xamarin.iOS/PrivacyInfo.xcprivacy @@ -25,7 +25,7 @@ - NSPrivacyAccessedAPIType2 + NSPrivacyAccessedAPIType NSPrivacyAccessedAPICategorySystemBootTime NSPrivacyAccessedAPITypeReasons diff --git a/Src/Sentry.Xamarin/buildTransitive/Sentry.Xamarin.targets b/Src/Sentry.Xamarin/buildTransitive/Sentry.Xamarin.targets index e7f5277..0b7eeb4 100644 --- a/Src/Sentry.Xamarin/buildTransitive/Sentry.Xamarin.targets +++ b/Src/Sentry.Xamarin/buildTransitive/Sentry.Xamarin.targets @@ -1,19 +1,11 @@ - - + PrivacyInfo.xcprivacy true - - - - - - - @@ -21,6 +13,7 @@ @(ProjectPrivacyInfoList->'%(FullPath)') + @@ -44,29 +37,32 @@ + + + true true For more information, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files - Or https://docs.sentry.io/platforms/react-native/data-management/apple-privacy-manifest/ + Or https://docs.sentry.io/platforms/dotnet/guides/xamarin/data-management/apple-privacy-manifest/ - - - + + + + - + - - $(MSBuildThisFileDirectory)../Privacy/SentryPrivacyInfo.xcprivacy + $(MSBuildThisFileDirectory)../Privacy/SentryPrivacyInfo.xcprivacy - - PrivacyInfo.xcprivacy + + $(PrivacyInfoFileName) Always From 39f5a655b0b35ed6bcbc40a7ff8aeca977307473 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 20:54:20 -0300 Subject: [PATCH 12/46] add install step for xamarin --- .github/workflows/build.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c113a95..a27009c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -38,6 +38,19 @@ jobs: uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 with: packages: 'platforms;android-30' + - name: Setup Xamarin iOS SDK + if: startsWith(matrix.os, 'macos') + run: | + brew install --cask xamarin-android + - name: Setup Xamarin iOS SDK + if: startsWith(matrix.os, 'macos') + run: | + brew install --cask xamarin-android + - name: Setup Xamarin UWP SDK + if: startsWith(matrix.os, 'macos') + run: | + brew install --cask xamarin-uwp + - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore From da76c5ec42420a7679a63352a4bfb85ec8431c8a Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 20:59:13 -0300 Subject: [PATCH 13/46] correct branch number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1547909..54e6594 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Fixes -- Validate PrivacyInfo.xcprivacy and warn users of required missing privacy parameters ([#151](https://github.com/getsentry/sentry-xamarin/pull/151)) +- Validate PrivacyInfo.xcprivacy and warn users of required missing privacy parameters ([#152](https://github.com/getsentry/sentry-xamarin/pull/152)) Due to a requirement by apple, all Projects will require a ([Privacy Manifest file](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files)). Sentry will automatically patch your project with the required fields by Sentry if no privacy manifest file is provided. Otherwise, it will validate your privacy manifest file for the required fields by Sentry and warn you during the build time if the required keys are present or not when building an iOS project. Below you can find a snippet of the minimum required privacy manifest required by Sentry Xamarin: From 5b41df9002ce2c173825c6820bb84836fdcc0c04 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:01:28 -0300 Subject: [PATCH 14/46] remove uwp action --- .github/workflows/build.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a27009c..dd6abff 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -46,12 +46,6 @@ jobs: if: startsWith(matrix.os, 'macos') run: | brew install --cask xamarin-android - - name: Setup Xamarin UWP SDK - if: startsWith(matrix.os, 'macos') - run: | - brew install --cask xamarin-uwp - - - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild From a951b6e6a87e65c1af0c4c3be652b82b0fd99122 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:06:15 -0300 Subject: [PATCH 15/46] typo install ios on ios step --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index dd6abff..15207c9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -41,7 +41,7 @@ jobs: - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') run: | - brew install --cask xamarin-android + brew install --cask xamarin-ios - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') run: | From f659eb55b945d605c4a285a2b63c833f06900099 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:16:25 -0300 Subject: [PATCH 16/46] test --- .github/workflows/build.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 15207c9..8a72a7b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -38,6 +38,10 @@ jobs: uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 with: packages: 'platforms;android-30' + - name: Setup Xamarin MacOS SDK + if: startsWith(matrix.os, 'macos') + run: | + brew install --cask xamarin-mac - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') run: | From 2ea7675bbcedba6eef84277bbc334c3fcf8a0dbc Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:20:28 -0300 Subject: [PATCH 17/46] try previous VM --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8a72a7b..e47d5ab 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, macos-latest] + os: [windows-latest, macos-13] steps: - uses: actions/checkout@v4 - uses: microsoft/setup-msbuild@v1.1 From 5ea41aa1bb422f85130b525b81de7c563d0a6b2d Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:39:50 -0300 Subject: [PATCH 18/46] ignore uwp projects --- .github/workflows/build.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e47d5ab..daf15b6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -40,20 +40,20 @@ jobs: packages: 'platforms;android-30' - name: Setup Xamarin MacOS SDK if: startsWith(matrix.os, 'macos') - run: | - brew install --cask xamarin-mac - - name: Setup Xamarin iOS SDK - if: startsWith(matrix.os, 'macos') - run: | - brew install --cask xamarin-ios + run: brew install --cask xamarin-ios - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') - run: | - brew install --cask xamarin-android + run: brew install --cask xamarin-android - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release + run: | + if [ "${{ matrix.os }}" == "windows-latest" ]; then + msbuild Sentry.Xamarin.sln -p:Configuration=Release + else + msbuild Sentry.Xamarin.sln -p:Configuration=Release -p:SkipProjects=Sample.Xamarin.UWP.cspro;Sentry.Xamarin.Forms.UWP.Tests.csproj + fi + - name: Restore iOS Sample app NuGet run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release -t:restore if: startsWith(matrix.os, 'macos') From 9382c4242ef4b2bbf1836db6cb73095409604c20 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:48:55 -0300 Subject: [PATCH 19/46] ignore uwp projects --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index daf15b6..63b5546 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -50,8 +50,10 @@ jobs: run: | if [ "${{ matrix.os }}" == "windows-latest" ]; then msbuild Sentry.Xamarin.sln -p:Configuration=Release + echo WINDOWS else - msbuild Sentry.Xamarin.sln -p:Configuration=Release -p:SkipProjects=Sample.Xamarin.UWP.cspro;Sentry.Xamarin.Forms.UWP.Tests.csproj + echo MAC + msbuild Sentry.Xamarin.sln -p:Configuration=Release -p:SkipProjects=Sample.Xamarin.UWP.csproj;Sentry.Xamarin.Forms.UWP.Tests.csproj fi - name: Restore iOS Sample app NuGet From 8271055b4fc15ccf7c9944501dee16ff3ed5b72b Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 21:54:34 -0300 Subject: [PATCH 20/46] test --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 63b5546..130249f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -53,7 +53,7 @@ jobs: echo WINDOWS else echo MAC - msbuild Sentry.Xamarin.sln -p:Configuration=Release -p:SkipProjects=Sample.Xamarin.UWP.csproj;Sentry.Xamarin.Forms.UWP.Tests.csproj + msbuild Sentry.Xamarin.sln -p:Configuration=Release -p:SkipProjects=Sample.Xamarin.UWP.csproj;Tests/Sentry.Xamarin.Forms.UWP.Tests/Sentry.Xamarin.Forms.UWP.Tests.csproj fi - name: Restore iOS Sample app NuGet From d4b189f113e1f3b516df1f56619a23521dc38de2 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 22:03:05 -0300 Subject: [PATCH 21/46] try install xamarin mac from dotnet --- .github/workflows/build.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 130249f..82d4121 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -27,6 +27,10 @@ jobs: run: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') + + - name: Setup .NET + uses: actions/setup-dotnet@v1 + - name: Setup Java SDK uses: actions/setup-java@v4 @@ -44,8 +48,12 @@ jobs: - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') run: brew install --cask xamarin-android + - name: Setup Xamarin Mac SDK + run: | + echo "Installing Xamarin.Mac SDK" + dotnet workload install Xamarin.Mac + - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - - name: Build Solution with MSBuild run: | if [ "${{ matrix.os }}" == "windows-latest" ]; then From 6d3813fdc4a253d31629c51caeb7d5605af30abc Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 22:15:52 -0300 Subject: [PATCH 22/46] remove UWP projects build from AnyCPU --- .github/workflows/build.yaml | 14 ++------------ Sentry.Xamarin.sln | 3 --- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 82d4121..0dbc56c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,9 +28,6 @@ jobs: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') - - name: Setup .NET - uses: actions/setup-dotnet@v1 - - name: Setup Java SDK uses: actions/setup-java@v4 @@ -44,7 +41,7 @@ jobs: packages: 'platforms;android-30' - name: Setup Xamarin MacOS SDK if: startsWith(matrix.os, 'macos') - run: brew install --cask xamarin-ios + run: brew install --cask xamarin-mac - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') run: brew install --cask xamarin-android @@ -55,14 +52,7 @@ jobs: - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild - run: | - if [ "${{ matrix.os }}" == "windows-latest" ]; then - msbuild Sentry.Xamarin.sln -p:Configuration=Release - echo WINDOWS - else - echo MAC - msbuild Sentry.Xamarin.sln -p:Configuration=Release -p:SkipProjects=Sample.Xamarin.UWP.csproj;Tests/Sentry.Xamarin.Forms.UWP.Tests/Sentry.Xamarin.Forms.UWP.Tests.csproj - fi + run: msbuild Sentry.Xamarin.sln -p:Configuration=Release - name: Restore iOS Sample app NuGet run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release -t:restore diff --git a/Sentry.Xamarin.sln b/Sentry.Xamarin.sln index 7dde6d0..07e144f 100644 --- a/Sentry.Xamarin.sln +++ b/Sentry.Xamarin.sln @@ -269,8 +269,6 @@ Global {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x86.Build.0 = Debug|x86 {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x86.Deploy.0 = Debug|x86 {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|Any CPU.ActiveCfg = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|Any CPU.Build.0 = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|Any CPU.Deploy.0 = Release|x86 {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM.ActiveCfg = Release|ARM {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM.Build.0 = Release|ARM {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM.Deploy.0 = Release|ARM @@ -358,7 +356,6 @@ Global {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x86.Build.0 = Debug|x86 {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x86.Deploy.0 = Debug|x86 {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|Any CPU.ActiveCfg = Release|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|Any CPU.Build.0 = Release|x86 {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM.ActiveCfg = Release|ARM {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM.Build.0 = Release|ARM {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM.Deploy.0 = Release|ARM From 1d49a77dde9eea616ce9cf207bf0ec6161b3ed27 Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 22:19:13 -0300 Subject: [PATCH 23/46] remove dotnet install --- .github/workflows/build.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0dbc56c..940034e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -45,10 +45,6 @@ jobs: - name: Setup Xamarin iOS SDK if: startsWith(matrix.os, 'macos') run: brew install --cask xamarin-android - - name: Setup Xamarin Mac SDK - run: | - echo "Installing Xamarin.Mac SDK" - dotnet workload install Xamarin.Mac - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild From 4267dc748e9643f2bd325d7c6d0ad7a521d37f8d Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 22:28:02 -0300 Subject: [PATCH 24/46] add ios --- .github/workflows/build.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 940034e..a38997e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -42,9 +42,12 @@ jobs: - name: Setup Xamarin MacOS SDK if: startsWith(matrix.os, 'macos') run: brew install --cask xamarin-mac - - name: Setup Xamarin iOS SDK + - name: Setup Xamarin Android SDK if: startsWith(matrix.os, 'macos') run: brew install --cask xamarin-android + - name: Setup Xamarin iOS SDK + if: startsWith(matrix.os, 'macos') + run: brew install --cask xamarin-ios - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild From a4fc42d94c14192c5b95197cb67f6674a468a03d Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 22:42:37 -0300 Subject: [PATCH 25/46] install new SDK for sample --- .github/workflows/build.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a38997e..fd50bc0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,6 +28,11 @@ jobs: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') + - name: Install Windows SDK Version 10.0.19041.0 + run: + pwsh ./scripts/install-win-sdk.ps1 19041 + if: startsWith(matrix.os, 'windows') + - name: Setup Java SDK uses: actions/setup-java@v4 From 86e7bb75ab2a1f70709cff5f7b99ba1e63bf4b6a Mon Sep 17 00:00:00 2001 From: lucas Date: Mon, 29 Apr 2024 22:56:47 -0300 Subject: [PATCH 26/46] test restore x64 --- .github/workflows/build.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fd50bc0..42e384a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -27,12 +27,6 @@ jobs: run: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') - - - name: Install Windows SDK Version 10.0.19041.0 - run: - pwsh ./scripts/install-win-sdk.ps1 19041 - if: startsWith(matrix.os, 'windows') - - name: Setup Java SDK uses: actions/setup-java@v4 @@ -55,6 +49,11 @@ jobs: run: brew install --cask xamarin-ios - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore + + - name: Restore X64 + if: startsWith(matrix.os, 'windows') + run: msbuild Sentry.Xamarin.sln -p:Configuration=Release /p:Platform=x64 + - name: Build Solution with MSBuild run: msbuild Sentry.Xamarin.sln -p:Configuration=Release From 1ca14df9ebcf84ea4287dbb1044977bc419f5850 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Mon, 29 Apr 2024 23:05:32 -0300 Subject: [PATCH 27/46] Update .gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 661e454..8c4a20c 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ *.userosscache *.sln.docstates *.DS_Store - +a # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs @@ -345,4 +345,4 @@ healthchecksdb /Tests/Sentry.Xamarin.Forms.Tests.UWP/Sentry.Xamarin.Forms.Tests.UWP.GeneratedMSBuildEditorConfig.editorconfig #Do not include tokens to external sources. -*.sentryclirc \ No newline at end of file +*.sentryclirc From bb1bf68257113f15de3a85bc367097f3fb467489 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 09:42:12 -0300 Subject: [PATCH 28/46] Add Xamarin setup for macos --- .github/workflows/build.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c113a95..d2ebf89 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -27,8 +27,19 @@ jobs: run: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') - - name: Setup Java SDK + # Setup Xamarin SDK that got removed on the latest MacOS VM + - name: Setup Xamarin MacOS SDK + if: startsWith(matrix.os, 'macos') + run: brew install --cask xamarin-mac + - name: Setup Xamarin Android SDK + if: startsWith(matrix.os, 'macos') + run: brew install --cask xamarin-android + - name: Setup Xamarin iOS SDK + if: startsWith(matrix.os, 'macos') + run: brew install --cask xamarin-ios + + - name: Setup Java SDK uses: actions/setup-java@v4 with: distribution: 'temurin' From afe00975c1eaeb9991f359a6e7c054747558d2c7 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 09:46:53 -0300 Subject: [PATCH 29/46] test --- .github/workflows/build.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d2ebf89..01520ad 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -31,7 +31,9 @@ jobs: # Setup Xamarin SDK that got removed on the latest MacOS VM - name: Setup Xamarin MacOS SDK if: startsWith(matrix.os, 'macos') - run: brew install --cask xamarin-mac + run: | + brew tap homebrew/cask-versions + brew install --cask xamarin-mac - name: Setup Xamarin Android SDK if: startsWith(matrix.os, 'macos') run: brew install --cask xamarin-android From 7cf647fd5c6383313a7094203461bd4f144baa8c Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 09:58:13 -0300 Subject: [PATCH 30/46] Check if it is working on macos 13 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 01520ad..fd6ae13 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest, macos-latest] + os: [windows-latest, macos-13] steps: - uses: actions/checkout@v4 - uses: microsoft/setup-msbuild@v1.1 From aef5b25589c447b098f2d3e4a2deae8f6a561611 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 11:21:36 -0300 Subject: [PATCH 31/46] Create Skip.UWP.MacOs.props --- scripts/Skip.UWP.MacOs.props | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 scripts/Skip.UWP.MacOs.props diff --git a/scripts/Skip.UWP.MacOs.props b/scripts/Skip.UWP.MacOs.props new file mode 100644 index 0000000..2aa24d5 --- /dev/null +++ b/scripts/Skip.UWP.MacOs.props @@ -0,0 +1,16 @@ + + + + + Windows + Linux + + + + + + + + + + From 04e1bf9eb7c8d4ec129757e8ced74dd134bf96c2 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 11:22:11 -0300 Subject: [PATCH 32/46] Update Directory.Build.props --- Directory.Build.props | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Directory.Build.props b/Directory.Build.props index ba07d27..6364730 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,6 +8,8 @@ strict + + From f3dc3914f41fdcd76dfe968ca233a18426df9a88 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 11:22:56 -0300 Subject: [PATCH 33/46] Update build.yaml --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index fd6ae13..3f04f4e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -55,7 +55,7 @@ jobs: - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - name: Build Solution with MSBuild - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release + run: msbuild Sentry.Xamarin.sln -p:Configuration=Release /t:SkipUWPOnMacOS - name: Restore iOS Sample app NuGet run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release -t:restore if: startsWith(matrix.os, 'macos') From 5910c4bf7ad8ca2215f8aa23d039401ecaa3c33c Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 12:00:32 -0300 Subject: [PATCH 34/46] manually include builds --- .github/workflows/build.yaml | 17 +++++------------ scripts/Skip.UWP.MacOs.props | 24 +++++++++++------------- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3f04f4e..08607e7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -54,21 +54,14 @@ jobs: - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - - name: Build Solution with MSBuild - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release /t:SkipUWPOnMacOS + - name: Build SDK + run: msbuild -p:Configuration=Release /t:BuildSentrySDK - name: Restore iOS Sample app NuGet run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release -t:restore if: startsWith(matrix.os, 'macos') - - name: Build iOS Sample app - run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release - if: startsWith(matrix.os, 'macos') - - name: Build Android Sample app - run: msbuild Samples/Sample.Xamarin.Droid/Sample.Xamarin.Droid.csproj -p:Configuration=Release - if: startsWith(matrix.os, 'windows') - - name: Build UWP Sample app - run: msbuild Samples/Sample.Xamarin.UWP/Sample.Xamarin.UWP.csproj /p:Platform=x64 /p:Configuration=Release - if: startsWith(matrix.os, 'windows') - - name: Build UWP Test Project + - name: Build Samples + run: msbuild -p:Configuration=Release /t:BuildSamples + - name: Build Test Project run: msbuild Tests/Sentry.Xamarin.Forms.UWP.Tests/Sentry.Xamarin.Forms.UWP.Tests.csproj /p:Platform=x64 /p:Configuration=Release if: startsWith(matrix.os, 'windows') - name: Setup VS Test diff --git a/scripts/Skip.UWP.MacOs.props b/scripts/Skip.UWP.MacOs.props index 2aa24d5..cd47dcc 100644 --- a/scripts/Skip.UWP.MacOs.props +++ b/scripts/Skip.UWP.MacOs.props @@ -1,16 +1,14 @@ - - - - Windows - Linux - - + + + + - - - - - + + + + + + - + \ No newline at end of file From 3fd6c49c81ac7a2b7b16e7de792a9b9da39ce855 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 12:05:20 -0300 Subject: [PATCH 35/46] only build uwp on windows --- scripts/Skip.UWP.MacOs.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Skip.UWP.MacOs.props b/scripts/Skip.UWP.MacOs.props index cd47dcc..8bcfabc 100644 --- a/scripts/Skip.UWP.MacOs.props +++ b/scripts/Skip.UWP.MacOs.props @@ -6,7 +6,7 @@ - + From af341313261e0ed11a87e5650a8bb32aecc1a848 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 12:17:42 -0300 Subject: [PATCH 36/46] use full path --- scripts/Skip.UWP.MacOs.props | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/Skip.UWP.MacOs.props b/scripts/Skip.UWP.MacOs.props index 8bcfabc..e45a306 100644 --- a/scripts/Skip.UWP.MacOs.props +++ b/scripts/Skip.UWP.MacOs.props @@ -1,14 +1,14 @@ - - + + - - - - - + + + + + \ No newline at end of file From 7404ae709c3d73ce5bb9ece152d1d97b8ced3a99 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 12:30:29 -0300 Subject: [PATCH 37/46] dont load scripts on other levels than root --- Directory.Build.props | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index 6364730..d338791 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,7 +8,8 @@ strict - + + From 9b17fcf6742595cda6dc1b1b6d23deff78ef17f9 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 12:41:07 -0300 Subject: [PATCH 38/46] let all projects know the targets but only run them on the root folder --- Directory.Build.props | 2 +- scripts/Skip.UWP.MacOs.props | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index d338791..cb2e32c 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,7 @@ - + diff --git a/scripts/Skip.UWP.MacOs.props b/scripts/Skip.UWP.MacOs.props index e45a306..8ccf0bd 100644 --- a/scripts/Skip.UWP.MacOs.props +++ b/scripts/Skip.UWP.MacOs.props @@ -1,10 +1,10 @@ - + - + From 40c0f80264b2525cf73f2f3598765533dd2e8cfe Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 13:09:06 -0300 Subject: [PATCH 39/46] use same method that sentry dotnet uses for different platforms --- .github/workflows/build.yaml | 14 +++----------- Directory.Build.props | 3 --- Sentry.Xamarin-CI-Build-Windows.slnf | 17 +++++++++++++++++ Sentry.Xamarin-CI-Build-macOS.slnf | 16 ++++++++++++++++ scripts/Skip.UWP.MacOs.props | 14 -------------- 5 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 Sentry.Xamarin-CI-Build-Windows.slnf create mode 100644 Sentry.Xamarin-CI-Build-macOS.slnf delete mode 100644 scripts/Skip.UWP.MacOs.props diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 08607e7..f29d5c6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -53,17 +53,9 @@ jobs: packages: 'platforms;android-30' - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - - - name: Build SDK - run: msbuild -p:Configuration=Release /t:BuildSentrySDK - - name: Restore iOS Sample app NuGet - run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release -t:restore - if: startsWith(matrix.os, 'macos') - - name: Build Samples - run: msbuild -p:Configuration=Release /t:BuildSamples - - name: Build Test Project - run: msbuild Tests/Sentry.Xamarin.Forms.UWP.Tests/Sentry.Xamarin.Forms.UWP.Tests.csproj /p:Platform=x64 /p:Configuration=Release - if: startsWith(matrix.os, 'windows') + - name: Build SDK, Sample and Tests + run: msbuild Sentry.Xamarin-CI-Build-${{ runner.os }}.slnf -p:Configuration=Release + - name: Setup VS Test uses: darenm/Setup-VSTest@v1 if: startsWith(matrix.os, 'windows') diff --git a/Directory.Build.props b/Directory.Build.props index cb2e32c..ba07d27 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -8,9 +8,6 @@ strict - - - diff --git a/Sentry.Xamarin-CI-Build-Windows.slnf b/Sentry.Xamarin-CI-Build-Windows.slnf new file mode 100644 index 0000000..be74943 --- /dev/null +++ b/Sentry.Xamarin-CI-Build-Windows.slnf @@ -0,0 +1,17 @@ +{ + "solution": { + "path": "Sentry.Xamarin.sln", + "projects": [ + "Src\\Sentry.Xamarin\\Sentry.Xamarin.csproj", + "Src\\Sentry.Xamarin.FormsSentry.Xamarin.Forms.csproj", + "Samples\\Sample.Xamarin.Core\\Sample.Xamarin.Core.csproj", + "Samples\\Sample.Xamarin.UWP\\Sample.Xamarin.UWP.csproj", + "Samples\\Sample.Xamarin.Mac\\Sample.Xamarin.Mac.csproj", + "Samples\\Forms\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", + "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj", + "Tests\\Sentry.Xamarin.Forms.Testing\\Sentry.Xamarin.Forms.Testing.csproj", + "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj", + "Tests\\Sentry.Xamarin.Forms.UWP.Tests\\Sentry.Xamarin.Forms.UWP.Tests.csproj" + ] + } +} \ No newline at end of file diff --git a/Sentry.Xamarin-CI-Build-macOS.slnf b/Sentry.Xamarin-CI-Build-macOS.slnf new file mode 100644 index 0000000..094cb24 --- /dev/null +++ b/Sentry.Xamarin-CI-Build-macOS.slnf @@ -0,0 +1,16 @@ +{ + "solution": { + "path": "Sentry.Xamarin.sln", + "projects": [ + "Src\\Sentry.Xamarin\\Sentry.Xamarin.csproj", + "Src\\Sentry.Xamarin.FormsSentry.Xamarin.Forms.csproj", + "Samples\\Sample.Xamarin.Core\\Sample.Xamarin.Core.csproj", + "Samples\\Sample.Xamarin.Mac\\Sample.Xamarin.Mac.csproj", + "Samples\\Forms\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", + "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj" + "Tests\\Sentry.Xamarin.Forms.Testing\\Sentry.Xamarin.Forms.Testing.csproj", + "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj", + "Tests\\Sentry.Xamarin.Forms.UWP.Tests\\Sentry.Xamarin.Forms.UWP.Tests.csproj" + ] + } +} \ No newline at end of file diff --git a/scripts/Skip.UWP.MacOs.props b/scripts/Skip.UWP.MacOs.props deleted file mode 100644 index 8ccf0bd..0000000 --- a/scripts/Skip.UWP.MacOs.props +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file From 3c0e4cd90a9ff9586d25a5bf330947f76b6e1e1c Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 15:13:10 -0300 Subject: [PATCH 40/46] nit --- Sentry.Xamarin-CI-Build-macOS.slnf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sentry.Xamarin-CI-Build-macOS.slnf b/Sentry.Xamarin-CI-Build-macOS.slnf index 094cb24..2230b59 100644 --- a/Sentry.Xamarin-CI-Build-macOS.slnf +++ b/Sentry.Xamarin-CI-Build-macOS.slnf @@ -7,7 +7,7 @@ "Samples\\Sample.Xamarin.Core\\Sample.Xamarin.Core.csproj", "Samples\\Sample.Xamarin.Mac\\Sample.Xamarin.Mac.csproj", "Samples\\Forms\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", - "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj" + "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj", "Tests\\Sentry.Xamarin.Forms.Testing\\Sentry.Xamarin.Forms.Testing.csproj", "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj", "Tests\\Sentry.Xamarin.Forms.UWP.Tests\\Sentry.Xamarin.Forms.UWP.Tests.csproj" From bfece98737eece963a1ce0fefab2e1d3d8892967 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 15:18:02 -0300 Subject: [PATCH 41/46] fix format --- Sentry.Xamarin-CI-Build-Windows.slnf | 4 ++-- Sentry.Xamarin-CI-Build-macOS.slnf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Sentry.Xamarin-CI-Build-Windows.slnf b/Sentry.Xamarin-CI-Build-Windows.slnf index be74943..580d157 100644 --- a/Sentry.Xamarin-CI-Build-Windows.slnf +++ b/Sentry.Xamarin-CI-Build-Windows.slnf @@ -3,11 +3,11 @@ "path": "Sentry.Xamarin.sln", "projects": [ "Src\\Sentry.Xamarin\\Sentry.Xamarin.csproj", - "Src\\Sentry.Xamarin.FormsSentry.Xamarin.Forms.csproj", + "Src\\Sentry.Xamarin.Forms\\Sentry.Xamarin.Forms.csproj", "Samples\\Sample.Xamarin.Core\\Sample.Xamarin.Core.csproj", "Samples\\Sample.Xamarin.UWP\\Sample.Xamarin.UWP.csproj", "Samples\\Sample.Xamarin.Mac\\Sample.Xamarin.Mac.csproj", - "Samples\\Forms\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", + "Samples\\Forms\\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj", "Tests\\Sentry.Xamarin.Forms.Testing\\Sentry.Xamarin.Forms.Testing.csproj", "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj", diff --git a/Sentry.Xamarin-CI-Build-macOS.slnf b/Sentry.Xamarin-CI-Build-macOS.slnf index 2230b59..03bcc1f 100644 --- a/Sentry.Xamarin-CI-Build-macOS.slnf +++ b/Sentry.Xamarin-CI-Build-macOS.slnf @@ -3,10 +3,10 @@ "path": "Sentry.Xamarin.sln", "projects": [ "Src\\Sentry.Xamarin\\Sentry.Xamarin.csproj", - "Src\\Sentry.Xamarin.FormsSentry.Xamarin.Forms.csproj", + "Src\\Sentry.Xamarin.Forms\\Sentry.Xamarin.Forms.csproj", "Samples\\Sample.Xamarin.Core\\Sample.Xamarin.Core.csproj", "Samples\\Sample.Xamarin.Mac\\Sample.Xamarin.Mac.csproj", - "Samples\\Forms\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", + "Samples\\Forms\\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj", "Tests\\Sentry.Xamarin.Forms.Testing\\Sentry.Xamarin.Forms.Testing.csproj", "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj", From 7c58628739c647346a8c146f5888cb9bf99b6db4 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 15:24:49 -0300 Subject: [PATCH 42/46] remove another uwp project from macos --- Sentry.Xamarin-CI-Build-macOS.slnf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Sentry.Xamarin-CI-Build-macOS.slnf b/Sentry.Xamarin-CI-Build-macOS.slnf index 03bcc1f..e3af730 100644 --- a/Sentry.Xamarin-CI-Build-macOS.slnf +++ b/Sentry.Xamarin-CI-Build-macOS.slnf @@ -9,8 +9,7 @@ "Samples\\Forms\\com.sentry.ovenlibrary\\com.sentry.ovenlibrary.csproj", "Samples\\Sample.Xamarin.Droid\\Sample.Xamarin.Droid.csproj", "Tests\\Sentry.Xamarin.Forms.Testing\\Sentry.Xamarin.Forms.Testing.csproj", - "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj", - "Tests\\Sentry.Xamarin.Forms.UWP.Tests\\Sentry.Xamarin.Forms.UWP.Tests.csproj" + "Tests\\Sentry.Xamarin.Tests\\Sentry.Xamarin.Tests.csproj" ] } } \ No newline at end of file From 152d2c96e54b51541e8f1157875442c28f517773 Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 15:43:46 -0300 Subject: [PATCH 43/46] remove junk --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8c4a20c..56acc78 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,6 @@ *.userosscache *.sln.docstates *.DS_Store -a # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs From 16efe242ab72adc98dd9c588dfc5dd295a5648bf Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 15:46:40 -0300 Subject: [PATCH 44/46] rebase to patch branch --- .github/workflows/build.yaml | 50 ++---- Sentry.Xamarin.sln | 305 ++++++++++++++++++----------------- 2 files changed, 173 insertions(+), 182 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 42e384a..f29d5c6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -27,8 +27,21 @@ jobs: run: pwsh ./scripts/install-win-sdk.ps1 16299 if: startsWith(matrix.os, 'windows') - - name: Setup Java SDK + # Setup Xamarin SDK that got removed on the latest MacOS VM + - name: Setup Xamarin MacOS SDK + if: startsWith(matrix.os, 'macos') + run: | + brew tap homebrew/cask-versions + brew install --cask xamarin-mac + - name: Setup Xamarin Android SDK + if: startsWith(matrix.os, 'macos') + run: brew install --cask xamarin-android + - name: Setup Xamarin iOS SDK + if: startsWith(matrix.os, 'macos') + run: brew install --cask xamarin-ios + + - name: Setup Java SDK uses: actions/setup-java@v4 with: distribution: 'temurin' @@ -38,40 +51,11 @@ jobs: uses: android-actions/setup-android@07976c6290703d34c16d382cb36445f98bb43b1f # v3.2.0 with: packages: 'platforms;android-30' - - name: Setup Xamarin MacOS SDK - if: startsWith(matrix.os, 'macos') - run: brew install --cask xamarin-mac - - name: Setup Xamarin Android SDK - if: startsWith(matrix.os, 'macos') - run: brew install --cask xamarin-android - - name: Setup Xamarin iOS SDK - if: startsWith(matrix.os, 'macos') - run: brew install --cask xamarin-ios - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release -t:restore - - - name: Restore X64 - if: startsWith(matrix.os, 'windows') - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release /p:Platform=x64 - - - name: Build Solution with MSBuild - run: msbuild Sentry.Xamarin.sln -p:Configuration=Release - - - name: Restore iOS Sample app NuGet - run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release -t:restore - if: startsWith(matrix.os, 'macos') - - name: Build iOS Sample app - run: msbuild Samples/Sample.Xamarin.iOS/Sample.Xamarin.iOS.csproj -p:Configuration=Release - if: startsWith(matrix.os, 'macos') - - name: Build Android Sample app - run: msbuild Samples/Sample.Xamarin.Droid/Sample.Xamarin.Droid.csproj -p:Configuration=Release - if: startsWith(matrix.os, 'windows') - - name: Build UWP Sample app - run: msbuild Samples/Sample.Xamarin.UWP/Sample.Xamarin.UWP.csproj /p:Platform=x64 /p:Configuration=Release - if: startsWith(matrix.os, 'windows') - - name: Build UWP Test Project - run: msbuild Tests/Sentry.Xamarin.Forms.UWP.Tests/Sentry.Xamarin.Forms.UWP.Tests.csproj /p:Platform=x64 /p:Configuration=Release - if: startsWith(matrix.os, 'windows') + - name: Build SDK, Sample and Tests + run: msbuild Sentry.Xamarin-CI-Build-${{ runner.os }}.slnf -p:Configuration=Release + - name: Setup VS Test uses: darenm/Setup-VSTest@v1 if: startsWith(matrix.os, 'windows') diff --git a/Sentry.Xamarin.sln b/Sentry.Xamarin.sln index 07e144f..ba5571e 100644 --- a/Sentry.Xamarin.sln +++ b/Sentry.Xamarin.sln @@ -4,9 +4,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 17.5.33530.505 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F}" - ProjectSection(SolutionItems) = preProject - CHANGELOG.md = CHANGELOG.md - EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.Xamarin.Core", "Samples\Sample.Xamarin.Core\Sample.Xamarin.Core.csproj", "{02726CAA-72F3-4E3C-B06D-51C77A4B82BD}" EndProject @@ -33,15 +30,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".root", ".root", "{A2B3AFD4 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.Xamarin.Mac", "Samples\Sample.Xamarin.Mac\Sample.Xamarin.Mac.csproj", "{1204E055-1BA8-4803-B98C-36C2CE608A54}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sample.Xamarin.Droid", "Samples\Sample.Xamarin.Droid\Sample.Xamarin.Droid.csproj", "{2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Sample.Xamarin.Droid", "Samples\Sample.Xamarin.Droid\Sample.Xamarin.Droid.csproj", "{30CF84A5-00CA-41F5-9815-E54B88CAA043}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sample.Xamarin.UWP", "Samples\Sample.Xamarin.UWP\Sample.Xamarin.UWP.csproj", "{5E94DA86-10DA-476B-9BFF-310C23360617}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Sample.Xamarin.UWP", "Samples\Sample.Xamarin.UWP\Sample.Xamarin.UWP.csproj", "{2A956BC8-8E02-4B9F-ADAC-8089193525F6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "com.sentry.ovenlibrary", "Samples\Forms\com.sentry.ovenlibrary\com.sentry.ovenlibrary.csproj", "{4DA5AECE-3A16-45AE-9C6D-45B262236175}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "com.sentry.ovenlibrary", "Samples\Forms\com.sentry.ovenlibrary\com.sentry.ovenlibrary.csproj", "{028CFB45-5A50-4210-A06D-E09A0B4C25FB}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sentry.Xamarin.Tests", "Tests\Sentry.Xamarin.Tests\Sentry.Xamarin.Tests.csproj", "{FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Sentry.Xamarin.Tests", "Tests\Sentry.Xamarin.Tests\Sentry.Xamarin.Tests.csproj", "{FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sentry.Xamarin.Forms.UWP.Tests", "Tests\Sentry.Xamarin.Forms.UWP.Tests\Sentry.Xamarin.Forms.UWP.Tests.csproj", "{ED348898-C55D-4473-A5A7-F54F54D51965}" +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Sentry.Xamarin.Forms.UWP.Tests", "Tests\Sentry.Xamarin.Forms.UWP.Tests\Sentry.Xamarin.Forms.UWP.Tests.csproj", "{4B5F4D6C-D575-4285-91CA-91E186136562}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -90,7 +87,6 @@ Global {02726CAA-72F3-4E3C-B06D-51C77A4B82BD}.Release|x86.ActiveCfg = Release|Any CPU {02726CAA-72F3-4E3C-B06D-51C77A4B82BD}.Release|x86.Build.0 = Release|Any CPU {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Debug|ARM.ActiveCfg = Debug|iPhone {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Debug|ARM64.ActiveCfg = Debug|iPhone {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Debug|iPhone.ActiveCfg = Debug|iPhone @@ -109,6 +105,7 @@ Global {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Release|x64.ActiveCfg = Release|iPhone {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Release|x86.ActiveCfg = Release|iPhone + {2863A4FF-3167-4085-AE99-ABC1AAFE99D8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator {7375E34B-2936-41D2-8DBD-A745BDC1662E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7375E34B-2936-41D2-8DBD-A745BDC1662E}.Debug|Any CPU.Build.0 = Debug|Any CPU {7375E34B-2936-41D2-8DBD-A745BDC1662E}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -202,115 +199,117 @@ Global {1204E055-1BA8-4803-B98C-36C2CE608A54}.Debug|x64.ActiveCfg = Debug|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Debug|x86.ActiveCfg = Debug|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|Any CPU.Build.0 = Release|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|ARM.ActiveCfg = Release|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|ARM64.ActiveCfg = Release|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|iPhone.ActiveCfg = Release|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|x64.ActiveCfg = Release|Any CPU {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|x86.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|ARM.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|ARM.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|ARM.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|ARM64.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|ARM64.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|iPhone.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|iPhone.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|x64.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|x64.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|x64.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|x86.ActiveCfg = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|x86.Build.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Debug|x86.Deploy.0 = Debug|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|Any CPU.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|Any CPU.Deploy.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|ARM.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|ARM.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|ARM.Deploy.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|ARM64.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|ARM64.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|ARM64.Deploy.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|iPhone.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|iPhone.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|iPhone.Deploy.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|x64.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|x64.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|x64.Deploy.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|x86.ActiveCfg = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|x86.Build.0 = Release|Any CPU - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB}.Release|x86.Deploy.0 = Release|Any CPU - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|Any CPU.ActiveCfg = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|Any CPU.Build.0 = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|Any CPU.Deploy.0 = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|ARM.ActiveCfg = Debug|ARM - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|ARM.Build.0 = Debug|ARM - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|ARM.Deploy.0 = Debug|ARM - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|ARM64.Build.0 = Debug|ARM64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|iPhone.ActiveCfg = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x64.ActiveCfg = Debug|x64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x64.Build.0 = Debug|x64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x64.Deploy.0 = Debug|x64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x86.ActiveCfg = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x86.Build.0 = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Debug|x86.Deploy.0 = Debug|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|Any CPU.ActiveCfg = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM.ActiveCfg = Release|ARM - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM.Build.0 = Release|ARM - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM.Deploy.0 = Release|ARM - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM64.ActiveCfg = Release|ARM64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM64.Build.0 = Release|ARM64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|ARM64.Deploy.0 = Release|ARM64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|iPhone.ActiveCfg = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|iPhoneSimulator.ActiveCfg = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|x64.ActiveCfg = Release|x64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|x64.Build.0 = Release|x64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|x64.Deploy.0 = Release|x64 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|x86.ActiveCfg = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|x86.Build.0 = Release|x86 - {5E94DA86-10DA-476B-9BFF-310C23360617}.Release|x86.Deploy.0 = Release|x86 - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|ARM.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|ARM.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|ARM64.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|iPhone.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|x64.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|x64.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|x86.ActiveCfg = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Debug|x86.Build.0 = Debug|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|Any CPU.Build.0 = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|ARM.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|ARM.Build.0 = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|ARM64.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|ARM64.Build.0 = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|iPhone.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|iPhone.Build.0 = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|x64.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|x64.Build.0 = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|x86.ActiveCfg = Release|Any CPU - {4DA5AECE-3A16-45AE-9C6D-45B262236175}.Release|x86.Build.0 = Release|Any CPU + {1204E055-1BA8-4803-B98C-36C2CE608A54}.Release|Any CPU.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|ARM.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|ARM.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|ARM.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|ARM64.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|ARM64.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|iPhone.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|x64.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|x64.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|x64.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|x86.ActiveCfg = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|x86.Build.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Debug|x86.Deploy.0 = Debug|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|Any CPU.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|Any CPU.Deploy.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|ARM.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|ARM.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|ARM.Deploy.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|ARM64.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|ARM64.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|ARM64.Deploy.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|iPhone.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|iPhone.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|iPhone.Deploy.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|x64.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|x64.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|x64.Deploy.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|x86.ActiveCfg = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|x86.Build.0 = Release|Any CPU + {30CF84A5-00CA-41F5-9815-E54B88CAA043}.Release|x86.Deploy.0 = Release|Any CPU + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|Any CPU.ActiveCfg = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|Any CPU.Build.0 = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|Any CPU.Deploy.0 = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|ARM.ActiveCfg = Debug|ARM + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|ARM.Build.0 = Debug|ARM + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|ARM.Deploy.0 = Debug|ARM + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|ARM64.Build.0 = Debug|ARM64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|iPhone.ActiveCfg = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|x64.ActiveCfg = Debug|x64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|x64.Build.0 = Debug|x64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|x64.Deploy.0 = Debug|x64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|x86.ActiveCfg = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|x86.Build.0 = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Debug|x86.Deploy.0 = Debug|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|Any CPU.ActiveCfg = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|Any CPU.Build.0 = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|Any CPU.Deploy.0 = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|ARM.ActiveCfg = Release|ARM + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|ARM.Build.0 = Release|ARM + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|ARM.Deploy.0 = Release|ARM + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|ARM64.ActiveCfg = Release|ARM64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|ARM64.Build.0 = Release|ARM64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|ARM64.Deploy.0 = Release|ARM64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|iPhone.ActiveCfg = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|iPhoneSimulator.ActiveCfg = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|x64.ActiveCfg = Release|x64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|x64.Build.0 = Release|x64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|x64.Deploy.0 = Release|x64 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|x86.ActiveCfg = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|x86.Build.0 = Release|x86 + {2A956BC8-8E02-4B9F-ADAC-8089193525F6}.Release|x86.Deploy.0 = Release|x86 + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|ARM.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|ARM.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|ARM64.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|iPhone.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|x64.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|x64.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|x86.ActiveCfg = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Debug|x86.Build.0 = Debug|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|Any CPU.Build.0 = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|ARM.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|ARM.Build.0 = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|ARM64.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|ARM64.Build.0 = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|iPhone.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|iPhone.Build.0 = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|x64.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|x64.Build.0 = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|x86.ActiveCfg = Release|Any CPU + {028CFB45-5A50-4210-A06D-E09A0B4C25FB}.Release|x86.Build.0 = Release|Any CPU {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}.Debug|Any CPU.Build.0 = Debug|Any CPU {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -339,37 +338,38 @@ Global {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}.Release|x64.Build.0 = Release|Any CPU {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}.Release|x86.ActiveCfg = Release|Any CPU {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883}.Release|x86.Build.0 = Release|Any CPU - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|Any CPU.ActiveCfg = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|Any CPU.Build.0 = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|ARM.ActiveCfg = Debug|ARM - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|ARM.Build.0 = Debug|ARM - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|ARM.Deploy.0 = Debug|ARM - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|ARM64.Build.0 = Debug|ARM64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|iPhone.ActiveCfg = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x64.ActiveCfg = Debug|x64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x64.Build.0 = Debug|x64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x64.Deploy.0 = Debug|x64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x86.ActiveCfg = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x86.Build.0 = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Debug|x86.Deploy.0 = Debug|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|Any CPU.ActiveCfg = Release|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM.ActiveCfg = Release|ARM - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM.Build.0 = Release|ARM - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM.Deploy.0 = Release|ARM - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM64.ActiveCfg = Release|ARM64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM64.Build.0 = Release|ARM64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|ARM64.Deploy.0 = Release|ARM64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|iPhone.ActiveCfg = Release|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|iPhoneSimulator.ActiveCfg = Release|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|x64.ActiveCfg = Release|x64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|x64.Build.0 = Release|x64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|x64.Deploy.0 = Release|x64 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|x86.ActiveCfg = Release|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|x86.Build.0 = Release|x86 - {ED348898-C55D-4473-A5A7-F54F54D51965}.Release|x86.Deploy.0 = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|Any CPU.ActiveCfg = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|Any CPU.Build.0 = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|ARM.ActiveCfg = Debug|ARM + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|ARM.Build.0 = Debug|ARM + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|ARM.Deploy.0 = Debug|ARM + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|ARM64.Build.0 = Debug|ARM64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|iPhone.ActiveCfg = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|x64.ActiveCfg = Debug|x64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|x64.Build.0 = Debug|x64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|x64.Deploy.0 = Debug|x64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|x86.ActiveCfg = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|x86.Build.0 = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Debug|x86.Deploy.0 = Debug|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|Any CPU.ActiveCfg = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|Any CPU.Build.0 = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|ARM.ActiveCfg = Release|ARM + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|ARM.Build.0 = Release|ARM + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|ARM.Deploy.0 = Release|ARM + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|ARM64.ActiveCfg = Release|ARM64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|ARM64.Build.0 = Release|ARM64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|ARM64.Deploy.0 = Release|ARM64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|iPhone.ActiveCfg = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|iPhoneSimulator.ActiveCfg = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|x64.ActiveCfg = Release|x64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|x64.Build.0 = Release|x64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|x64.Deploy.0 = Release|x64 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|x86.ActiveCfg = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|x86.Build.0 = Release|x86 + {4B5F4D6C-D575-4285-91CA-91E186136562}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -381,11 +381,11 @@ Global {C911DD4B-BCDC-4D76-83D1-DC40379DF816} = {F9D3811B-6620-4ABC-A66E-D8E723A73817} {145C0011-638B-4DE5-81BA-F1F9F0901037} = {F9D3811B-6620-4ABC-A66E-D8E723A73817} {1204E055-1BA8-4803-B98C-36C2CE608A54} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} - {2C7E3F2E-4A4F-4E9E-9619-8464BCF326DB} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} - {5E94DA86-10DA-476B-9BFF-310C23360617} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} - {4DA5AECE-3A16-45AE-9C6D-45B262236175} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} + {30CF84A5-00CA-41F5-9815-E54B88CAA043} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} + {2A956BC8-8E02-4B9F-ADAC-8089193525F6} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} + {028CFB45-5A50-4210-A06D-E09A0B4C25FB} = {BAE2F4F8-5FBA-4AE1-97E2-D0A9CA68E41F} {FE7AD1B6-C1BE-4B69-BEF7-A5A839A01883} = {0B602080-E0D6-4076-A709-4BE80FFAEAD8} - {ED348898-C55D-4473-A5A7-F54F54D51965} = {0B602080-E0D6-4076-A709-4BE80FFAEAD8} + {4B5F4D6C-D575-4285-91CA-91E186136562} = {0B602080-E0D6-4076-A709-4BE80FFAEAD8} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {26920035-EEB4-4947-A69E-154EE35A0E67} @@ -394,26 +394,33 @@ Global Policies = $0 $0.DotNetNamingPolicy = $1 $1.DirectoryNamespaceAssociation = PrefixedHierarchical - $0.TextStylePolicy = $11 + $0.TextStylePolicy = $2 $2.inheritsSet = null $2.scope = application/xaml - $0.XmlFormattingPolicy = $10 + $0.XmlFormattingPolicy = $3 $3.inheritsSet = null $3.scope = application/xaml + $0.TextStylePolicy = $4 $4.inheritsSet = null $4.scope = application/xml + $0.XmlFormattingPolicy = $5 $5.scope = application/xml + $0.TextStylePolicy = $6 $6.FileWidth = 80 $6.TabsToSpaces = True $6.scope = text/plain + $0.TextStylePolicy = $7 $7.inheritsSet = null $7.scope = text/x-csharp $0.CSharpFormattingPolicy = $8 $8.scope = text/x-csharp + $0.TextStylePolicy = $9 $9.inheritsSet = null $9.scope = application/x-msbuild + $0.XmlFormattingPolicy = $10 $10.inheritsSet = null $10.scope = application/x-msbuild + $0.TextStylePolicy = $11 $11.inheritsSet = null $11.scope = text/x-vs $0.StandardHeader = $12 From 4566779b0db078df65e8f58043787fc777c27c5f Mon Sep 17 00:00:00 2001 From: LucasZF Date: Tue, 30 Apr 2024 15:48:15 -0300 Subject: [PATCH 45/46] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 56acc78..df8c00f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ *.userosscache *.sln.docstates *.DS_Store + # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs From a1c66eaebd64d9cc362cca94e16970d0252c492e Mon Sep 17 00:00:00 2001 From: lucas Date: Tue, 30 Apr 2024 15:56:11 -0300 Subject: [PATCH 46/46] add NSPrivacyCollectedDataTypes --- CHANGELOG.md | 78 ++++++++++++++----- .../Privacy/SentryPrivacyInfo.xcprivacy | 39 ++++++++++ 2 files changed, 97 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54e6594..33cb492 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,30 +13,68 @@ - NSPrivacyAccessedAPITypes - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp - NSPrivacyAccessedAPITypeReasons - - C617.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime - NSPrivacyAccessedAPITypeReasons - - 35F9.1 - - - + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCrashData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + ``` - ## 2.0.0 ### Sentry Self-hosted Compatibility diff --git a/Src/Sentry.Xamarin/Privacy/SentryPrivacyInfo.xcprivacy b/Src/Sentry.Xamarin/Privacy/SentryPrivacyInfo.xcprivacy index 3f5722c..35c9e93 100644 --- a/Src/Sentry.Xamarin/Privacy/SentryPrivacyInfo.xcprivacy +++ b/Src/Sentry.Xamarin/Privacy/SentryPrivacyInfo.xcprivacy @@ -2,6 +2,45 @@ + NSPrivacyCollectedDataTypes + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeCrashData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypePerformanceData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + + NSPrivacyCollectedDataType + NSPrivacyCollectedDataTypeOtherDiagnosticData + NSPrivacyCollectedDataTypeLinked + + NSPrivacyCollectedDataTypeTracking + + NSPrivacyCollectedDataTypePurposes + + NSPrivacyCollectedDataTypePurposeAppFunctionality + + + NSPrivacyAccessedAPITypes