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

16091 Коммитов

Автор SHA1 Сообщение Дата
Manuel de la Pena 67ab5a50cc [Tests] Fix cecil tests. 2023-08-04 11:47:27 -04:00
Manuel de la Pena e5735dc9d4 [Catalyst] Move to use ld64 over ld_prime linker.
Xcode15 added a new liner, ld_prime which has a number of bugs up to
xcode 15 beta4. We can fix this by fwd the ld64 flag to the linker which
allows to use the OLD ld64 linker over ld_primer until we have a fix
from apple.

Refereces:

Apple docs: https://developer.apple.com/forums/thread/715385
Bug: https://developer.apple.com/forums/thread/733317
2023-08-04 11:47:27 -04:00
Alex Soto b2c4fd4289 [xcode15] Bump to Xcode 15 beta 4 2023-08-04 11:47:27 -04:00
Alex Soto 77744b0374 [introspection] Fix tests 2023-08-04 11:47:27 -04:00
Alex Soto 3cb99867d7 Bump to beta 3 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 61a3921e0f [system-dependencies] Fix installing the simulator runtimes. 2023-08-04 11:47:27 -04:00
Alex Soto 67a3455e04 [CoreImage] Fix CIPhotoEffectProtocol compilation issue 2023-08-04 11:47:27 -04:00
Alex Soto bd4756c2ad [xcode15] Bump to use beta2 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge f27b1906fc [devops] Provision simulators before the build. 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 35a46154f4 Adjust path to Xcode to match the provisionator. 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge e30e247982 Bump SdkVersions.cs 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 9ee6796c96 [mlaunch] Bump to a version that works with Xcode 15. 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge e082cf136f [NewsstandKit] Remove this framework.
The NewsstandKit framework has been completely removed, both from the headers and
Apple's documentation, so assume they want it gone and remove it ourselves as well.
2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 440dd8640c [PassKit] Remove the PKDisbursementAuthorizationController[Delegate] bindings.
The classes have been completely removed, both from the headers and Apple's documentation,
so assume they want it gone and remove it ourselves as well.
2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 3e39cf4f26 [devops] Use the beta Xcode channel. 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 3beafbb9bb [build] Add support for skipping 32-bit watchOS device architectures by bumping the min watchOS version. 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge a1163cc40e [runtime] Don't pass -stdlib=libc++ to clang anymore.
Fixes this warning:

> clang: warning: argument unused during compilation: '-stdlib=libc++' [-Wunused-command-line-argument]
2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 847763a49f Bump to Xcode 15 and the corresponding OS version. 2023-08-04 11:47:27 -04:00
Rolf Bjarne Kvinge 26b46ed035
[net8.0] Merge main into net8.0. (#18609) 2023-08-02 11:12:25 +02:00
Peter Collins 72811eb753
[ci] Run Codesign Verification after MSI creation (#18603)
The `MicroBuildCodesignVerify@3` task has been added to validate the
signing status of the MSI files required for VS insertions. This will
allow us to identify any potential signing issues earlier.
2023-08-01 23:53:20 -04:00
Rolf Bjarne Kvinge 34667ebce6 [net8.0] Merge main into net8.0. 2023-08-01 17:10:44 +02:00
microsoft-github-policy-service[bot] 4e4d564ae2
FabricBot: Onboarding to GitOps.ResourceManagement because of FabricBot decommissioning (#18541)
Add prIssueManagement.yml to onboard repo to GitOps.ResourceManagement
as FabricBot replacement

Owners of the FabricBot configuration should have received email
notification. The same information contained in the email is published
internally at: https://aka.ms/gim/fabricbot. Details on the replacement
service and the syntax of the new yaml configuration file is available
publicly at: https://microsoft.github.io/GitOps/policies/resource-management.html
2023-08-01 17:07:37 +02:00
Filip Navara 53ff85f67c
[NativeAOT] Remove IlcKeepManagedDebuggerSupport workaround (#18515)
Fixes #18478

Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-08-01 16:05:35 +02:00
dotnet-maestro[bot] 2ce9e44f73
[net8.0] Update dependencies from dotnet/installer (#18601)
This pull request updates the following dependencies

[marker]: <> (Begin:f9b68d84-9c90-4bd0-5499-08db4112d57e)
## From https://github.com/dotnet/installer
- **Subscription**: f9b68d84-9c90-4bd0-5499-08db4112d57e
- **Build**: 20230728.5
- **Date Produced**: July 29, 2023 2:39:39 AM UTC
- **Commit**: eee48b8da517110dcdcd100c1a36bb084abd4482
- **Branch**: refs/heads/main

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-rc.1.23377.5 to
8.0.100-rc.1.23378.5][2]

[2]: 0759df6ebb...eee48b8da5

[DependencyUpdate]: <> (End)


[marker]: <> (End:f9b68d84-9c90-4bd0-5499-08db4112d57e)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions@xamarin.com>
2023-07-30 15:26:10 -04:00
Manuel de la Pena c129b7269a
[Xharness] Fix path to mlaunch when using mlaunch from a .NET SDK pack on CI. (#18600)
This commit fixes the code that was added in
https://github.com/xamarin/xamarin-macios/pull/16361.

The previous change uses the version number that is part of the config
file in the current build machine. That is correct when we are working
when we are running the tests in the same machine that built them. That
IS NOT THE CASE when building on CI.

Back when the CI did the separation to accommodate the EO we noticed
that if the workload is built in a diff machine, the versions were not
to be trusted, that is why the CI sets and enviroment variable to track
the version that was built in the original step. This change check if we
are on the CI, if we are we trust the version given by the previos
machine, else we use the config one.
2023-07-30 11:52:02 -04:00
Manuel de la Pena 6b1f9699ac
Localized file check-in by OneLocBuild Task: Build definition ID 17751: Build ID 8130882 (#18574)
This is the pull request automatically created by the OneLocBuild task
in the build process to check-in localized files generated based upon
translation source files (.lcl files) handed-back from the downstream
localization pipeline. If there are issues in translations, visit
https://aka.ms/icxLocBug and log bugs for fixes. The OneLocBuild wiki is
https://aka.ms/onelocbuild and the localization process in general is
documented at https://aka.ms/AllAboutLoc.
2023-07-28 16:31:58 -04:00
dotnet-maestro[bot] 661cb88f63
[net8.0] Update dependencies from dotnet/installer (#18599)
This pull request updates the following dependencies

[marker]: <> (Begin:Coherency Updates)
## 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)

[DependencyUpdate]: <> (Begin)

- **Coherency Updates**:
- **Microsoft.NET.ILLink.Tasks**: from 8.0.0-rc.1.23375.3 to
8.0.0-rc.1.23376.5 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.AspNetCore.App.Ref**: from 8.0.0-rc.1.23375.2 to
8.0.0-rc.1.23376.5 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rc.1.23375.3 to
8.0.0-rc.1.23376.5 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rc.1.23375.3 to
8.0.0-rc.1.23376.5 (parent: Microsoft.Dotnet.Sdk.Internal)

[DependencyUpdate]: <> (End)

[marker]: <> (End:Coherency Updates)

[marker]: <> (Begin:f9b68d84-9c90-4bd0-5499-08db4112d57e)
## From https://github.com/dotnet/installer
- **Subscription**: f9b68d84-9c90-4bd0-5499-08db4112d57e
- **Build**: 20230727.5
- **Date Produced**: July 28, 2023 12:24:33 AM UTC
- **Commit**: 0759df6ebb8c02d185fe45adfa58069ac97ebdee
- **Branch**: refs/heads/main

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-rc.1.23375.11 to
8.0.100-rc.1.23377.5][1]
- **Microsoft.NET.ILLink.Tasks**: [from 8.0.0-rc.1.23375.3 to
8.0.0-rc.1.23376.5][2]
- **Microsoft.AspNetCore.App.Ref**: [from 8.0.0-rc.1.23375.2 to
8.0.0-rc.1.23376.5][3]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rc.1.23375.3 to
8.0.0-rc.1.23376.5][2]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rc.1.23375.3 to
8.0.0-rc.1.23376.5][2]

[1]: f07981240e...0759df6ebb
[2]: 3dd73e6d53...ea97babd7c
[3]:
f2d2ba09c6...40dc1466a4

[DependencyUpdate]: <> (End)


[marker]: <> (End:f9b68d84-9c90-4bd0-5499-08db4112d57e)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions@xamarin.com>
2023-07-28 13:21:26 -04:00
Manuel de la Pena 78f8985ac5
Update tests/xharness/Harness.cs 2023-07-28 12:50:37 -04:00
Manuel de la Pena a4972fd1bd Merge branch 'fix-mlaunch-location' of github.com:mandel-macaque/xamarin-macios into fix-mlaunch-location 2023-07-28 12:48:45 -04:00
Manuel de la Pena cc78a45eb6 Fix ompilation. 2023-07-28 12:45:21 -04:00
Manuel de la Pena 3a02f2b721
Update tests/xharness/Harness.cs
Co-authored-by: Haritha Mohan <harithamohan@microsoft.com>
2023-07-28 11:32:18 -04:00
Manuel de la Pena 290206629a [Xharness] Fix path to mlaunch when using mlaunch from a .NET SDK pack on CI.
This commit fixes the code that was added in
https://github.com/xamarin/xamarin-macios/pull/16361.

The previous change uses the version number that is part of the config
file in the current build machine. That is correct when we are working
when we are running the tests in the same machine that built them. That
IS NOT THE CASE when building on CI.

Back when the CI did the separation to accommodate the EO we noticed
that if the workload is built in a diff machine, the versions were not
to be trusted, that is why the CI sets and enviroment variable to track
the version that was built in the original step. This change check if we
are on the CI, if we are we trust the version given by the previos
machine, else we use the config one.
2023-07-28 11:13:28 -04:00
VS MobileTools Engineering Service 2 151f33e408
[net8.0] [dotnet][xma] Ensure we don't use DOTNET_ROOT and DOTNET_HOST_PATH in. (#18590)
. the Build Agent and remote tasks

DOTNET_ROOT and DOTNET_HOST_PATH are being deprecated as a mechanism to
store the location of dotnet. PATH will be used instead, so we should
ensure that the existing code that makes usage of these variables is
adapted to the new guidelines. More information:


f454d6960e

https://github.com/dotnet/runtime/issues/88754#issuecomment-1632957579

Additionally, to avoid confusion, we are using a dedicate
DOTNET_CUSTOM_PATH variable with the path of the dotnet used by the XMA
Build Agent, so it can be used internally by the tasks without mixing it
with the existing dotnet variables


Backport of #18567

---------

Co-authored-by: Mauro Agnoletti <mauro.agnoletti@gmail.com>
Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-07-26 21:12:42 -04:00
Mauro Agnoletti 403d01749f
[dotnet][xma] Ensure we don't use DOTNET_ROOT and DOTNET_HOST_PATH in… (#18567)
… the Build Agent and remote tasks

DOTNET_ROOT and DOTNET_HOST_PATH are being deprecated as a mechanism to
store the location of dotnet. PATH will be used instead, so we should
ensure that the existing code that makes usage of these variables is
adapted to the new guidelines. More information:


f454d6960e

https://github.com/dotnet/runtime/issues/88754#issuecomment-1632957579

Additionally, to avoid confusion, we are using a dedicate
DOTNET_CUSTOM_PATH variable with the path of the dotnet used by the XMA
Build Agent, so it can be used internally by the tasks without mixing it
with the existing dotnet variables

---------

Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
2023-07-26 20:01:42 -04:00
dotnet-maestro[bot] 02830a5b44
[net8.0] Update dependencies from dotnet/installer (#18588)
This pull request updates the following dependencies

[marker]: <> (Begin:Coherency Updates)
## 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)

[DependencyUpdate]: <> (Begin)

- **Coherency Updates**:
- **Microsoft.NET.ILLink.Tasks**: from 8.0.0-rc.1.23374.9 to
8.0.0-rc.1.23375.3 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.AspNetCore.App.Ref**: from 8.0.0-rc.1.23374.14 to
8.0.0-rc.1.23375.2 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rc.1.23374.9 to
8.0.0-rc.1.23375.3 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-rc.1.23374.9 to
8.0.0-rc.1.23375.3 (parent: Microsoft.Dotnet.Sdk.Internal)

[DependencyUpdate]: <> (End)

[marker]: <> (End:Coherency Updates)

[marker]: <> (Begin:f9b68d84-9c90-4bd0-5499-08db4112d57e)
## From https://github.com/dotnet/installer
- **Subscription**: f9b68d84-9c90-4bd0-5499-08db4112d57e
- **Build**: 20230725.11
- **Date Produced**: July 25, 2023 11:54:22 PM UTC
- **Commit**: f07981240e03480e993b95a823add01aec40511a
- **Branch**: refs/heads/main

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-rc.1.23375.3 to
8.0.100-rc.1.23375.11][1]
- **Microsoft.NET.ILLink.Tasks**: [from 8.0.0-rc.1.23374.9 to
8.0.0-rc.1.23375.3][2]
- **Microsoft.AspNetCore.App.Ref**: [from 8.0.0-rc.1.23374.14 to
8.0.0-rc.1.23375.2][3]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rc.1.23374.9 to
8.0.0-rc.1.23375.3][2]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-rc.1.23374.9 to
8.0.0-rc.1.23375.3][2]

[1]: e1872958af...f07981240e
[2]: 119667b5ef...3dd73e6d53
[3]:
1bda10b33b...f2d2ba09c6

[DependencyUpdate]: <> (End)


[marker]: <> (End:f9b68d84-9c90-4bd0-5499-08db4112d57e)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions@xamarin.com>
2023-07-26 12:33:34 -04:00
dotnet-maestro[bot] 65ea7de123
[net8.0] Update dependencies from dotnet/installer (#18548)
This pull request updates the following dependencies

[marker]: <> (Begin:Coherency Updates)
## 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)

[DependencyUpdate]: <> (Begin)

- **Coherency Updates**:
- **Microsoft.NET.ILLink.Tasks**: from 8.0.0-preview.7.23359.1 to
8.0.0-rc.1.23374.9 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.AspNetCore.App.Ref**: from 8.0.0-preview.7.23359.2 to
8.0.0-rc.1.23374.14 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-preview.7.23359.1 to
8.0.0-rc.1.23374.9 (parent: Microsoft.Dotnet.Sdk.Internal)
-
**Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport**:
from 8.0.0-preview.7.23326.1 to 8.0.0-rc.1.23368.3 (parent:
Microsoft.NETCore.App.Ref)
- **Microsoft.NETCore.App.Ref**: from 8.0.0-preview.7.23359.1 to
8.0.0-rc.1.23374.9 (parent: Microsoft.Dotnet.Sdk.Internal)
- **Microsoft.DotNet.Cecil**: from 0.11.4-alpha.23327.1 to
0.11.4-alpha.23360.2 (parent: Microsoft.NETCore.App.Ref)

[DependencyUpdate]: <> (End)

[marker]: <> (End:Coherency Updates)














[marker]: <> (Begin:f9b68d84-9c90-4bd0-5499-08db4112d57e)
## From https://github.com/dotnet/installer
- **Subscription**: f9b68d84-9c90-4bd0-5499-08db4112d57e
- **Build**: 20230725.3
- **Date Produced**: July 25, 2023 10:39:06 AM UTC
- **Commit**: e1872958afdb2b42b48f213efc8a6cd509816f0c
- **Branch**: refs/heads/main

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.Dotnet.Sdk.Internal**: [from 8.0.100-preview.7.23360.1 to
8.0.100-rc.1.23375.3][60]
- **Microsoft.NET.ILLink.Tasks**: [from 8.0.0-preview.7.23359.1 to
8.0.0-rc.1.23374.9][61]
- **Microsoft.AspNetCore.App.Ref**: [from 8.0.0-preview.7.23359.2 to
8.0.0-rc.1.23374.14][62]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-preview.7.23359.1 to
8.0.0-rc.1.23374.9][61]
-
**Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport**:
[from 8.0.0-preview.7.23326.1 to 8.0.0-rc.1.23368.3][63]
- **Microsoft.NETCore.App.Ref**: [from 8.0.0-preview.7.23359.1 to
8.0.0-rc.1.23374.9][61]
- **Microsoft.DotNet.Cecil**: [from 0.11.4-alpha.23327.1 to
0.11.4-alpha.23360.2][64]

[60]:
62ef57f114...e1872958af
[61]: 31106939ba...119667b5ef
[62]:
be566b1f4e...1bda10b33b
[63]: 60a73f97a0...1f68fcee45
[64]: 3e46711f5a...1a6a83a8f5

[DependencyUpdate]: <> (End)


[marker]: <> (End:f9b68d84-9c90-4bd0-5499-08db4112d57e)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions@xamarin.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
Co-authored-by: Alex Soto <alex@soto.dev>
Co-authored-by: Filip Navara <navara@emclient.com>
2023-07-26 05:01:39 -04:00
Peter Collins 44001edebb
[vs-workload] Set EnableSideBySideManifests=true (#18554)
Context: https://github.com/xamarin/yaml-templates/pull/274

Enables side by side workload manifest support when generating workload
MSIs.

This should only be enabled for builds shipping with .NET 8 Preview 7 or
later.

Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-07-25 13:47:20 -04:00
dotnet-maestro[bot] 596304e281
[net8.0] Update dependencies from xamarin/xamarin-macios (#18527)
This pull request updates the following dependencies

[marker]: <> (Begin:34d10fbb-96e7-4139-42ad-08db73ee5f69)
## From https://github.com/xamarin/xamarin-macios
- **Subscription**: 34d10fbb-96e7-4139-42ad-08db73ee5f69
- **Build**: 20230630.11
- **Date Produced**: June 30, 2023 5:09:35 PM UTC
- **Commit**: 43ae6c7494
- **Branch**: refs/heads/release/7.0.3xx

[DependencyUpdate]: <> (Begin)

- **Updates**:
  - **Microsoft.tvOS.Sdk**: [from 16.4.7089 to 16.4.7090][4]

[4]:
663e05acb1...43ae6c7494

[DependencyUpdate]: <> (End)


[marker]: <> (End:34d10fbb-96e7-4139-42ad-08db73ee5f69)

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-07-24 10:27:35 -04:00
Alex Soto 41da025471 [net8.0] Bump ro rc1 since we just branched 2023-07-23 10:07:54 -04:00
Alex Soto 2796de4b7b
[net8.0] Merge main into .net8 (#18573) 2023-07-23 08:21:16 -04:00
VS MobileTools Engineering Service 2 8d875fd3e9 Localized file check-in by OneLocBuild Task: Build definition ID 17751: Build ID 8130882 2023-07-23 05:05:23 -07:00
Alex Soto 928048d681 Merge remote-tracking branch 'xamarin/main' into net8.0-merge-main 2023-07-22 21:44:02 -04:00
Filip Navara d635e6d597
Fix _DefaultLinkMode for NativeAOT. (#18560)
Alternative to #18530, see
https://github.com/xamarin/xamarin-macios/pull/18530#discussion_r1258565808
Contributes to #18482
2023-07-20 11:11:29 -04:00
JonnHard d1d3dcdf68
Add getFileProviderConnectionWithCompletionHandler signature to start… (#18533)
… supporting XPC on File Provider instance

File Provider Service can act as an standalone XPC that you can
establish the connection with.
To open up the capability this new signature has to be exposed

---------

Co-authored-by: GitHub Actions Autoformatter <github-actions-autoformatter@xamarin.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-07-20 10:39:08 -04:00
TJ Lambert fb147a155b
[Localization] Bring More Localization Changes (#18558)
Prior to changing to the new PAT to help with the automatization, we had
these lcl files waiting to be brought over. It's not clear if the new
PAT is fully working - we will need to wait until more translation codes
are added.
2023-07-17 11:13:46 -05:00
Ivan Povazan b68efbed4a
NativeAOT: Disable AggressiveAttributeTrimming with ILLink (#18545)
In the current setup with NativeAOT, during app build we run both ILLink
and ILCompiler in cascade.
When `_AggressiveAttributeTrimming` feature switch is set to `true`
ILLink removes `IsTrimmable` attribute from assemblies, which means that
when we are also running in `TrimMode=partial` (which translates to
`--defaultrooting` ILC command-line arguments) ILC trimming is disabled
completely.

This PR disables `_AggressiveAttributeTrimming` in the first pass ie
during trimming by ILLink and enables it in the second trimming pass
performed by ILCompiler.

Additionally, to workaround ILCompiler incompatibility with
`Microsoft.iOS` (and friends) this platform assembly is explicitly
rooted when passed to ILCompiler for trimming (this will be fixed once
https://github.com/dotnet/runtime/issues/86649 is resolved).

Estimated savings: This change reduces the size of the application
bundle by `0,58Mb` (or ~4,3% compared to the baseline)

| MAUI ios app | Base | This PR | diff (%) |
|--------------|-----------|-----------|----------|
| SOD (Mb)     | 41,93 | 40,5      | -3,4% |
| .ipa (Mb)    | 13,43  | 12,85    | -4,3% |


Fixes: https://github.com/xamarin/xamarin-macios/issues/18479

---------

Co-authored-by: Alex Soto <alex@alexsoto.me>
2023-07-17 09:26:01 -04:00
Ivan Povazan f212f6bdb3
Do not include -dead_strip when native linking a NativeAOT object file (#18553)
This PR disables passing `-dead_strip` to the native linker in case of
NativeAOT runtime to prevent build failures.

Additionally, this change affects the size of the application in the
following way - measured with `dotnet new maui` app version
`8.0.0-preview.7.23359.1`:

| MAUI iOS | -dead_strip | no -dead_strip | diff (b) | diff (Kb) | diff
(%) |
|----------|--------------|----------|----------|-----------|----------|
| .ipa (b) | 13377583 | 13435276 | 57693 | 57,693 | 0,43% |
| Size on disk (b) | 41883897 | 42038873 | 154976 | 154,976 | 0,37% |
| binary (b) | 39614336 | 39769312 | 154976 | 154,976 | 0,39% |

Even though the size of the application regresses, with this change we
have a more stable product.

Finally, once this PR gets merged we can open a tracking issue to solve
the size regression either by fixing:
- https://github.com/dotnet/runtime/issues/88032 or
- by manually removing the dead code as proposed by @filipnavara here:
https://github.com/dotnet/runtime/issues/88032#issuecomment-1624303167

--- 
Fixes: https://github.com/xamarin/xamarin-macios/issues/18552
2023-07-13 10:57:37 -04:00
Manuel de la Pena 278b2496e0
Bring changes from main to net 8.0 (#18549)
Bring changes from messaging and most importantly from the governance
changes.
2023-07-11 15:40:59 -04:00
Manuel de la Pena a8d3bda60c
Merge branch 'net8.0' into merge-main-net8 2023-07-11 10:27:22 -04:00
Manuel de la Pena 32e419b000 Merge branch 'main' into merge-main-net8 2023-07-11 10:25:23 -04:00