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

13615 Коммитов

Автор SHA1 Сообщение Дата
Steve Hawley 5631ca5c8e
[nnyeah] Start testing (#14913)
Added code to:

compile a string to a platform library
collect the output of the compilation process
check for errors
Added a single unit test of the smoke test variety.
2022-05-09 09:42:34 -04:00
dotnet-maestro[bot] 073c2c1047
[main] Update dependencies from dotnet/runtime (#14921)
Microsoft.NETCore.App.Ref
 From Version 6.0.6 -> To Version 6.0.6

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-05-09 10:59:51 +02:00
Emanuel Fernandez Dell'Oca e9333bae47
Bumps Xamarin.HotRestart.Application to 1.1.5 (#14925)
This new version contains a fix for incremental deployments when using Xamarin iOS Hot Restart.
2022-05-09 10:30:22 +02:00
Rolf Bjarne Kvinge 07b9d90fee
[msbuild] Enable nullability in the AOTCompileTask class. (#14924) 2022-05-09 10:10:57 +02:00
Rolf Bjarne Kvinge 8074f20aec
[apidiff] Pass full paths to mono-api-info and mono-api-html. (#14917)
Makes it easier to copy-paste commands to debug them with an IDE.
2022-05-09 09:06:46 +02:00
Manuel de la Pena 211fb9c83b
[CI] Make signing faster by using two diff jobs one for classic and one for dotnet. (#14908)
Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-05-08 14:30:51 -04:00
Manuel de la Pena 43c2270b9d
[Nnyeah] Ensure that we have all the needed xamarin-macios dlls when using make. (#14910)
We need to be able to embed the dlls as a resource to compare the diff
assemblies. To do so we are going to ensure that we have called make in
the root dir so that the needed deps are present. This change is not yet
in the csproj, that will be a diff commit.



Co-authored-by: Chris Hamons <chris.hamons@xamarin.com>
2022-05-06 18:41:11 -04:00
Manuel de la Pena 99de095726
[XHarness] Enable nullable and fix some code issues (wrong inheritance) (#14867) 2022-05-06 17:14:00 -04:00
Chris Hamons a9cab8f1c1
[nnyeah] Add dotnet tool support (#14914)
- Stores legacy XI/XM and NET6 XI/XM inside nuget (unused for now)

% dotnet nnyeah
  -h, -?, --help
  -i, --input=VALUE
  -o, --output=VALUE
  -v, --verbose
  -f, --force-overwrite
  -s, --suppress-warnings

% mv nupkg/nnyeah.0.1.0.nupkg nupkg/nnyeah.0.1.0.zip
% unzip nupkg/nnyeah.0.1.0.zip
Archive:  nupkg/nnyeah.0.1.0.zip
..
  inflating: content/legacy/Xamarin.iOS.dll
  inflating: content/legacy/Xamarin.Mac.dll
  inflating: content/net6/Microsoft.iOS.dll
  inflating: content/net6/Microsoft.macOS.dll
..



Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Update PackagePath for net libs

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-05-06 13:55:27 -04:00
Chris Hamons 2eb220caae
[nnyeah] Bump to NET6 (#14901)
- .NET5 on my mac has inconsistent debugging due to lack of support for apple's arm arch
- The tool is going to run against NET6, so why built it on NET5
2022-05-06 11:36:45 -05:00
Chris Hamons 2ec9649663
[nnyeah] Beginnings of an integration test framework (#14898) 2022-05-06 08:54:12 -05:00
Chris Hamons 6a1622624a
Fix crash with NSUrl implicit conversion and null (#14860)
- Fixes: https://github.com/xamarin/xamarin-macios/issues/14786
2022-05-06 08:52:37 -05:00
Rolf Bjarne Kvinge c44c5d3540
Adjust versioning logic/instructions to support stable releases. (#14876)
This is a heavily modified backport of #14847.
2022-05-06 13:27:33 +02:00
dotnet-maestro[bot] b407a0b0f9
[main] Update dependencies from dotnet/runtime (#14890)
* Update dependencies from https://github.com/dotnet/runtime build 20220503.10

Microsoft.NETCore.App.Ref
 From Version 6.0.5 -> To Version 6.0.6

* Update dependencies from https://github.com/dotnet/runtime build 20220504.4

Microsoft.NETCore.App.Ref
 From Version 6.0.5 -> To Version 6.0.6

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-05-06 09:18:15 +02:00
dotnet-maestro[bot] 10b1abc93c
[main] Update dependencies from dotnet/installer (#14906)
Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.301-rtm.22253.26 -> To Version 6.0.301-rtm.22254.17

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-05-06 09:17:32 +02:00
Chris Hamons 7d3fd33b2a
[introspection] Fix failures on older iOS/tvOS (#14911)
- Fixes https://github.com/xamarin/xamarin-macios/issues/14905 by skipping with a link to https://github.com/xamarin/xamarin-macios/issues/14802
2022-05-06 08:51:55 +02:00
Rolf Bjarne Kvinge 06e76a61e7
[apidiff] Use DOTNET_TFM instead of hardcoding 'net6.0'. (#14909) 2022-05-06 08:15:37 +02:00
Chris Hamons a8964905a8
[nnyeah] Fix race on error message output (#14900)
- Errors were written with Write and then Exit which at least in VSCode would exit before the write flushed to the console
- WriteLine seems better behaved
- See https://github.com/dotnet/sdk/issues/5928#issuecomment-215895840
2022-05-05 11:53:03 -05:00
TJ Lambert ac3f2ac642
[scenekit] Add nullability to (generated and manual) bindings (#14879)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-05 10:42:02 -05:00
TJ Lambert 1622221600
[searchkit] Add nullability to (generated and manual) bindings (#14878)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-05 10:41:28 -05:00
TJ Lambert f5c5232a29
[quicklook] Add nullability to (generated and manual) bindings (#14865)
* add nullable enable

* throw better null exception

* use is null

* Forgot an is null

* use GetHandle

Co-authored-by: tj_devel709 <antlambe@microsoft.com>
2022-05-05 10:30:15 -05:00
Rolf Bjarne Kvinge 01c3127c8c
[dotnet] Don't set '_RunAotCompiler' on macOS if 'MtouchInterpreter' is set. (#14874)
There's no AOT compiler for macOS, so setting _RunAotCompiler causes problems
because if it's set, we try to find the AOT compiler, and because there is
none, the build fails.

So don't set '_RunAotCompiler' if 'MtouchInterpreter' is set (which also
indirectly means if 'UseInterpreter' is set) to avoid the problem altogether.
2022-05-05 16:16:40 +02:00
Rolf Bjarne Kvinge 3c8984c1c5
Bump maccore. (#14875)
New commits in xamarin/maccore:

* xamarin/maccore@749e84cb16 [mlaunch] Make minor improvements to Main.cs

Diff: cf9f7409e9..749e84cb16
2022-05-05 10:20:44 +02:00
dotnet-maestro[bot] a1623b3158
[main] Update dependencies from dotnet/installer (#14889)
Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.300-rtm.22220.25 -> To Version 6.0.301-rtm.22253.26

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2022-05-05 08:58:54 +02:00
Steve Hawley 2f7289fe1e
[nnyeah] Add usage of module mapping (#14885)
* Remove existing attributes

* Attribute Conversion

* Map old types and members to new ones

* minor changes.

* cut down on toString calls.
2022-05-04 16:01:40 -04:00
Rolf Bjarne Kvinge 20212e6e26
Bump API reference for .NET to the 6.0.3xx branch. (#14888) 2022-05-04 20:38:22 +02:00
TJ Lambert 2affe2efaa
[systemcomponentmodel] Add nullability to (generated and manual) bindings (#14886)
Co-authored-by: tj_devel709 <antlambe@microsoft.com>
2022-05-04 11:51:14 -05:00
TJ Lambert 7a8f47a28c
[spritekit] Add nullability to (generated and manual) bindings (#14883)
Co-authored-by: tj_devel709 <antlambe@microsoft.com>
2022-05-04 11:50:29 -05:00
TJ Lambert e5cd0b2376
[social] Add nullability to (generated and manual) bindings (#14882)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-04 11:49:52 -05:00
TJ Lambert 4f1ad9cb18
[sensorkit] Add nullability to (generated and manual) bindings (#14881)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-04 11:43:54 -05:00
github-actions[bot] d25d6bea1c
[Localization] Pulling New Localization Translations 2259714093 (#14870)
* LEGO: Merge pull request 12848

LEGO: Merge pull request 12848

* LEGO: Merge pull request 12923

LEGO: Merge pull request 12923

* LEGO: Merge pull request 13022

LEGO: Merge pull request 13022

* LEGO: Merge pull request 13612

LEGO: Merge pull request 13612

* LEGO: Merge pull request 13638

LEGO: Merge pull request 13638

* LEGO: Merge pull request 14101

LEGO: Merge pull request 14101

* LEGO: Merge pull request 14205

LEGO: Merge pull request 14205

* LEGO: Merge pull request 14635

LEGO: Merge pull request 14635

* Juno: check in to lego/hb_dca0a672-370a-4b3c-b55f-cd146e93faf9_20220502183521765.

Co-authored-by: csigs <csigs@users.noreply.github.com>
Co-authored-by: CSIGS <csigs@outlook.com>
2022-05-04 11:43:11 -05:00
Manuel de la Pena caf68aac82
[Xharness]Enable nullability and update C# to new code patterns. (#14866)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
2022-05-04 10:46:34 -04:00
Manuel de la Pena 0069323b6a
[Xharness] Add a label per test project to later be able to filter them. (#14844) 2022-05-04 10:46:07 -04:00
TJ Lambert 1e938b15d5
[replaykit] Add nullability to (generated and manual) bindings (#14863)
* nullable enable

* Use is null

Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-03 10:51:35 -05:00
TJ Lambert d6bfa03fe4
[quicklookui] Add nullability to (generated and manual) bindings (#14862)
Co-authored-by: tj_devel709 <antlambe@microsoft.com>
2022-05-03 10:50:57 -05:00
TJ Lambert 86a312d86e
[photos] Add nullability to (generated and manual) bindings (#14861)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-03 10:50:14 -05:00
TJ Lambert 0de0a2fd39
[printcore] Add nullability to (generated and manual) bindings (#14856)
* use better null exceptions

* add nullable enable

* Revert "add nullable enable"

This reverts commit 75909452e8.

* Add nullable enable without BOM

Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-05-03 10:48:34 -05:00
Steve Hawley 1c7d63f393
[nnyeah] Move to generating map on the fly (#14868)
Remove the XML serialization and now make the map into a form that will work much better for actually modifying the assemblies
2022-05-03 09:40:51 -04:00
Rolf Bjarne Kvinge b72e7be297
[tests] Add two test projects to compare app size between MAUI and Xamarin.Forms. (#14850)
Add a default MAUI and a default Xamarin.Forms project as size comparison apps
(both created from templates).

This reveals that a MAUI app is ~30% bigger than a Xamarin.Forms app (42MB vs
31MB). Notably there's 21% *less* managed code, but 33% *more* native code.

https://gist.github.com/rolfbjarne/d294171969226f7511d90a817b9ac328
2022-05-03 10:54:54 +02:00
Rolf Bjarne Kvinge 7fd68f8121
[mtouch] Preserve the xamarin_dyn_* functions when we're handling Objective-C exceptions by unwinding managed code. Fixes #14193. (#14852)
This also required a fix to not treat symbols that don't exist for a
particular abi as required.

Fixes https://github.com/xamarin/xamarin-macios/issues/14193.
2022-05-03 10:53:45 +02:00
Rolf Bjarne Kvinge 3dc90592b7
[dotnet] Use only the first two parts of our product version as the assembly version. (#14846)
This is a follow up to 92ee92eeb5, where we
changed the assembly version from four digits to three digits (i.e not include
the build number), because our managed API should be identical for (released)
versions where only the build number changes.

In this PR we go a bit further, because we're not supposed to have any API
differences unless the first two parts of the product version changes, which
means that we should only use need the two first parts of our product version
as the assembly version.
2022-05-03 10:07:11 +02:00
Rolf Bjarne Kvinge 2684b1de5e
[dotnet] Update generated files after template changes. (#14851) 2022-05-03 10:06:27 +02:00
Manuel de la Pena 15efa64af8
[CI] Move templates to their own dir. (#14853)
Now that we have parallel signing we can try and get each of the signing
and the notarizing in its own job. At the moment those steps are
sequential, we sign xamarin.ios, then xamarin.mac etc.. we can make an
improve by moving to diff jobs and make time to sign the build.zip and
msbuild.zip for XMA. This commit is to start the move towards that
approach.
2022-05-02 16:33:46 -04:00
Manuel de la Pena 7f77d1c330
[CI] Move the sing and notarize steps to a VM. (#14854)
We do not have any special requirements to perform the signing except
for the fact that needs to be EO complient. The new vm allows us to be
 EO complient and reduces the number of real bots that we use.
2022-05-02 11:14:17 -04:00
Steve Hawley 1aa3e4d17b
[nnyeah] Assembly comparator (#14836)
This adds code to compare a .NET 5 version of Xamarin.macOS to Microsoft.macOS or Xamarin.iOS to Microsoft.iOS and outputs a huge xml file with incompatible translations or maps from one to the other.
2022-05-02 10:59:40 -04:00
Chris Hamons 1dcefc9c56
[NET Attribute Conversion][generator] Generate NET style attributes (#14779)
This PR teaches our code generator to generate .NET 6 style availability attributes, adds a 4th Cecil test to verify our generated attributes, and a metric ton of API changes to satisfy that test.

The generator work is the core of this PR, and includes:

- Hacking out chunks of generator.cs that "helpfully" remove duplicate attributes, which are no longer duplicate in the new order that NET6 attributes force upon us. See changes in FilterMinimumVersion and PrintPlatformAttributes
- Prevent a crash when the generator processes availability attributes with no version included (example: introduced on iOS but no version). See Is64BitiOSOnly.
- The meat, GetPlatformAttributesToPrint, which synthesizes many attributes "out of thing air" from:
        - The parent context
        - Implied introduced just because the class exists on a given framework at all
        - Implied Catalyst because iOS exists
- A few cludgy hacks PrintPlatformAttributesNoDuplicates and GenerateProperty because the existing PrintPlatformAttributes did not pass down parent context down, and the refactor was dangerous/too time consuming given time pressure.

There are two intended API changes introduced by the reviews in this PR:

- GetCurrentInputDevice was obviously intended by availability attributes to exist on Catalyst but due to define confusion was excluded. It is an addition in Microsoft.MacCatalyst.dll only.
- The NEAppRule constructors were mis-marked on platforms, and were showing up incorrectly on Mac/Catalyst. I corrected the Catalyst one unconditionally, as we have not shipped Catalyst yet, but Mac is only fixed in NET6.

There is a lot of follow up work in https://github.com/xamarin/xamarin-macios/issues/14802 to do to remove a number of hard coded test failures, but this should be almost all of the remaining work in NET6 attributes.

🤞 this doesn't break too much for future us.

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2022-05-02 09:44:25 -05:00
Manuel de la Pena 7a69d08cf0
[Xharness] Clean test task code. (#14857)
We are going to be changing code in xharness. Is a good time to clean
things a little, make code more modern then enable nullability.

Try to get as much help from the new features and try to clean alittle
debt we have from the last time we moved code.
2022-04-30 10:12:31 -04:00
Manuel de la Pena f2d9d317ec
[Nnyeah] Set nullability enabled by default. (#14858) 2022-04-30 10:11:30 -04:00
TJ Lambert 75f597662c
[Localization] Use a self checkout and revert the explicit lcl paths (#14843)
* Checkout self

* Revert "[Localization] Update the Lcl paths (#14811)"

This reverts commit 46a8971fa4.

* we no longer need the localize-directory

Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-04-29 10:35:41 -05:00
Manuel de la Pena 8660f24088
[CI] Sign packages while we run the tests (#14830) 2022-04-29 10:38:28 -04:00