Граф коммитов

18098 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge ea8310c33a
[Intents] Fix a few missing APIs for Xcode 16 beta 1-6. (#21138) 2024-09-06 14:58:04 +02:00
Rolf Bjarne Kvinge 92cd45d064
[MediaAccessibility] Implement Xcode 16.0 beta 4 changes. (#21144) 2024-09-06 13:55:19 +02:00
Manuel de la Pena 52ee4555af
[CI] Start moving to parse the configuration of the build in the tests pipelines (#21009)
At the moment we are recaculating the configuration that was used in the
build to decide which tests to run, that is not needed since the
configuration was uploaded to the artifacts.

This change will allow to do the following:

- Load the default variables on the build pipeline this will allow us to
set the name of the tests to match those of the build for easy parsing.
- Load the default variables to set the property comment in the PR.
- Do not recalculate the built platforms on the tests matrix.
- Do not calculate the API scan matrix, it is not needed for the tests.

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2024-09-06 07:15:50 -04:00
Rolf Bjarne Kvinge 83c0fedcd5
[bgen] Add support for more backing field types. (#21172) 2024-09-06 12:44:14 +02:00
Rolf Bjarne Kvinge 9efe6948a0
[AuthenticationServices] Implement Xcode 16.0 beta 1-6 changes. (#21143) 2024-09-06 12:08:17 +02:00
Rolf Bjarne Kvinge ae99651b5c Merge remote-tracking branch 'origin/xcode16' into dev/rolf/bump-main-in-xcode16-2024-09-02 2024-09-06 11:34:35 +02:00
Rolf Bjarne Kvinge 11c3903695 [xharness] Remove introspection for legacy Xamarin test suites.
There's a bug where the test variation to run introspection on older OS
versions doesn't properly exclude legacy Xamarin variations when legacy
Xamarin is disabled.

Since legacy Xamarin is dead, just remove introspection for legacy Xamarin
completely.
2024-09-06 11:29:55 +02:00
Rolf Bjarne Kvinge e3950ef9be Merge remote-tracking branch 'origin/main' into dev/rolf/bump-main-in-net9.0-2024-09-04 2024-09-05 19:36:32 +02:00
Rolf Bjarne Kvinge a6dca9db10 [monotouch-test] Adjust how we detect when protocols are registered. 2024-09-05 19:36:03 +02:00
Rolf Bjarne Kvinge 3f6da31049 [monotouch-test] Fix NativeAOT compilation + detecting when protocols are registered. 2024-09-05 14:19:03 +02:00
Rolf Bjarne Kvinge 00bcc95f9b [CoreMedia] Rearrange code to avoid NativeAOT bug. 2024-09-05 14:18:37 +02:00
Rolf Bjarne Kvinge e2c0cb331a
[MapKit] Implement Xcode 16.0 beta 1-6 changes. (#20893)
Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
2024-09-05 14:12:09 +02:00
Rolf Bjarne Kvinge afb561b9d6
[HealthKit] Implement Xcode 16.0 beta 1-6 changes. (#21146)
There were no changes in beta 2, beta 3, beta 4 or beta 6.
2024-09-05 14:06:24 +02:00
Rolf Bjarne Kvinge 22d6e44411
[CoreSpotlight] Implement Xcode 16.0 beta 1-6 changes. (#20866)
Note: there were no changes in beta 2-6.
2024-09-05 13:58:28 +02:00
Rolf Bjarne Kvinge e0782fa51f
[ContactProvider] Don't bind this framework. (#21160)
For all intents and purposes it's Swift only.
2024-09-05 13:01:38 +02:00
Rolf Bjarne Kvinge c206728177 Merge remote-tracking branch 'origin/main' into dev/rolf/bump-main-in-xcode16-2024-09-02 2024-09-05 12:24:17 +02:00
Rolf Bjarne Kvinge f562519e3e
Disable legacy Xamarin. (#21173)
It's no longer supported.
2024-09-05 12:22:31 +02:00
Rolf Bjarne Kvinge f61f129fe6
[CoreImage] Implement Xcode 16 beta 6 changes. (#21117)
Also some xtro cleanup.
2024-09-05 12:06:58 +02:00
Rolf Bjarne Kvinge 9edb31477d
[MetalPerforanceShadersGraph] Implement Xcode 16.0 beta 1-6 changes. (#21154)
Note: there were no changes in beta 2, beta 3, beta 5 or beta 6.
2024-09-05 12:06:09 +02:00
Rolf Bjarne Kvinge 7439accc6b
[Accessibility] Implement Xcode 16.0 beta 1-6 changes. (#21070)
Note: there were no changes in beta 3, beta 4, beta 5 or beta 6.
2024-09-05 09:41:48 +02:00
Rolf Bjarne Kvinge 7dd8f3ef7c
[CoreData] Implement Xcode 16.0 beta 1-6 changes. (#21113)
Note: there were no changes in beta 1, beta 2, beta 3, beta 5 or beta 6.
2024-09-05 09:40:50 +02:00
Rolf Bjarne Kvinge 3de8349a9d
[Security] Implement Xcode 16.0 beta 1-6 changes. (#21152)
Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
2024-09-05 09:40:01 +02:00
Rolf Bjarne Kvinge f0d4a30a64
[Vision] Implement Xcode 16.0 beta 1-6 changes. (#21149)
Note: there were no changes in beta 2, beta 3 or beta 6.
2024-09-05 09:39:03 +02:00
Rolf Bjarne Kvinge 1f5e485c80
[StoreKit] Implement Xcode 16.0 beta 1-6 changes. (#21165)
No changes in beta 2, beta 3, beta 4, beta 5 or beta 6.

This is basically a giant deprecation in favor of StoreKit 2 (which is
Swift only).
2024-09-04 23:28:59 +02:00
Rolf Bjarne Kvinge b2a5fd4199
[Network] Fix binding mistake in NWConnection. (#21174)
The 'nw_connection_set_viability_changed_handler' P/Invoke was originally
bound as 'SetBooleanChangeHandler', which isn't quite right.

So now bind it as 'SetViabilityChangeHandler', obsolete the old version and
remove it in XAMCORE_5_0.
2024-09-04 23:14:07 +02:00
Rolf Bjarne Kvinge da5950b502 [CoreMidi] Fix availability attributes for .NET 9. 2024-09-04 20:23:55 +02:00
Rolf Bjarne Kvinge b7c593935a
[DeviceDiscoveryExtension] Implement Xcode 16 beta 6 changes. (#21175)
This is just adding the framework to macOS and Mac Catalyst.
2024-09-04 19:06:27 +02:00
Rolf Bjarne Kvinge a854ebe1b8
[tests] Improve test Makefile when specifying runtime identifier on the command line. (#21169)
Using RUNTIMEIDENTIFIER(S) in the Makefile interferes with the build, because
they get passed on to msbuild, which sees them as properties (RuntimeIdentifier(s)).

Thus use RID instead, and only pass on the value to the build if appropriate.
2024-09-04 18:16:19 +02:00
Rolf Bjarne Kvinge 47bd4d9f82
[PencilKit] Implement Xcode 16.0 beta 1-6 changes. (#21148)
Note: there were no changes in beta 4, beta 5 or beta 6.
2024-09-04 16:50:34 +02:00
Rolf Bjarne Kvinge e714ce4c7b
[LockedCameraCapture] Don't bind this framework. (#21161)
For all intents and purposes it's Swift only.
2024-09-04 16:49:43 +02:00
Rolf Bjarne Kvinge 16207e9898
[CarPlay] Implement Xcode 16.0 beta 1-6 changes. (#21039)
Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
2024-09-04 16:48:08 +02:00
Manuel de la Pena a6b5d22d74
[CI] Move ExportChangeID out of the configure function. (#21170)
We are tryihng to sort out all the scripts to make it re-usable in order
to use them in cascading pipelines.

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2024-09-04 10:36:31 -04:00
Rolf Bjarne Kvinge a6a11784d4 [net9.0] Merge main into net9.0. 2024-09-04 15:24:51 +02:00
Rolf Bjarne Kvinge 74166b063c
[NuGet.config] Remove feeds we don't need anymore. (#21100) 2024-09-04 11:57:33 +02:00
Rolf Bjarne Kvinge d77a4dd8c3
[bgen] Add warning to the list of exceptions instead of showing it right away. (#21027)
This way execution won't stop if the warning was turned into an error, and
we'll get a list of all the warnings by executing once, instead of having to
re-execute after fixing each warning.
2024-09-04 11:56:11 +02:00
Rolf Bjarne Kvinge 515d0ce8f7
[AccessorySetupKit] Implement Xcode 16.0 beta 1-6 changes. (#20857)
Note: there were no changes in beta 2 or beta 3.
2024-09-03 18:06:27 +02:00
Manuel de la Pena 87f28d5323
[CI] Move the step that sets the vsts labels. (#21151)
Keep working towards simplifying the configuration script.
2024-09-03 11:27:41 -04:00
Rolf Bjarne Kvinge 73683f8124 [xcode16] Merge main into xcode16. 2024-09-02 19:51:07 +02:00
Rolf Bjarne Kvinge 6ba3c7893d
[xcode16] Merge main into xcode16. (#21158) 2024-09-02 19:31:36 +02:00
Rolf Bjarne Kvinge 3b6a5c20c6
[bgen] Add support for delegates with pointer types. (#21159) 2024-09-02 15:02:39 +02:00
Rolf Bjarne Kvinge ff707c145e
[dotnet-linker] Trim away the static constructor for protocol interfaces if we're registering protocols in the static registrar. (#21012)
When we implemented support for using default interface members for binding protocols, we also unintentionally introduced a size regression. This happened because we now tell the linker to keep all methods in a protocol interface, thus all the corresponding types end up marked as well, etc.

This had an additional side effect: depending on the types that weren't linked away anymore, the App Store could flag an app, saying that additional entitlements is needed. This is what's happening in #21002: the App Store detects that the app references the `application:didRegisterForRemoteNotificationsWithDeviceToken:` selector [1] (from the method `RegisteredForRemoteNotifications` on `IUIApplicationDelegate`) and tells the developer they probably need the push notification entitlement.

The good news is that we don't need these protocol interface methods at runtime if the optimization to register protocols with the static registrar is enabled (which it is by default).

In this PR I teach the optimizer to remove the DynamicDependency attributes keeping these protocol interface methods from being trimmed out.

## Size improvements

* monotouch-test build for Release/ios-arm64 shrinks by [2.9mb (-2.6%)](https://gist.github.com/rolfbjarne/5e8ca6ea6854dc4a46f8e838dff11e6b)
* A very simple app (tests/dotnet/MySimpleApp) shrinks by [176kb (-0.3%)](https://gist.github.com/rolfbjarne/f0e062900528eb499fd96d124d18376f)

[1]: This is somewhat speculative, but it's probably not far from what the App Store actually does.

Fixes #21002.
2024-09-02 15:02:10 +02:00
Rolf Bjarne Kvinge bfbfa708d9
[xcode16] Bump mlaunch to a newer version with fix for xamarin/maccore#20710. (#21153)
New commits in xamarin/maccore:

* xamarin/maccore@ad4af9cde4 [mlaunch] Add support for the --console
argument to devicectl when launching on device.

Diff: eb95ebf480..ad4af9cde4
2024-09-02 13:32:07 +02:00
Rolf Bjarne Kvinge a26a7fd231 [xcode16] Merge main into xcode16. 2024-08-31 02:49:11 +02:00
Rolf Bjarne Kvinge ad310053f8
[bgen] Generate Obsolete + EditorBrowsable attributes in a few more cases. (#21135)
* Forward [Obsolete] from api definition interfaces.
* Generate [EditorBrowsable] whenever an api definition member as either
  [EditorBrowsable] or [Obsolete].
2024-08-31 00:48:17 +02:00
Rolf Bjarne Kvinge 73c035a818
[CoreVideo] Create a strongly typed dictionary for the CVPixelFormat values. (#21110)
Also a few other misc API improvements.
2024-08-30 21:01:28 +02:00
Rolf Bjarne Kvinge 56de4fa92e
[ObjCRuntime/bgen] Add support for (s)byte, (u)short and nuint fields. (#21141) 2024-08-29 20:14:52 +02:00
Rolf Bjarne Kvinge bd35d0d2e5
[Foundation] Allow setting NSUrlSessionHandler.Proxy to null (#21140)
Before PR:

NSUrlSessionHandler.Proxy property throws NSE when client code set any value (including `null`):

![image](https://github.com/user-attachments/assets/bb273910-3519-490f-b5fd-1999327012b3)

After PR

NSUrlSessionHandler.Proxy property throws NSE only when the client code
tries to set a value different from `null` (Custom proxy is not
supported right now in iOS implementation so setting a value other than
null must throws NSE):

![image](https://github.com/user-attachments/assets/4a564785-3e23-469c-ac26-460d028cf770)

Fixes #21132.

PR originally submitted by @adospace in #21137.

Co-authored-by: adospace <adospace@msn.com>
2024-08-29 14:17:50 +02:00
Rolf Bjarne Kvinge b1205ce8e5
[dotnet] Increase verbosity when doing 'dotnet workload install' in CI. (#21122)
We're seeing random failures during workload installations in CI, so increase
the default verbosity to see if we can get an idea of what's happening.
2024-08-29 11:30:38 +02:00
Rolf Bjarne Kvinge b4070eb62f
[xcode16] Merge main into xcode16. (#21123) 2024-08-29 11:19:12 +02:00
Rolf Bjarne Kvinge 38b50768b9
[xcode16] Revert workarounds for breaking changes in earlier betas due to Apple removing watchOS APIs (#21121) 2024-08-29 00:10:35 +02:00