* [watchOS] Add x86_64 simulator support
* Build runtime/registrar x86_64 slices
* Produce a 64 bit version of Xamarin.WatchOS.dll
* Allow building x86_64 for watch simulators in mtouch
* Let xharness know about x86_64
* [tests] Add x86_64 arch to test-libraries
* Make dotnet package aware of x64
* [ObjCRuntime] Fix computing if we're calling a stret function or not in a 64-bit watchOS simulator.
* [xharness] Re-enable some watchOS tests.
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
All governance issues have been fixed.
Commits:
* Remove roslyn-analyzers files (#2149) 6c3fe624a9
* [Governance] Add ignores for the test profiles in maccore. (#2337) 5133d2cea1
Full diff: 8c98216efd..5133d2cea1
This involves a few changes:
* Change everything to reference net6.0 instead of net5.0
* Update various variables to be NET6* instead of NET5*
* Reorder build logic to account for that our targets are imported earlier in
the build process:
In the latest .NET 6, our Workloads.targets is imported earlier in the
build. This requires a few changes, because we still need to run most of
our logic later in the process, which we do by adding targets files we
want imported later to the AfterMicrosoftNETSdkTargets property.
What we're loading as soon as possible:
* Our version information (Xamarin.Shared.Sdk.Versions.targets)
* The supported OS versions
(Microsoft.<platform>.Sdk.SupportedTargetPlatforms.targets)
* The default OS version
(Xamarin.Shared.Sdk.TargetFrameworkInference.targets).
This is all information that the .NET build require early on.
Changes:
* Rename all files that are loaded early to *.props.
* Updated documentations to reflect these changes.
* Remove Microsoft.<platform>.TargetFrameworkInference.targets, these
files aren't used and don't contain anything useful.
* Move the logic to calculate _ComputedTargetFrameworkMoniker has been
delayed to later, because it needs TargetFrameworkMoniker set.
* Add a StoreAttributesStep to store attributes that are removed by the
linker, but that the static registrar needs.
In particular, in .NET 6 the linker removes the
System.Runtime.CompilerServices.ExtensionAttribute, which the static
registrar needs to handle category methods properly.
This involved copying and slightly modifying the RemoveAttributesBase
code.
The '_GenerateBundleName' target is defined separately for normal projects and
extension projects, and only one of the was updated in a previous refactoring.
The maccore lib dependency was a problem for governance checks. Also
removes the roslyn analyzer code.
Commits:
* [Deps] Remove Ionic.Zip. Is not needed and gives governance issues. (#8c98216) 8c98216efd
* Remove roslyn-analyzers files (#2149) 8c98216efd
Full diff: f490737c8e..6c3fe624a9
Commits:
* Insert keychain into search list without overwriting other keychains 243810037e
* Fix working in comment 243810037e
* Insert login keychain without overwriting other keychains in the search 7e6beed1d0
* Merge pull request #2332 from xamarin/yaml-pipeline-device-tests 7e6beed1d0
* Avoid adding duplicate keychains to keychain list (#2333) 7e6beed1d0
* [Governance] Fix some small polycheck issues. 51bea51d06
* [Governance] Fix some small polycheck issues. f490737c8e
Full diff: 6a86f16e0f..f490737c8e
Manually added `NoBindingEmbedding` to bindings .csproj and removed
`[LinkWith]` attributes.
Also added support for NativeReference to harness and updated the
workaround for watchOS (since it can't link against ModelIO)
Fixed/adapted unit tests wrt change
Fixes these monotouch-test tests:
MonoTouchFixtures.CoreImage.CIKernelTests
[FAIL] CIKernel_BasicTest : CIKernel_BasicTest we disagree that it is a color kernel
Expected: True
But was: False
: at MonoTouchFixtures.CoreImage.CIKernelTests.CIKernel_BasicTest()
[FAIL] CIKernel_TestFromPrograms : CIKernel_TestFromPrograms is neither type of kernel?
Expected: True
But was: False
: at MonoTouchFixtures.CoreImage.CIKernelTests.CIKernel_TestFromPrograms()
The _ACTool_PartialAppManifestCache and _ACTool_BundleResourceCache are
duplicated (merge conflict resolution failure?), and also already present in
Xamarin.Shared.targets, so just remove these definitions.
* [tests] Move the dotnet introspection test project to a new test directory.
A tvOS project will come soon too, this makes the separation nicer.
* [tests] Add a tvOS version of the dotnet introspection test project.
Add a StoreAttributesStep to store attributes that are removed by the linker, but
that the static registrar needs.
In particular, in .NET 6 the linker removes the System.Runtime.CompilerServices.ExtensionAttribute,
which the static registrar needs to handle category methods properly.
This involved copying and slightly modifying the RemoveAttributesBase code.
In the latest .NET 6, our Workloads.targets is imported earlier in the build. This
requires a few changes, because we still need to run most of our logic later in the
process, which we do by adding targets files we want imported later to the AfterMicrosoftNETSdkTargets
property.
What we're loading as soon as possible:
* Our version information (Xamarin.Shared.Sdk.Versions.targets)
* The supported OS versions (Microsoft.<platform>.Sdk.SupportedTargetPlatforms.targets)
* The default OS version (Xamarin.Shared.Sdk.TargetFrameworkInference.targets).
This is all information that the .NET build require early on.
Changes:
* Rename all files that are loaded early to *.props.
* Updated documentations to reflect these changes.
* Remove Microsoft.<platform>.TargetFrameworkInference.targets, these files aren't
used and don't contain anything useful.
* Move the logic to calculate _ComputedTargetFrameworkMoniker has been delayed
to later, because it needs TargetFrameworkMoniker set.
Improve error reporting in dotnet-linker by not requiring an instance of a LinkerConfiguration
to report errors. This is accomplished by making the LinkerConfiguration.Report method
a static method.
Otherwise reporting errors before we've successfully created a LinkerConfiguration
turns out to be troublesome (we end up throwing another exception, usually a NullReferenceException,
which is just confusing).