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

18194 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 4d0dd490c8 [tests] Ignore a few tests that don't work anymore due to changes Apple did. 2024-11-19 17:57:40 +01:00
Alex Soto f0f710106d [xcode16.2] Initial bump to Xcode 16.2 Beta 2 2024-11-14 14:56:46 -08:00
Alex Soto 377f0f0b62
[main] Bump to the upcoming stable release versions of the SDKs (#21541) 2024-11-12 13:22:00 -08:00
Rolf Bjarne Kvinge 9ea3cff36c
[AppKit/MediaExtension/introspection] Fix issues found with introspection on Sequoia. (#21587)
* Mark a few MediaExtension fields as Notification fields.
* Remove extreanous NSSharingCollaborationModeRestriction.AlertRecoverySuggestionButtonLaunchUrl setter.
* introspection: ignore methods that start with '_Init', aren't publicly
  visible, and bind an Objective-C constructor when verifying that a managed
  method doesn't bind an Objective-C constructor.
2024-11-08 11:35:11 +01:00
Rolf Bjarne Kvinge 2e9273a2ec
Delete some legacy Xamarin files and other unused stuff. (#21583) 2024-11-07 08:06:50 +01:00
Rolf Bjarne Kvinge 49b837fc9e
[introspection] Numerous technical debt fixes. (#21584)
* Remove all legacy code.
* Fix all warnings.
* Enable warnings as errors.
* Started unifying code between macOS vs iOS/tvOS/MacCatalyst.
* Updated README slightly.
2024-11-07 08:06:31 +01:00
Rolf Bjarne Kvinge 95a0ad2e27
[tests] Add make target to build (not run) all the test suites. (#21575)
This is useful to verify that sweeping code changes actually compile everywhere.
2024-11-06 17:34:47 +01:00
dotnet-maestro[bot] 43768cfcb7
[main] Update dependencies from dotnet/xharness (#21574)
This pull request updates the following dependencies

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

- **Subscription**: 601bc5e1-1cae-44b5-cf5f-08db9342aa2f
- **Build**: 20241029.1
- **Date Produced**: October 29, 2024 10:03:01 AM UTC
- **Commit**: dad280573945a8a849b3b655d78706088320766f
- **Branch**: refs/heads/main

- **Updates**:
  - **Microsoft.DotNet.XHarness.iOS.Shared**: [from 10.0.0-prerelease.24524.9 to 10.0.0-prerelease.24529.1][1]

[1]: b12e9b9403...dad2805739
2024-11-06 11:35:14 +01:00
Rolf Bjarne Kvinge 0daefa2212
Remove a lot of legacy logic. (#21576) 2024-11-06 11:34:39 +01:00
Rolf Bjarne Kvinge 70b61c1b18
[msbuild] Make it possible to override the path to the 'strip' tool. (#21581) 2024-11-05 16:04:38 +01:00
Rolf Bjarne Kvinge eafa2d1b63
[tests] Improve PasteboardTest.ImagesTest to hopefully work better. (#21571)
Retry the test 10 times if it fails - it uses a shared resource (the
pasteboard), so it's possible to run into race conditions if the same test
also runs in a different process at the same time.

Also remove code that we removed a long time ago, so that the test actually
runs: 86ab2bc1d1.

Hopefully fixes https://github.com/xamarin/maccore/issues/2569.
2024-11-05 11:56:18 +01:00
Rolf Bjarne Kvinge 67d072e454
[msbuild] Add support for alternate app icons. (#21475)
This adds support for including all app icons in the app, as well as for specifying alternate app icons.

Including all app icons is enabled by setting the following MSBuild property:

```xml
<PropertyGroup>
    <IncludeAllAppIcons>true</IncludeAllAppIcons>
</PropertyGroup>
````

This will make the `ACTool` task pass `--include-all-app-icons` to `actool` when compiling the asset catalog.

Specifying alternate app icon(s) is enabled by setting the following MSBuild item:

```xml
<ItemGroup>
    <AlternateAppIcon Include="MyAlternateAppIcon" />
    <AlternateAppIcon Include="MyOtherAlternateAppIcon" />
</ItemGroup>
```

Note that the included value is the name if the icon in question, not the path or the filename of the actual icon file (this way there's no need to have different items for different platforms, because there are some platform differences with regards to paths and icon file extensions).

In order to make the behavior consistent, this PR also adds support for specifying the app icon itself using an MSBuild property (in addition to the existing Info.plist property `XSAppIconAssets`, which will eventually be deprecated):

```xml
<PropertyGroup>
    <AppIcon>MyAppIcon</AppIcon>
</PropertyGroup>
```

The same note applies here: the value is the name of the icon.

Note about platforms: the code is there for all platforms (iOS, tvOS, macOS and Mac Catalyst), but alternate app icons only seem to work for iOS and tvOS. `UIApplication.SupportsAlternateIcons` always returns `false` on Mac Catalyst (googling only find people in the same situation), and macOS doesn't have this API to begin with (nor anything similar):

Also:

* Add a bunch of tests.
* Document on our website: https://github.com/dotnet/docs-mobile/pull/53
* Samples for iOS and tvOS: https://github.com/dotnet/macios-samples/pull/2

Fixes https://github.com/xamarin/xamarin-macios/issues/12790.
Fixes https://github.com/xamarin/xamarin-macios/issues/20182.
2024-11-04 18:24:00 +01:00
Rolf Bjarne Kvinge 25fa00fbca
[api-diff] Remove tool to merge multiple markdown documents. (#21566)
It's not used anymore, because we only create a single markdown document for
each platform in .NET (because we only ship a single assembly for each platform now).
2024-11-04 12:01:02 +01:00
Rolf Bjarne Kvinge 1faaf032de
[tests] Remove the legacy scripted tests. (#21568)
These tests haven't found any issues in many years, and they're also based on
legacy Xamarin, so just remove them instead of porting them to .NET.
2024-11-04 11:32:21 +01:00
Rolf Bjarne Kvinge 589dd741b2
[devops] Improve Windows tests a little bit. (#21558)
* Run both sets of Windows tests (local and remote), and fail afterwards if there
  are test failures. This way we get both test suites executed even if the first
  one fails.
* Create a script for executing the local tests (makes it easier to run locally
  as well).
* Make it possible to use a custom built .NET locally by honoring any DOTNET variable
  instead of blindly setting it (makes it easier to test locally).
* Add a .gitignore for the test configuration file we create to run tests on Windows.
* Some minor code simplifications.
2024-11-04 10:22:18 +01:00
Rolf Bjarne Kvinge 0c2aa7522a
[csharp] Port the run-with-timeout script in tests/ to a .NET project. (#21563) 2024-11-01 08:56:38 +01:00
Rolf Bjarne Kvinge 15fb72d28d
[dotnet] Remove the generate-wix.csharp script, it's no longer used. (#21555) 2024-11-01 08:06:17 +01:00
Rolf Bjarne Kvinge 62f3c35f7c
[tools] Port mtouch/mmp to .NET. (#21556)
* Update the makefiles to remove legacy logic.
* Port the mtouch/mmp projects to a .NET project, and make the necessary code
  changes to keep it working (we still use mtouch/mmp during our build to
  generate the partial static registrar code).
* Misc other related changes.
2024-11-01 08:05:56 +01:00
Rolf Bjarne Kvinge f2376bfc77
[devops] Don't fetch tags when undoing the GitHub merge. (#21552)
We don't need the tags, so don't spend time fetching them.
2024-10-31 18:37:49 +01:00
Rolf Bjarne Kvinge 2b3e839dfc
[csharp] Port csharp scripts in dotnet/ to .NET projects. (#21554) 2024-10-31 18:37:18 +01:00
Manuel de la Pena 524279ffc0
[Rgen] Simplify the way we execute tests on all platforms. (#21547)
There is no need to write a line per platform when we can use an
attribvute for that.

---------

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2024-10-30 19:15:33 -04:00
dotnet-maestro[bot] cf03595b9c
[main] Update dependencies from dotnet/xharness (#21536)
This pull request updates the following dependencies

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

- **Subscription**: 601bc5e1-1cae-44b5-cf5f-08db9342aa2f
- **Build**: 20241024.9
- **Date Produced**: October 24, 2024 4:45:22 PM UTC
- **Commit**: b12e9b940300433453aa7d57ff094aad50ce782c
- **Branch**: refs/heads/main

- **Updates**:
  - **Microsoft.DotNet.XHarness.iOS.Shared**: [from 10.0.0-prerelease.24514.1 to 10.0.0-prerelease.24524.9][1]

[1]: 8b3d320f93...b12e9b9403
2024-10-30 19:59:09 +01:00
Rolf Bjarne Kvinge b0ce070c51
Bump mlaunch. (#21550)
Relevant commits:

* https://github.com/xamarin/maccore/commits/fcd7847f00 [mlaunch] Fix --isappinstalled when using devicectl. (#2951)

Diff: c1a17a2f80..fcd7847f00

Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2291207.
2024-10-30 19:45:20 +01:00
Manuel de la Pena 69895c9598
[RGen] Move common shared code to its own project. (#21548)
This simplifies the usage of those external file, specially for test
projects.
2024-10-30 10:59:01 -04:00
Manuel de la Pena d51fa94c3d
[Rgen] Provide a data model to make the code generator more performant. (#21517)
In order to fully take advantage of the
[caching](https://github.com/dotnet/roslyn/blob/main/docs/features/incremental-generators.md#caching)
provided by the incremental code generator infrastructure we move to use
a data model that will represent the code changes that will trigger a
regeneration of certain classes.

The current implementation only takes care of the changes that will
trigger a regeneration on enums:

1. Enum fully qualified name changed.
2. Attributes added or removed in the enum.
2. Enum values added/removed.

We provide our own Comparer to have more control on how the structures
are compared.

---------

Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2024-10-29 13:58:20 -04:00
Rolf Bjarne Kvinge f11253b5a2
[csharp] Port csharp scripts in src/ to .NET projects. (#21498) 2024-10-29 13:00:35 +01:00
Alex Soto e581020612
[main] Merge xcode16.1 into main (#21539) 2024-10-29 06:43:01 -04:00
dotnet-maestro[bot] dfba363fff
[main] Update dependencies from dotnet/sdk (#21526)
This pull request updates the following dependencies

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

- **Subscription**: afa459aa-bd64-46cb-8138-9f6f795963d4
- **Build**: 20241027.3
- **Date Produced**: October 28, 2024 3:35:29 AM UTC
- **Commit**: 50e04b8d1d8ff413de90383aa799e4189612f685
- **Branch**: refs/heads/release/9.0.1xx

- **Updates**:
  - **Microsoft.NET.Sdk**: [from 9.0.100-rtm.24523.41 to 9.0.100-rtm.24527.3][2]

[2]: 61144bb03d...50e04b8d1d
2024-10-29 09:39:14 +01:00
Alex Soto 3b9c704209
[xcode16.1] Bump to stable release of Xcode 16.1 (#21538) 2024-10-28 20:28:35 -04:00
Rolf Bjarne Kvinge 3ac70f74fb
[tests] Improve the AssetsTest test. (#21532)
* Remove test cases for 32-bit arm, which we don't support anymore.
* Use test-level test cases instead of fixture-level test cases, because the
  fixture-level test cases are all rendered identically in both the console
  output and the html report, making it impossible to figure out which
  variation failed when something goes wrong.
* Add new assets related to app icons.
* Update according to new test project assets.
* Ask 'assetutil` to write the output we care about to a file, that way we
  don't  have to take random stdout output into account.
* Simplify how the test asserts asset catalog contents to include all assets,
  not just a selection of them.

Note: might be easier to review commit-by-commit, because there's a lot of new
assets and I'm adding them in a separate commit.
2024-10-28 15:28:57 +01:00
Rolf Bjarne Kvinge 3565119e8e
[devops] Escape quotes when searching for work items using title. (#21534)
This makes the code to find existing work items for a given title actually
work.
2024-10-28 15:28:48 +01:00
Alex Soto 0715fd50bf
[xcode16.1] Merge main into xcode16.1. (#21533) 2024-10-28 10:23:34 -04:00
Rolf Bjarne Kvinge 627469d56b [xcode16.1] Merge main into xcode16.1. 2024-10-28 11:32:42 +01:00
Rolf Bjarne Kvinge 94526bc7bc
[msbuild] Fix an incremental build issue with resources in universal apps. (#21516)
For universal apps, we compile as many resources as we can in the outer
(universal) build, and then pass a path to a temporary file with a list of
those compiled resources to the inner (rid-specific) builds, so that the inner
builds can skip them.

We have to delete this temporary file after the inner builds have completed,
otherwise they may interfere with subsequent builds if the set of resources
has changed.

However, this revealed another issue with incremental builds: we still need to
write out this temporary file even if the outer build won't compile the
resources because they were compiled in a previous build, otherwise the inner
builds would unnecessarily compile those resources.

An upcoming test for a new feature found this issue, so I'm not adding a test.
2024-10-28 09:09:29 +01:00
Rolf Bjarne Kvinge 62bea9dc76
[devops] Clean up bots better from previous usage. (#21523)
* Find all git repositories in the default working directory, for both
  multi-repo checkouts and single-repo checkouts, and clean them all.
* Completely remove the 'packages' directory before putting any other files in
  it.
2024-10-28 09:08:59 +01:00
Rolf Bjarne Kvinge 5f69e3cd14
[devops] Fix link to step logs. (#21529) 2024-10-28 08:57:30 +01:00
Alex Soto 34ebd5776d
[xcode16.1] Merge main into Xcode 16.1 (#21528) 2024-10-26 11:08:03 -04:00
Alex Soto 0c21018d8f
[xcode16.1] Update NetworkExtension all the way to Xcode 16.1 RC (#21518) 2024-10-26 07:10:22 -04:00
Alex Soto 7618edb1ac Merge remote-tracking branch 'origin/main' into xcode16.1 2024-10-25 18:09:22 -04:00
Alex Soto ae9a1ed767
[xcode16.1] Update PencilKit all the way to Xcode 16.1 RC (#21519)
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2024-10-25 07:19:11 -04:00
Alex Soto ab54538c7e
[xcode16.1] Update TVServices all the way to Xcode 16.1 RC (#21520) 2024-10-25 07:18:44 -04:00
Alex Soto a80e2ce8c1
[xcode16.1] Update UIKit all the way to Xcode 16.1 RC (#21522) 2024-10-25 07:18:23 -04:00
dotnet-maestro[bot] ecb83ced32
[main] Update dependencies from dotnet/sdk (#21513)
This pull request updates the following dependencies

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

- **Subscription**: afa459aa-bd64-46cb-8138-9f6f795963d4
- **Build**: 20241023.41
- **Date Produced**: October 24, 2024 6:32:34 AM UTC
- **Commit**: 61144bb03d670a06562fb761505a36b7cc837faf
- **Branch**: refs/heads/release/9.0.1xx

- **Updates**:
  - **Microsoft.NET.Sdk**: [from 9.0.100-rtm.24523.3 to 9.0.100-rtm.24523.41][1]

[1]: ece1951b36...61144bb03d
2024-10-25 11:18:44 +02:00
Mauro Agnoletti 201f02e0ee
Update Xamarin.Messaging to 2.2.10 (#21521)
Brings some important fixes on client and agent side to handle agent status notifications better

Diff: a3a1e00e5a..6b35d9de96
2024-10-25 10:23:40 +02:00
Rolf Bjarne Kvinge 9caa2cf6bc
[dotnet] Port misc build/test logic to .NET. (#21497)
More steps towards removing our build-time Mono dependency.
2024-10-25 09:27:41 +02:00
Alex Soto f610d76598
[xcode16.1] Update Intents all the way to Xcode 16.1 RC (#21515) 2024-10-24 16:46:07 -04:00
Alex Soto 13b56f0bbe [xcode16.1] Update TVServices all the way to Xcode 16.1 RC 2024-10-24 16:40:16 -04:00
Rolf Bjarne Kvinge c2c617bf00
[devops] Don't checkout tags. (#21499)
This should speed up the checkout step a little bit.

Ref: https://github.com/xamarin/yaml-templates/pull/338.
2024-10-24 16:55:59 +02:00
Rolf Bjarne Kvinge f7dae27fa2
[src/tests] Remove the XAMCORE_3_0 define. (#21506)
It's always defined, now that legacy Xamarin is not supported anymore, so just
remove it.
2024-10-24 16:55:32 +02:00
Rolf Bjarne Kvinge f9c18f4e4d
[devops] Upload MSBuild crash logs. (#21503)
When MSBuild crashes, MSBuild creates a log file and prints:

> error MSB4166: Child node "3" exited prematurely. Shutting down. Diagnostic information may be found in files in "/var/folders/52/tx7jvhs16x19bkdf030_nyww0000gn/T/MSBuildTempbuilder/" and will be named MSBuild_*.failure.txt. This location can be changed by setting the MSBUILDDEBUGPATH environment variable to a different directory.

However, these log files aren't accessible after a CI build has concluded, so
set the MSBUILDDEBUGPATH environment variable to the jenkins-results
directory, which will be uploaded as a build artifact.

This way we can inspect whatever made MSBuild fail in a CI build.
2024-10-24 16:55:06 +02:00