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

18207 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge c1953a54f6
[msbuild] Use ILRepack as a dotnet tool. (#21240)
This is one step towards removing the dependency on having Mono
installed during the build.

For some reason that also ended up requiring a few nullability issues in
the msbuild tests.
2024-09-17 16:22:04 +02:00
Rolf Bjarne Kvinge 58ebbe7a06 [tests] Don't use an iOS-specific storyboard on other platforms. 2024-09-17 08:45:29 +02:00
Rolf Bjarne Kvinge 8106ee643d
[github] Make it possible to drop files in the "Additional Logs" field. Fixes #21243. (#21245)
GitHub won't allow dropping files into a field where 'render: shell'
(presumably because that means the field will automatically become a
fenced block in the final issue), so just remove the 'render' property (this
way it matches all the other input fields).

Fixes https://github.com/xamarin/xamarin-macios/issues/21243.
2024-09-17 06:59:36 +02:00
Rolf Bjarne Kvinge 4c10b3a2ab Merge remote-tracking branch 'origin/xcode16' into dev/rolf/bump-main-in-xcode16-2024-09-13 2024-09-17 06:57:27 +02:00
Rolf Bjarne Kvinge 00ec47ae39 Merge remote-tracking branch 'origin/main' into dev/rolf/bump-main-in-xcode16-2024-09-13 2024-09-17 06:57:03 +02:00
Rolf Bjarne Kvinge f05ea25971
[msbuild] Don't use storyboards / asset catalogs in the prebuilt HotRestart app bundle. (#21237)
Use the Info.plist to set the launch image and app icons for the app, instead
of using a storyboard / asset catalog.

One minor change is that the ".NET" text in the launch image is not located in
exactly the same place anymore. This is because it was rather complicated to
get the background color of the launch image correct. I tried numerous
options, neither of them fully work:

* Set the background color in the launch sreen png itself: this will create
  black or white borders around the image.
* Use svg: svg doesn't work.
* There doesn't seem to be a way to specify multiple launch screen images, and
  have iOS pick the best one depending on the target device size.

The end solution was to provide a really big launch screen png, so that there
won't be any black or white border on any of today's devices. The downside is,
as mentioned, that the text is not located in the same place once iOS has
adjusted the size of the image to fit the current device.

The big advantage is that this means we won't need to install the iOS
simulator on CI during our product build, we only need Xcode itself (we'll
still need all the simulators for our tests).

iPhone launch screen:

![IMG_0423](https://github.com/user-attachments/assets/761f7ed9-73f9-4c2b-821f-6eb87010f901)

iPad launch screen:

![IMG_0146](https://github.com/user-attachments/assets/b71c2f0f-6cf7-4ad4-b6c8-013617287ed4)
2024-09-17 06:56:07 +02:00
Rolf Bjarne Kvinge ae4ef0e179
Revert "[CI] Split the sim tests and the macOS tests. (#21215)" (#21247)
This reverts commit e993173a3c.

It breaks CI (tests are still running duplicated, except for the macOS
tests, which aren't running, except on the xcode16 branch, where they're
running and failing).
2024-09-17 06:47:51 +02:00
dotnet-maestro[bot] 1dd6b6c4f2
[net9.0] Update dependencies from dotnet/sdk (#21085)
This pull request updates the following dependencies

## From https://github.com/dotnet/sdk

- **Subscription**: 3727984b-7a79-4ba3-37dd-08dbe6bddf31
- **Build**: 20240914.3
- **Date Produced**: September 14, 2024 9:05:51 PM UTC
- **Commit**: 1a658dfc714a5064eea57af48d5fd68a3ffab7ef
- **Branch**: refs/heads/release/9.0.1xx

- **Updates**:
  - **Microsoft.NET.Sdk**: [from 9.0.100-rc.2.24463.45 to 9.0.100-rc.2.24464.3][49]

[49]: 0f07337f8d...1a658dfc71

## Coherency Updates

The following updates ensure that dependencies with a *CoherentParentDependency*
attribute were produced in a build used as input to the parent dependency's build.
See [Dependency Description Format](https://github.com/dotnet/arcade/blob/master/Documentation/DependencyDescriptionFormat.md#dependency-description-overview)

- **Coherency Updates**:
  - **Microsoft.NET.ILLink.Tasks**: from 9.0.0-rc.2.24461.16 to 9.0.0-rc.2.24462.10 (parent: Microsoft.NET.Sdk)
  - **Microsoft.AspNetCore.App.Ref**: from 9.0.0-rc.2.24462.5 to 9.0.0-rc.2.24463.6 (parent: Microsoft.NET.Sdk)
  - **Microsoft.NETCore.App.Ref**: from 9.0.0-rc.2.24461.16 to 9.0.0-rc.2.24462.10 (parent: Microsoft.NET.Sdk)
  - **Microsoft.NETCore.App.Ref**: from 9.0.0-rc.2.24461.16 to 9.0.0-rc.2.24462.10 (parent: Microsoft.NET.Sdk)
2024-09-16 19:54:05 +02:00
Rolf Bjarne Kvinge 280b27aec1
[CoreMidi] Implement Xcode 16.0 beta 1-6 changes. (#20882)
Note: there were no changes in beta 3, beta 4, beta 5 or beta 6.
2024-09-16 10:59:28 +02:00
Rolf Bjarne Kvinge cfcfd42947
[tools] Fix typo 'occured' -> 'occurred'. (#21208) 2024-09-16 10:16:27 +02:00
Rolf Bjarne Kvinge e45dca7413
[Metal] Implement Xcode 16 RC changes. (#21229) 2024-09-13 19:29:18 +02:00
Rolf Bjarne Kvinge 0edba0ea68
[devops] Fix typo when killing the simdiskimaged service. (#21205) 2024-09-13 18:38:42 +02:00
Rolf Bjarne Kvinge a52f186066 [xcode16] Merge main into xcode16. 2024-09-13 15:53:38 +02:00
Rolf Bjarne Kvinge 5fd9438bde
[tools/install-source] Remove. (#21195)
This is legacy only, so we don't need it anymore.
2024-09-13 15:49:53 +02:00
Rolf Bjarne Kvinge 3245946fdc
[xtro] Remove all legacy Xamarin bits. (#21196) 2024-09-13 15:49:13 +02:00
Rolf Bjarne Kvinge d3c0f76ce6
[api-diff] Compute the API diff using public (stable) NuGet packages. (#21222)
Compute the API diff using the public (stable) NuGet instead of
downloading custom zip files.

Also remove all the legacy logic, and improve the README to explain the
process.

Note: the api diff won't work correctly in this PR (the comparison
against the previous commit won't be correct, because the previous
commit doesn't have the changes from this PR, which the new code
expects).
2024-09-13 12:16:27 +02:00
Rolf Bjarne Kvinge 99ce14daf7
[CoreMedia] Implement Xcode 16 RC changes. (#21226) 2024-09-13 12:15:21 +02:00
Rolf Bjarne Kvinge d698e42bb8
[devops] We must use the beta channel on xcode16. (#21227) 2024-09-13 10:41:16 +02:00
Rolf Bjarne Kvinge 9340a371d0
[runtime] Enable C++ standard library hardening. Fixes #20709. (#21230)
Apple recommends the "fast" mode for production code, and "debug" mode for
non-production, so we're mapping this to Release="fast" and Debug="debug".

References:

* https://developer.apple.com/xcode/cpp/#library-hardening
* https://libcxx.llvm.org/Hardening.html

Fixes https://github.com/xamarin/xamarin-macios/issues/20709.
2024-09-13 10:35:54 +02:00
Manuel de la Pena e993173a3c
[CI] Split the sim tests and the macOS tests. (#21215)
Resource triggers do an or on the stage, not and and. That means that
the tests pipelines are triggered once per stage. A way to solve this is
to split the tests and each of the pipelines will listen to specific
stage.
2024-09-12 17:16:09 -04:00
Rolf Bjarne Kvinge 096eca541b
[MediaExtension] Implement this new framework. (#21176) 2024-09-12 19:53:51 +02:00
Rolf Bjarne Kvinge 8a41217f73
[xcode16] Merge main into xcode16. (#21220) 2024-09-12 18:53:12 +02:00
Rolf Bjarne Kvinge 59d489dfe6
[MetalPerforanceShaders] Implement Xcode 16.0 beta 1-6 changes. (#21155)
Some of the availability attributes are from earlier OS versions, but
it's what the headers + Apple's documentation say.

Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
2024-09-12 18:22:53 +02:00
Rolf Bjarne Kvinge f009530af5
[Phase] Implement Xcode 16.0 beta 1-6 changes. (#21156)
Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
2024-09-12 15:12:56 +02:00
Rolf Bjarne Kvinge 6a040739fa
[CoreML] Implement Xcode 16.0 beta 1-6 changes. (#21145)
Note: there were no changes in beta 4, beta 5 or beta 6.
2024-09-12 13:24:16 +02:00
Rolf Bjarne Kvinge d3dd195956
[VideoToolbox] Implement Xcode 16.0 beta 1-6 changes. (#21157)
Note: there were no changes in beta 6.
2024-09-12 13:11:48 +02:00
Rolf Bjarne Kvinge f7bddc6ac9
[PassKit] Implement Xcode 16.0 beta 1-6 changes. (#21139)
Note: there were no changes in beta 3, beta 4 or beta 5.
2024-09-12 13:10:34 +02:00
Rolf Bjarne Kvinge 17d27c9b07
[WebKit] Implement Xcode 16.0 beta 1-6 changes. (#21166)
Note: there were no changes in beta 3, beta 4, beta 5 or beta 6.
2024-09-12 13:04:51 +02:00
Rolf Bjarne Kvinge ad1a3b789f
[CoreVideo] Implement Xcode 16.0 beta 1-6 changes. (#21163)
Note: there were no changes in beta 2, beta 3, beta 5 or beta 6.
2024-09-12 13:03:49 +02:00
Rolf Bjarne Kvinge fd882726c9
[xcode16] Bump to Xcode 16 RC. (#21209) 2024-09-12 13:00:36 +02:00
Mike Bond 820e8cc3b4
Disable/reenable agents using dynamically obtained access token (#21216)
Replace `MacPoolAccessToken` with a dynamically obtained Azure DevOps
access token. The `MacPoolAccessToken` is backed by the
`botdeploy--azdo--token--register--untrusted` secret, which is limited
to a 7-day lifespan. This change removes the dependency on that token
2024-09-12 12:33:34 +02:00
Rolf Bjarne Kvinge 734706677f
[devops] Remove legacy-only test configurations. (#21210)
Also simplify some code that checks if we're running a .NET test (which
will always be true now).
2024-09-12 11:16:47 +02:00
Rolf Bjarne Kvinge 6325335fe5 [xcode16] Merge main into xcode16. 2024-09-12 11:10:51 +02:00
Rolf Bjarne Kvinge 3c83e65de7
[net9.0] Merge main into net9.0. (#21221) 2024-09-12 10:49:11 +02:00
Rolf Bjarne Kvinge 3abcc3c9dd
[tools] Improve error message when deployment target is too old. (#21211)
Ref: https://github.com/xamarin/xamarin-macios/issues/21204
2024-09-12 10:47:15 +02:00
Rolf Bjarne Kvinge 06c2920791
[NetworkExtension] Implement Xcode 16.0 beta 1-6 changes. (#21171)
Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
2024-09-11 22:02:09 +02:00
Rolf Bjarne Kvinge 567b2a0a71
[xcode16] Misc fixes after running tests on macOS Sequoia. (#21193) 2024-09-11 20:56:55 +02:00
Rolf Bjarne Kvinge cf8d2ad695
[BrowserEngineKit] Implement this new framework. (#21168)
Note: this framework was introduced in Xcode 15.4.

Up-to-date until RC.
2024-09-11 20:34:52 +02:00
Rolf Bjarne Kvinge 81799f17f1 [net9.0] Merge main into net9.0. 2024-09-11 20:33:17 +02:00
Matt Sylvia 270a50231e
[CI] Remove Azure Storage usage (#21217) 2024-09-11 20:26:33 +02:00
Rolf Bjarne Kvinge 499820eda5
[tests] Fix ignoring members based on OSPlatformAttributes. (#21192)
We were ignoring members based on whether a member had
ObsoletedOSPlatformAttribute/UnavailableOSPlatformAttribute, not taking
into account that the attribute might not apply to the current platform.

So implement logic to only take into account
[Obsoleted|Unavailable]OSPlatformAttributes for the current platform.
2024-09-11 20:24:03 +02:00
dotnet-maestro[bot] 127ed136d5
[main] Update dependencies from dotnet/xharness (#21202)
This pull request updates the following dependencies

## From https://github.com/dotnet/xharness

- **Subscription**: 601bc5e1-1cae-44b5-cf5f-08db9342aa2f
- **Build**: 20240909.1
- **Date Produced**: September 9, 2024 11:15:43 AM UTC
- **Commit**: df9b6509e6b3976d158e46c23d72d6acd9f0d326
- **Branch**: refs/heads/main

- **Updates**:
  - **Microsoft.DotNet.XHarness.iOS.Shared**: [from 9.0.0-prerelease.24420.3 to 10.0.0-prerelease.24459.1][1]

[1]: 69f1521765...df9b6509e6
2024-09-11 20:17:37 +02:00
Rolf Bjarne Kvinge d99f6f8fa9
[AppKit/UIKit] Implement Xcode 16.0 beta 1-6 changes. (#21130) 2024-09-11 16:48:52 +02:00
Rolf Bjarne Kvinge 31ff700ea9
[devops] Remove some legacy Xamarin logic. (#21207)
This is mostly geared towards removing things that are now unnecessary to do
in CI and take a significant amount of time (there's still plenty of minor legacy
logic).
2024-09-11 16:31:34 +02:00
Rolf Bjarne Kvinge e8bf4541d0
[AVFoundation] Add AVCaptureDeviceTypeExternal. (#21190)
Adds an enum entry for: 

https://developer.apple.com/documentation/avfoundation/avcapturedevicetypeexternal

PR originally submitted by @jeremy-visionaid in #21187.

Fixes #21187.

---------

Co-authored-by: Jeremy Powell <jeremy@visionaid.com>
2024-09-11 14:26:18 +02:00
Rolf Bjarne Kvinge 0f285bba1c
[xcode16] Merge main into xcode16. (#21214) 2024-09-11 12:13:00 +02:00
Manuel de la Pena 94240fee22
[CI] Do not export test matrix. (#21191)
The pwsh used on windows is based on dotnet framework. Dotnet framework
has a limit in the size of the env that can be passed to a child
process. We are very close to reach the limit, but after #21009 we can
ignore that env variable since it is parsed from the args.

This is just needed for the ci pipeline because the issues are going to
have are related with the vsdrops task used to upload nuget results
etc..
2024-09-10 16:55:32 -04:00
Rolf Bjarne Kvinge 1417b22b99 [xcode16] Merge main into xcode16. 2024-09-10 18:59:19 +02:00
Rolf Bjarne Kvinge 39459a2352
[bgen] Fix detecting NSObject types and generating block code with types that aren't NSObjects. (#21181) 2024-09-10 18:59:05 +02:00
Rolf Bjarne Kvinge 674ded4af4
[xcode16] Use [Experimental] instead of [RequiresPreviewFeatures]. (#21178)
This is because `EnablePreviewFeatures=true` doesn't quite work, since it
requires the building .NET and the target .NET to be on the same version.

We might want to build with .NET 9, but the Xcode branch is targeting .NET 8,
so it doesn't work.

This behavior is explained here:
https://github.com/dotnet/designs/blob/main/accepted/2021/preview-features/preview-features.md#meaning-of-property-in-multi-targeted-projects

The best solution seems to switch to using the Experimental attribute instead,
which was designed for our scenario (and explicitly to fix the problem we're
running into): bba3216250/accepted/2023/preview-apis/preview-apis.md

This also meant we had to augment `-nowarn` for bgen to:

* Pass any nowarn values to the compiler when bgen compiles stuff.
* Pass `$(NoWarn)` (the MSBuild property) to bgen when building a binding project.

---------

Co-authored-by: Alex Soto <alex@soto.dev>
2024-09-10 16:11:58 +02:00