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

15617 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 059aa7ad8f [net8.0] Merge main into net8.0. 2023-04-10 12:44:17 +02:00
Rolf Bjarne Kvinge 8c9ee8289f
[msbuild/dotnet] Rework how we collect and process native references. (#17554)
Previously, we'd do this:

* Collect all possible native references.
* Extract any compressed native references (*.framework.zip, *.xcframework.zip,
  *.resources.zip) to disk.
* Resolve the resulting native references.

This doesn't work very well on Windows (in non-connected/Hot Restart mode),
because some compressed files may contain symlinks (in particular compressed
xcframeworks). If those symlinks are for any other platform than the one we're
building for, they shouldn't matter, but if we extract the entire compressed
xcframework before figuring out what we need from it, we'd run into symlinks
and not knowing whether they should be ignored or not.

So rework the process to:

* Collect all possible native references.
* Resolve the resulting native references, peeking into zip files if need be.
* Extract any compressed native references, but only the parts of the zip we need.

This way we won't run into any symlinks unless we really need them, and it
should also improve build performance slightly, even on macOS, since we're not
extracting files we won't need (which can be significant for xcframeworks).

Additionally:

* Add support for unzipping on Windows by using System.IO.Compression.
* Show an error if attempting to extract a symlink in the last step in the
  reworked process on Windows.
* Some tests had to be updated (since they poked into internals of the
  ResolveNativeReferences task, and those internals have changed).
2023-04-10 11:27:41 +02:00
Emanuel Fernandez Dell'Oca e0274c918d
Update Messaging and Hot Restart versions (#17992) 2023-04-08 07:29:10 -04:00
TJ Lambert 7f0e612eed
[Localization] Remove Schedule Variables and use displayName (#17982)
Pipelines didn't like the scheduled variables so let's try using the
schedule displayName instead

---------

Co-authored-by: tj-devel709 <tjlambert@microsoft.com>
2023-04-07 13:20:43 -05:00
Alex Soto d4332e9173
[net8.0] merge main into net8.0 and bump macios dependency (#17991) 2023-04-07 07:00:39 -04:00
Alex Soto d4dab5de94
Merge branch 'net8.0' into net8.0-main-merge 2023-04-06 21:45:10 -04:00
Alex Soto 6a1b1997db [eng] Bump dotnet 7.0 macios packages 2023-04-06 20:18:06 -04:00
Alex Soto df5c2e2862 Merge remote-tracking branch 'xamarin/main' into net8.0-main-merge 2023-04-06 20:12:48 -04:00
Emanuel Fernandez Dell'Oca b7a486a887
[msbuild] Get RecursiveDir directory name only if it isn't empty (#17988)
If the `RecursiveDir` metadata is empty, the GetDirectoryName method
throws an error because it isn't a valid path. This can happen on VS
design time builds.
2023-04-06 17:21:26 -04:00
Alex Soto 02a6cf9c61
[net8.0] Merge main into net8.0 (#17978) 2023-04-06 11:52:55 -04:00
Alex Soto 60660009e2
Merge branch 'net8.0' into net8.0-main-merge 2023-04-05 20:52:35 -04:00
Rolf Bjarne Kvinge 5252b92c82
[net8.0] Fix the Windows tests (#17939)
1. Keep the .NET 6 feed, because even though we've dropped support for
.NET 6, parts of the build may still need access to the feed.

> Workload installation failed: microsoft.maccatalyst.sdk::16.2.19 is
not found in NuGet feeds [long list of feeds, but not the right one]

2. Pass a runsettings to 'dotnet test' to tell it to use the .NET
version we've downloaded, otherwise it will try to use any .NET version
installed on the system (🤦‍♂️) - which doesn't work because we need to
use .NET 8, and the system only has .NET 7.
2023-04-05 20:52:14 -04:00
Alex Soto db0b1ff52f Merge remote-tracking branch 'xamarin/main' into net8.0-main-merge 2023-04-05 15:25:09 -04:00
TJ Lambert c28afee099
[Localization] Run the OneLoc Task more efficiently (#17976)
This PR does a few things to help the Localization process happen more
efficiently:

1) Add a cron job
* One will run on Sundays (as before) and this one will set the new
variable to be true and will create a PR into main with the usable
translations
* The other will run after each weekday at around midnight and will
allow the Loc team to see our newly added error codes much faster but
will not look for the new localization for us to use each day.
2) Allow us to manually run the pipeline and create the Localization PR
with the new usable translations whenever we want (for example if there
was an error on the weekly build and we don't want to wait until the
next weekend to get the new strings)

Co-authored-by: tj-devel709 <tjlambert@microsoft.com>
2023-04-05 13:28:23 -05:00
VS MobileTools Engineering Service 2 4621cf219e
[main] Bump .NET 6 versions old-fashioned 🥃 (#17975)
Backport of #17974

Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-04-04 13:08:13 -04:00
TJ Lambert f4bfa471e0
[Localization] Two more merge conflicts to remove (#17972)
Continuation of this PR:
https://github.com/xamarin/xamarin-macios/pull/17963

Co-authored-by: tj-devel709 <tjlambert@microsoft.com>
2023-04-04 09:24:07 -05:00
Mauro Agnoletti 11986082cc
Fixed remote and local build issues (#17964)
- Updated Xamarin.Messaging to 1.9.99 to fix a connection problem in
remote builds because of an invalid reference to
System.Security.Cryptography.ProtectedData
- Generate Hot Restart specific build session id to fix an issue in
local builds that was conflicting with remote builds

---------

Co-authored-by: Emanuel Fernandez <emafern@microsoft.com>
2023-04-03 19:46:31 -04:00
TJ Lambert f0c23cf6cc
[Localization] Resolve Merge Conflicts (#17963)
There were two places that with merge conflicts from this PR:
https://github.com/xamarin/xamarin-macios/pull/17902

Maybe there could be a cecil test to catch `<<<<<<< HEAD` or other parts
of a merge conflict?

Co-authored-by: tj-devel709 <tjlambert@microsoft.com>
2023-04-03 16:13:39 -05:00
Steve Hawley bef5d47ef4
[dotnet] preliminary cut for class-redirector (#17951)
This is the preliminary version of class-redirector addressing issue
#16671
2023-04-03 12:37:26 -04:00
Manuel de la Pena 098d9c5b9f
[CI] Fix the pattern since it is the outer path the one with the prefix. (#17959) 2023-04-03 11:25:33 -04:00
Alex Soto 1fd05057ed
[main] Bump to stable Xcode 14.3 (#17953)
Bump to stable version of Xcode 14.3
2023-03-31 07:11:02 -04:00
VS MobileTools Engineering Service 2 87e159ac14
[main] Bump .NET 6 versions old-fashioned 🥃 (#17957)
Bumps .NET 6 to release/6.0.4xx-xcode14.3 @
2f729d37ef


Backport of #17952

Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-03-31 07:08:48 -04:00
Manuel de la Pena 879d2b5e05
[CI] Fix the windows tests in the unified pipeline. (#17934) 2023-03-30 22:04:06 -04:00
Haritha Mohan 6dcb8e3b02
[docs] Document properties for configurations (#17940)
Fixes #17738
Addresses the initial issue of just documenting which properties are
tied to which configuration. But to make the documentation more helpful,
we should provide further context about what exactly these properties
mean. However, this isn't trivial as some properties are a bit
cryptic..once further info is acquired, it will be integrated in a later
revision.
2023-03-30 12:22:32 -07:00
Rolf Bjarne Kvinge 2aff5aefe6
[tests] Add missing file to .NET tests. (#17947)
This fixes an issue in the BundleStructure tests:

> error MSB3030: Could not copy the file
"/Users/builder/azdo/_work/4/s/xamarin-macios/tests/dotnet/BundleStructure/NoneP.dll"
because it was not found.
2023-03-30 18:49:05 +02:00
Rolf Bjarne Kvinge 62ee7a4426
[msbuild] Move *.targets, *.props and FrameworkList.xml files to a common directory. (#17860)
This unifies the code/logic between iOS and macOS a bit more.
2023-03-30 18:25:14 +02:00
Alex Soto bae2dd5f78
[main] Add Xcode 14.3 Support (#17810)
please do review the work done so far, this should be up to date to
Xcode 14.3 Beta 2. Best way to review this is going commit by commit
2023-03-30 12:10:45 -04:00
Milos Kotlar 6d6cee815e
Enable deduplication of generics in Xamarin.iOS build (#17766)
This PR contributes to https://github.com/dotnet/runtime/issues/83193. It
creates a new target `_CreateAOTDedupAssembly`, and makes the `_AOTCompile`
depend on it. Also, it changes the `AOTCompile` task to pass `dedup-skip` and
`dedup-include` to the Mono AOT compiler.

The change was tested on `MySingleView` app and `Monotouch` tests. Both apps
are working, but some monotouch tests are failing due to
`Arg_NotlmplementedException`. Assumption is that calls between Obj-C and C#
could be problematic, as with the dedup improvement enabled, extra methods got
moved from origin assemblies to the dedup assembly, so native to managed
mapping could be corrupted.

Here are preliminary results comparing size on disk and build time between the
baseline (`net8.0` branch) and the target (this branch). Binlog details are
[attached](https://github.com/xamarin/xamarin-macios/files/10942772/binlog.zip).

| App                                      | Baseline size on disk .ipa (MB) | Target size on disk .ipa (MB) | Baseline size on disk .app (MB) | Target size on disk .app (MB) | Baseline build time (s) | Target build time (s) | .app diff (%) |
| ---------------------------------------- | ------------------------------- | ----------------------------- | ------------------------------- | ----------------------------- | ----------------------- | --------------------- | ------------- |
| MySingleView Release iOS                 | 5,40                            | 5,40                          | 29,2                            | 15,20                         | 29,18                   | 16,77                 | 47,94         |
| MySingleView Release  iOSSimulator-arm64 | N/A                             | N/A                           | 469,5                           | 341,80                        | 468,00                  | 330,00                | 27,20         |
| Monotouch Release llvm iOS               | 49,00                           | 38,80                         | 209,60                          | 157,40                        | 115,00                  | 130,00                | 24,90         |

Draft PR should get a full test run on the changes. The following tasks should
be resolved before making this PR ready for review.
2023-03-30 17:27:56 +02:00
Rolf Bjarne Kvinge 5f2f4ed5c5
Update DOWNLOADS.md with new releases. (#17944) 2023-03-30 13:42:09 +02:00
Rolf Bjarne Kvinge 335f8c9d90
[dotnet/msbuild] Don't bundle *.xml files that match any assemblies. Fixes #14939 and fixes #15897. (#17908)
This fixes a warning when documentation is enabled for a project:

> The file '~/.nuget/packages/fsharp.core/6.0.0/contentFiles/any/netstandard2.1/FSharp.Core.xml' does not specify a 'PublishFolderType' metadata, and a default value could not be calculated. The file will not be copied to the app bundle.

This doesn't change any behavior (as the warning says, the file wasn't copied
to the app bundle before either), but it makes the behavior explicitly
documented and silences the warning.

Fixes https://github.com/xamarin/xamarin-macios/issues/14939.
Fixes https://github.com/xamarin/xamarin-macios/issues/15897.
2023-03-30 07:24:00 +02:00
Mauro Agnoletti 88987d154c
Updated Xamarin.Messaging to 1.9.94 (#17925)
Should fix an issue in remote builds where if the connection gets
disconnected unexpectedly, the build might end up failing because the
main session id is changed and also the reconnection fails.

More details: https://github.com/xamarin/Xamarin.Messaging/pull/587
2023-03-29 23:52:30 -04:00
Alex Soto 4d98f09877 [tests] Add two more know issues to the BlittablePInvokes.CheckForNonBlittablePInvoke 2023-03-29 22:25:30 -04:00
Rolf Bjarne Kvinge 00ba0ae566
[net8.0] Go back to using .NET's version band instead of hardcoding an older version. (#17930)
Should fix this:

> D:\a\_work\1\s\src\DotNet\Dependencies\Workloads.csproj : error
NU1102: Unable to find package
Microsoft.NET.Sdk.macOS.Manifest-8.0.100-preview.4 with version (=
13.1.8510-net8-p4) [D:\a\_work\1\s\src\DotNet\DotNet.csproj]

from https://github.com/dotnet/maui/pull/14241#issuecomment-1487598894.
2023-03-29 21:08:20 +02:00
Rolf Bjarne Kvinge e05ec5d072 Don't try to figure out if we have the simulators we need or not.
There doesn't seem to be a reliable way to detect if there's anything that's
need to be installed.
2023-03-29 14:37:51 -04:00
Rolf Bjarne Kvinge b24323fc0a [tests] Update BuildWithObjcArcFlag test to cope with breaking changes in Xcode 14.3. 2023-03-29 14:37:51 -04:00
Alex Soto 9bae15028c [CI] Ignore simulators on build 2023-03-29 14:37:51 -04:00
Alex Soto 23b8c240dc [versions] Bump legacy versions to make room for stable 2023-03-29 14:37:51 -04:00
Alex Soto 88dff7bc5f [xcode14.3] Update to Xcode 14.3 Release Candidate 2 2023-03-29 14:37:51 -04:00
Alex Soto a939e00fcf [CI] Ignore provisioning when building as they are not needed 2023-03-29 14:37:51 -04:00
Alex Soto f793719e58 [xcode14.3] Update bidnings to Xcode 14.3 RC and fix tests 2023-03-29 14:37:51 -04:00
Rolf Bjarne Kvinge 37fef7a49d Xcode 14.3 requires macOS 13.0+. 2023-03-29 14:37:51 -04:00
Rolf Bjarne Kvinge 65137612a4 [tests] Add more accepted public symbols to the Xamarin.Tests.Misc.VerifySymbols test. 2023-03-29 14:37:51 -04:00
Alex Soto 658346262d Apply suggestions from code review
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2023-03-29 14:37:51 -04:00
GitHub Actions Autoformatter 83226e6de3 Auto-format source code 2023-03-29 14:37:51 -04:00
Alex Soto 67ee103d30 [WebKit] Update bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00
Alex Soto 014eb10674 [VideoSubscriberAccount] Bump bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00
Alex Soto 3936403fd3 [UIKit] Update bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00
Alex Soto cdf9be3038 [ThreadNetwork] Bump bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00
Alex Soto db24230b67 [SensorKit] Bump bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00
Alex Soto c0169509ba [PencilKit] Update bindings to Xcode 14.3 Beta 2 2023-03-29 14:37:51 -04:00