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

10098 Коммитов

Автор SHA1 Сообщение Дата
Manuel de la Pena 942d346d22
[CI][VSTS] Do not run old macOS on PRs. (#10633)
fixes: https://github.com/xamarin/maccore/issues/2395
2021-02-12 11:05:20 -05:00
Manuel de la Pena 9c81be82c6
[CI][VSTS] Use the same script as other jobs to clean the macOS bots. (#10629) 2021-02-12 06:34:46 -05:00
Rolf Bjarne Kvinge 4b6246616c
[msbuild] Unify the _GenerateBundleName targets between Xamarin.iOS and Xamarin.Mac (#10621) 2021-02-12 11:23:47 +01:00
Emanuel Fernandez Dell'Oca d337f0deac
[dotnet] Initial support for .NET6 from Windows (#10590)
These changes add support for executing iOS and MacDev tasks remotely (on a Mac) when running a build from Windows, and creates a specific .NET6 pack for Windows that's only included in the MSI.

For now this only enables builds for the iOS Simulator, physical devices are not yet supported.

- Each task decides if it should run locally or remotely depending on the SessionId property, which will only have a value on Windows.
- The XMA Build agent is now part of this repo and will be included in the iOS .NET6 Windows pack.
- On this first version we're including some Windows specific tasks and references into the Xamarin.iOS.Tasks project for simplicity, but those will be moved to the Windows specific project.

------------

* [msbuild] Adds support for executing Xamarin.iOS tasks from Windows

* [msbuild] Adds support for executing Xamarin.MacDev tasks from Windows

* Added XMA Build Agent to Xamarin.MacDev.Tasks.sln

* Fixes some MSBuild versioning problems

* Makes the XMA Build agent load Xamarin.iOS tasks

We need to load a type from the iOS tasks assembly so we can run the tasks requested by MSBuild from Windows. We only need to load Xamarin.iOS.Tasks.dll since MacDev.tasks is already embedded in that one.

There's a little trick on the csproj, we can't directly use the Xamarin.iOS.Tasks project ref assemblies because that includes both Xamarin.iOS.Tasks.dll and Xamarin.MacDev.Tasks.dll, so the MacDev tasks will collide. We use the project ref only for build dependency purposes but we add an assembly reference to Xamarin.iOS.Tasks.dll.

* Added Xamarin.iOS.Tasks.Windows project

* Removed unnecessary references on Xamarin.iOS.Tasks.Windows.csproj

* Adds Messaging assemblies when ILRepacking Xamarin Tasks

The Xamarin Task assemblies now depend on Messaging, so we need the Messaging assemblies to be packed into Xamarin.Mac.Tasks and Xamarin.iOS.Tasks. Also had to remove the direct Messaging dependencies from the build agent since those are already contained in Xamarin.iOS.Tasks

* Adds a reference to Messaging.Core targets to the Agent's project

* [msbuild] Adds Xamarin iOS Windows targets

* [msbuild] Adds missing dependencies to Xamarin.iOS.Tasks

This should fix build errors because of missing dependencies. Had to move System.Net.Mqtt.Server from the Build agent project to the tasks one to avoid conflicts with System.Diagnostics.Tracer.

* [dotnet] Creates iOS Windows pack

Creates a new pack for Windows specific (targets, build agent, etc.) files that shouldn't be installed on the Mac. We have a separate package for this to avoid increasing the core pack size with things that are not needed when using it from macOS.

* Fixes type in dotnet makefile

* [dotnet] Fixes the iOS Windows pack generation

- The windows pack should not include the Sdk and Targets folders
- For now we'll just create an iOS pack
- Fixes the path to the files to include on the Windows Sdk pack

* Added reference to the Windows iOS SDK from the Xamarin.iOS.Common.targets

Added a property to navigate to the Windows iOS SDK folder, based on a naming convention that assumes that both packs will always have the same version

* Added reference to the core iOS SDK from the Windows iOS SDK

Added a property to navigate to the core iOS SDK folder, based on a naming convention that assumes that both packs will always have the same version

* Updated Messaging version

* Override MessagingBuildClientAssemblyFile property and correctly imported props from targets

* [dotnet] Make Windows pack using target files from the output dir

We need to take the target files from the output dir to include targets that are part of nuget packages, otherwise we will only include targets from our source

* [dotnet] Adds the Windows Sdk pack to the workload manifest

* [msbuild] Fixes the Windows Sdk pack name

* [dotnet] Merge Mqtt instead of Mqtt.Server

We only need System.Net.Mqtt to be merged into Xamarin.iOS.Tasks

* Updated Messaging version

* [dotnet] Several fixes for the Windows Sdk

- Adds missing task CollectMonotouchReferences
- Merges more dependencies into Xamarin.iOS.Tasks.dll needed by XMA
- Updates the msbuild/Makefile to include files from both the output dir and the source dir
- Overrides the agents directory to look for them on the Windows pack

* [dotnet] Fixes the XMA Build agent

- The build agent is an app so it cannot target ns2.0
- The MSBuild dependencies should be copied into the agent zip file
- Avoids copying all the Xamarin iOS SDK core targets into the build agent, since those are not needed
- Ensures the broker zip file is copied into the Xamarin.iOS.Windows.Tasks output dir so its included in the Windows pack

* Bumps Xamarin.Messaging to 1.2.102

* Adds net6-win branch to trigger builds

* Adds Messaging.Client missing dependency to Xamarin.Mac.Tasks

* Added Xamarin.Messaging.Apple.Tasks project and VerifyXcodeVersion Task

* Fix unloaded Xamarin.Messaging.Build project

* Added Build contracts project and unified Xamarin.Messaigng.Apple.Tasks in Xamarin.iOS.Tasks.Windows

Also added missing tasks and changes .After.targets

* Updated Xamarin.Messaging version

* Build agent - reference MSBuild assemblies from the framework

Since the assemblies will be included in the build agent we need those to be the ones that come from the framework to be compatible with macOS

* [msbuild] Fixes _UpdateDynamicLibraryId target

The tasks con this target need to be executed remotely (when building from Windows).

* Updates resources

* Bump Xamarin.Messaging

Fixes problems when executing Exec task remotely

* [dotnet] Overrides Publish targets to execute them remotely from Windows

The `_CopyResolvedFilesToPublishPreserveNewest` and `_CopyResolvedFilesToPublishAlways` targets essentially copy files into the app bundle. Since those are part of the .NET SDK we need to override those so we can pass to the Copy task the SessionId parameter and then it will be executed remotely when building from Windows.

This is done in a Windows.After.targets file so it won't affect builds on macOS.

* Added ILMerge to Xamarin.iOS.Tasks.Windows

Also modified ILMerge.targets to not include System assemblies because we don't need them on the Windows package

* Bumps Messaging

This new version of messaging fixes a problem when copying task inputs from Windows to the Mac

* [dotnet] Fixes copying files to the Mac when building from Windows

When building from Windows there are .NET SDK targets that copy dynamic libraries from the SDK to the intermediate output directory or other files to the publish directory, since we can't control those we can't run them remotely so we need to copy those files to the Mac to ensure other targets will find those.

* [dotnet] Fixes how files are copied to the output dir

- Before executing `_CopyResolvedFilesToPublishPreserveNewest` and `_CopyResolvedFilesToPublishAlways` we copy the input files for those targets to the Mac
- Then we override the original targets to execute the same copy task as the original ones but on the Mac, so the output files are placed in the right location for the following targets to pick them up.

* Fixes typo on Xamarin.iOS.Common.After.targets

* Bumps Xamarin.Messaging

* [msbuild] Fixes VerifyXcodeVersion and ResolveUTIs tasks

Both tasks were not being able to connect to the Mac mostly because of ILRepack, there were kind of 2 versions of Xamarin.Messaging, one merged into Xamarin.iOS.Tasks and another one merged into Xamarin.iOS.Windows.Tasks. Because of this the build connection object registered on the task could not be casted to the build connection type.

This essentially moves both tasks into the Xamarin.iOS.Tasks assembly to avoid this issue, and as part of that also includes the Messaging contracts into that same project.

* [msbuild] Fixes warnings when building from Windows

* [dotnet] Adds missing assemblies to merge into Xamarin.iOS.Tasks

Those 2 new assemblies will only be used from Windows and we need their implementation instead of the ref assemblies. In the future we will need to find a way of doing this on the Windows only pack insted of doing it on the core Xamarin.iOS.Tasks assembly.

* [dotnet] Compute PublishTrimmed on a target

We need to do this so the property is evaluated after VS on Windows connects to the Mac, otherwise by default IsMacEnabled is false from Windows.

* Bumps Messaging to 1.2.111

* [dotnet] Execute ILLink remotely when building from Windows

- Overrides the ILLink task and _RunILLink target to add the hability to execute it remotely, adding input and output properties so files are copied to the server and output files are created on Windows.
- This "custom" ILLink task will only be executed from the Windows targets so when building from a Mac it will execute the core SDK task.

* [dotnet] Fixes intput/output files creation for linker tasks

- Custom Linker options file should be created on the Mac so we need to execute WriteLinesToFile remotely
- All the *.items files from the linker are created on the Mac so we need to execute ReadItemsFromFile remotely
- CompileNativeCode: fixes the OutputFile metadata path, otherwise the execution fails; also copies all the files in the declared "IncludeDirectories" to the Mac
- Avoids copying input files from Windows to the Mac when running LinkNativeCode since the real input files already exist on the Mac, and Windows contains only empty files just to make MSBuild inputs/outputs check work. If we copy those empty files to the Mac we brake the build.

* [msbuild] Minor fixes after merging from main

* [dotnet] Adds missing output files to the Xamarin.iOS.Tasks.Windows project

The output of this project was missing Messaging build targets and the build agent zip file that are needed to create the dotnet Windows specific pack

* [dotnet] Fixes dotnet Windows specific pack generation

Ensures the Windows projects are built and the files are copied to the dotnet pack directory before creating the package.

It also adds a variable to enable building this pack.

* [dotnet] Adds iOS Windows specific pack to iOS only MSI

There's only a Windows specific pack for iOS available for now, so we should only add it to the iOS SDK MSI

* [dotnet] Create a separate bundle for the iOS Windows MSI

We need to do this to avoid including the Windows specific pack in the pkg. Also for now we'll only create an MSI for iOS since it's the only supported platform from Windows.

* Fixes spacing issues in Xamarin.iOS.Tasks.csproj

* Bumps Touch.Unit back to 05db76

* Fixes formatting problems

* [msbuild] Replaces error E0176 by E0186

Because there's a warning W0176 that will overlap with the error

* [msbuild] Fixes CompileEntitlements task

There were 2 problems:
1- The if statement on the DefaultEntitlementsPath was wrong, because we should return the base value if there's no SessionId (which means the task is running on a Mac)
2- We should copy to the Mac the default entitlements file if no custom file was specified

* Several fixes to cleanup the code to support iOS from Windows

* Apply suggestions from code review

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

* Formatting fixes in Xamarin.Messaging.Build

* Reverted formatting changes in CompileEntitlements.cs

* More formatting fixes

* Update msbuild/Messaging/Xamarin.Messaging.Build/Handlers/ExecuteTaskMessageHandler.cs

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

* Fixes order of MSBuild errors in the resource file

* Add newly added localizable strings to canary test of translated strings.

* Delete tests that ensure theres code only on the abstract tasks

These were needed to ensure all the code was in the base tasks so we could have tasks implementations on Windows to remote those. Now that code is part of this repo (and that is why these tests are failing now) so we do not need them anymore.

* [dotnet] Don't build the Windows SDK pack if not configured to do so.

Co-authored-by: mag <mauro.agnoletti@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-02-12 07:43:17 +01:00
Rolf Bjarne Kvinge f4ac99efc0
[dotnet] Build & publish MacCatalyst packs. (#10624)
* [dotnet] Build & publish MacCatalyst packs.

* Add runtime support.
2021-02-12 07:38:43 +01:00
Rolf Bjarne Kvinge c3677a0b39
[msbuild] Bump Xamarin.MacDev and use AppleSdkVersion instead of MacOSXSdkVersion/IPhoneSdkVersion. (#10622)
This requires bumping Xamarin.MacDev.

New commits in xamarin/Xamarin.MacDev:

* xamarin/Xamarin.MacDev@02d6d05 [Xamarin.MacDev] Add an AppleSdkVersion struct which replaces IPhoneSdkVersion and MacOSXSdkVersion. (#87)
* xamarin/Xamarin.MacDev@e7ec7ef [Xamarin.MacDev] Fail gracefully if trying to grab a PList entry from a file that doesn't exist. (#86)

Diff: fae0237704..02d6d05be3
2021-02-12 07:34:41 +01:00
Sebastien Pouliot 2bec8be74e
[main] Fix running introspection on iOS 11.4 simulators (#10626)
Once you have BigSur installed, to work with xcode12.5, then you
need to bump the minimum simulator versions (to 11.4) and this picked up
a few mistakes in availability and when checking protocol conformance

The bots won't run into those issues, as long as `xcode12.5` is not
merged or while they run on macOS Catalina, but it's nice to have green
tests locally :)

Subset of 8513316015 already in `xcode12.5`
2021-02-11 22:40:55 -05:00
Manuel de la Pena 27c3aaee59
[CI][VSTS] Do not run tests if the build fails. (#10623)
The issue is due to the fact that the uninstall ceerts has an always
condition, that means that it gets executed and results in a success.
Because is a batch project and not a state machine.. the following steps
believe that everything was a success making the steps execute.
2021-02-11 19:04:34 -05:00
Rolf Bjarne Kvinge 1a0f250e05
[dotnet] Normalize the casing of the 'TargetPlatformIdentifier' value on Mac Catalyst. (#10617) 2021-02-11 20:19:36 +01:00
Rolf Bjarne Kvinge 9f710fc9e5
[tools] Stop hardcoding the product name for error messages. (#10615) 2021-02-11 20:17:44 +01:00
Rolf Bjarne Kvinge f127e614c9
[dotnet] Templateify some build logic. (#10618)
* [dotnet-linker] Templateify the install logic.

* [builds] Templateify the Versions.plist install logic.

* [dotnet] Create a per-platform Versions.props file with only the values applicable to that platform.

Also move the definition of the default TargetPlatformVersion to Make.versions, where we have other versions.

* [dotnet] Templateify some build code.
2021-02-11 20:17:12 +01:00
Rolf Bjarne Kvinge bce08d0773
[tools] There's no AOT implemented for Mac Catalyst yet. (#10619) 2021-02-11 20:16:50 +01:00
Rolf Bjarne Kvinge 2028143c05
[msbuild] Use localized strings in a few more places. (#10613) 2021-02-11 15:57:40 +01:00
Rolf Bjarne Kvinge f7d0a03d93
[msbuild] Unify the AppBundleExtension property definition (#10614) 2021-02-11 15:37:39 +01:00
Sebastien Pouliot 4ccf76725b
[coreimage] Add nullability to (generated and manual) bindings (#10612)
See [HOWTO](https://github.com/xamarin/xamarin-macios/wiki/Nullability)
2021-02-11 09:28:50 -05:00
Rolf Bjarne Kvinge 598dbc8ae3
Use pointer-sized GCHandles everywhere. (#10597)
* Convert the GCHandles interface from 32-bit ints to pointer size types

This involves:

* Stop using some bits of the GCHandle to store extra flags, instead add an extra
  field to store those flags.
* Define a INVALID_GCHANDLE constant and use it instead of 0/NULL. This is not
  strictly required, but it makes the code more self-documenting.
* Define a GCHandle type (typedef'ed to void*) and change all variables and parameters
  to use it instead of guint32.
* Use our own xamarin_gchandle_* methods (with pointer-sized types) that wraps
  the mono_gchandle_* embedding API (which uses 32-bit types) everywhere.
* Update managed code (registrars, runtime code, etc) accordingly.

* [runtime] Make debug code compile.

* Fix typo.

* Fix signature of xamarin_create_gchandle.

Co-authored-by: Aaron R Robinson <arobins@microsoft.com>
2021-02-11 08:18:38 +01:00
Manuel de la Pena f76f3f0cec
[CI] Nugets should not stop the build. (#10604) 2021-02-10 18:11:04 -05:00
Eric Erhardt 3d932ebbb7
Default InvariantGlobalization in Xamarin IOS (#10598)
This allows for unnecessary code to be trimmed by default in an app. See https://github.com/dotnet/runtime/pull/47999.
2021-02-10 08:02:34 +01:00
Sebastien Pouliot 851ec37f2b
[main] Update NuGet feed (#10599)
bump maccore for dependencies updates

New commits in xamarin/maccore:

* xamarin/maccore@b5332e51dd Remove dependency on XmlDocSync repo/tools (#2391)
* xamarin/maccore@e2a8db0a93 Update NuGet.config to enforce a single feed (#2372)
* xamarin/maccore@1a2648bfea Keychain file computed incorrectly on Big Sur (#2388)
* xamarin/maccore@de616ca53e [mlaunch] Fix dependencies for Xcode 12.5 beta 1 (#2387)
* xamarin/maccore@e93375583c [Actions] Fix rebase trigger.

Diff: 0dfeb85ff6..b5332e51dd
2021-02-09 20:45:35 -05:00
Rolf Bjarne Kvinge 5a1e8ce417
Bump to .NET 6.0.100-preview.1.21103.13. (#10596) 2021-02-09 18:29:41 -05:00
Manuel de la Pena d81575caa1
[CI][VSTS]Add support to run the tests in older versions of macOS (#10585)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-02-09 17:11:41 -05:00
Rolf Bjarne Kvinge f01fde5cd9
[dotnet] Don't use install-location in pkgs. (#10583)
Don't use install-location to specify where files should be installed, because
our notarization process replaces this value in the pkg manifest with the root
directory (without updating anything else), with the result that notarized
packages tries to install files in the wrong location.

Instead specify the full path for each individual file, so that the
install-location can be the root directory (and thus the notarization process
won't corrupt the package).
2021-02-08 07:35:32 +01:00
Rolf Bjarne Kvinge 3bdd092c4d
[introspection] Stop hardcoding minimum OS versions. (#10582)
* [introspection] Stop hardcoding minimum OS versions.

* [src] Remove redundant availability attributes.
2021-02-08 07:34:02 +01:00
Sebastien Pouliot 511a32f979
Bump product versions after the one used for 'xcode12.5' (#10584) 2021-02-05 20:57:23 -05:00
Rolf Bjarne Kvinge f5156f7ed7
[dotnet] Add support for the interpreter on device. Fixes #10292. (#10555)
* Pass and parse the MtouchInterpreter value to dotnet-linker.
* Move required logic from mtouch to shared code to take advantage of existing
  code to compute AOT arguments (which we need to compute the correct AOT
  arguments for System.Private.Corelib.dll, which is always AOT-compiled).
* Add a linker task to compute the AOT arguments for .NET.
* Add test projects.

This PR is probably best reviewed commit-by-commit.

Fixes https://github.com/xamarin/xamarin-macios/issues/10292.
2021-02-05 07:47:23 +01:00
Rolf Bjarne Kvinge 3a29de80a8
[tests] Make link sdk and link all work on Mac Catalyst. (#10579)
* [link sdk/link all] Adjust to compile on Mac Catalyst.

* [tests] Adjust the LinkAllRegressionTest.NoFatCorlib to work on Mac Catalyst.

* [tests] Add version checks to make link sdk green on Mac Catalyst.

* [tests] Make the LinkSdkRegressionTest.SpecialFolder test pass on Mac Catalyst.

* [xharness] link sdk and link all are green on Mac Catalyst now.

* Fix test build.
2021-02-05 07:43:33 +01:00
Jonathan Peppers e30c5b3502
[.NET 6] make sure Run target depends on Build (#10581)
Fixes: https://github.com/xamarin/xamarin-macios/issues/10575

Running `dotnet build -t:Run` on a new project fails with:

    Xamarin.Shared.Sdk.targets(692,3): error MSB4018: The "GetMlaunchArguments" task failed unexpectedly.
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018: System.IO.DirectoryNotFoundException: Could not find a part of the path '/Users/jopepper/src/net6-samples/HelloiOS/bin/Debug/net6.0-ios/ios-x64/HelloiOS.app\Info.plist'.
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.MacDev.PObject.FromFile(String fileName, Boolean& isBinary) in /Users/builder/azdo/_work/1/s/xamarin-macios/external/Xamarin.MacDev/Xamarin.MacDev/PListObject.cs:line 344
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.MacDev.PDictionary.FromFile(String fileName, Boolean& isBinary) in /Users/builder/azdo/_work/1/s/xamarin-macios/external/Xamarin.MacDev/Xamarin.MacDev/PListObject.cs:line 774
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.MacDev.PDictionary.FromFile(String fileName) in /Users/builder/azdo/_work/1/s/xamarin-macios/external/Xamarin.MacDev/Xamarin.MacDev/PListObject.cs:line 761
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.iOS.Tasks.GetMlaunchArgumentsTaskBase.get_DeviceType() in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.iOS.Tasks.Core/Tasks/GetMlaunchArgumentsTaskBase.cs:line 53
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.iOS.Tasks.GetMlaunchArgumentsTaskBase.GetDeviceTypes() in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.iOS.Tasks.Core/Tasks/GetMlaunchArgumentsTaskBase.cs:line 72
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.iOS.Tasks.GetMlaunchArgumentsTaskBase.GenerateCommandLineCommands() in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.iOS.Tasks.Core/Tasks/GetMlaunchArgumentsTaskBase.cs:line 128
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Xamarin.iOS.Tasks.GetMlaunchArgumentsTaskBase.Execute() in /Users/builder/azdo/_work/1/s/xamarin-macios/msbuild/Xamarin.iOS.Tasks.Core/Tasks/GetMlaunchArgumentsTaskBase.cs:line 199
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
    Xamarin.Shared.Sdk.targets(692,3): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)

Unless you do `dotnet build` and `dotnet build -t:Run` in two steps.

It doesn't look like the built-in .NET 6 `Run` target depends on `Build`
at all:

91c1326f47/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets (L865-L867)

So let's reorganize things to fix this:

* `_PrepareRun` now runs on all platforms, it depends on `Build`.
* `_PrepareRunMobile` now has the condition so it will not run on macOS.
* `_PrepareRunMobile` doesn't need as many targets listed in
`DependsOnTargets` now, because `Build` has already run.
2021-02-05 07:42:39 +01:00
Rolf Bjarne Kvinge 5ef69f173b
[msbuild/tests] Fix support for XCFrameworks for Mac Catalyst. (#10578)
* [tests] Use the 'Apple Developer' code signing key instead of 'iPhone Developer' for xcframework-test.

* [msbuild] Fix resolving the XCFramework for Mac Catalyst.

* [xharness] Enable xcframework-test by default on Mac Catalyst.
2021-02-05 07:39:38 +01:00
Sebastien Pouliot b29cb8596d
[pdfkit] Add nullability to (generated and manual) bindings (#10577)
See [HOWTO](https://github.com/xamarin/xamarin-macios/wiki/Nullability)

Also small change to generator so strong dictionaries can accept `null`
`NSDictionary`, which was already accepted by the class itself.

and expose two properties that were not usable before
2021-02-04 20:39:41 -05:00
Rolf Bjarne Kvinge 2ef3f887f7 Merge remote-tracking branch 'origin/main' into dotnet-interpreter 2021-02-04 22:26:25 +01:00
Manuel de la Pena 43a294f512
[CI][VSTS] Move to sign msi files. (#10576)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-02-04 11:33:13 -05:00
Rolf Bjarne Kvinge 7eb0dedfaf
[src] Add support for generating classes that throw PlatformNotSupportedExceptions in the Xamarin.iOS.dll implementation assembly for Mac Catalyst. Fixes #10213. (#10570)
This adds any types in the Xamarin.iOS version of Xamarin.iOS.dll that are not
available in Xamarin.MacCatalyst.dll to the Xamarin.iOS.dll implementation
assembly we have for Mac Catalyst.

This means that the linker will not run into any missing API when linking Mac
Catalyst apps, which is necessary for our linksdk and linkall test suites,
because those test suites use MonoTouch.Dialog, of which there is no Mac
Catalyst version (yet at least).

Fixes https://github.com/xamarin/xamarin-macios/issues/10213.
2021-02-04 16:00:32 +01:00
Rolf Bjarne Kvinge f78ddf8f7f
[mtouch] Hardcode 'Xamarin.iOS' as an SDK assembly for the linker. (#10571)
This is required for Mac Catalyst, where Xamarin.iOS is a special case.
2021-02-04 08:30:46 +01:00
Rolf Bjarne Kvinge 37a25a7ca1
[xharness] framework-test is now green on Mac Catalyst (#10572) 2021-02-04 08:28:47 +01:00
Sebastien Pouliot 035a97e450
[coreanimation] Add nullability to (generated and manual) bindings (#10547)
See [HOWTO](https://github.com/xamarin/xamarin-macios/wiki/Nullability)
2021-02-03 08:51:42 -05:00
Rolf Bjarne Kvinge 9d4e1ae32a Merge remote-tracking branch 'origin/main' into dotnet-interpreter 2021-02-03 12:52:24 +01:00
Rolf Bjarne Kvinge 97225eff9f Change parsing of interpreter value to previous interpretation. 2021-02-03 12:51:59 +01:00
Rolf Bjarne Kvinge 783faabb73
[CI] Sign .NET packages. (#10563)
* [CI] Sign .NET packages.

* [CI] Extract package signing from the 'Build Packages' step and do it after 'Build Nugets' so that Nugets can be signed too.

* Build packages for 'IndividualCI' as well.

This happens when pushing additional commits to a PR.
2021-02-03 12:49:34 +01:00
Rolf Bjarne Kvinge 2e0225fd87 [dotnet-linker] Implement Application.IsAOTCompiled for macOS on .NET. 2021-02-03 08:03:31 +01:00
Rolf Bjarne Kvinge 7dff6803b6
[src] Fix generating Constants.SdkVersion for Mac Catalyst. (#10564) 2021-02-03 07:40:45 +01:00
Rolf Bjarne Kvinge c5afca3888
Bump to .NET 6.0.100-preview.1.21081.5. (#10552)
* Bump to .NET 6.0.100-preview.1.21080.4.

* [dotnet] The linker automatically marks the build output as a root assembly.

* Bump to .NET 6.0.100-preview.1.21081.5.

* [dotnet] Turns out we do need mark the build output as a root assembly, but with we now have to use the full path.
2021-02-03 07:32:05 +01:00
Sebastien Pouliot 0c1b7e8935
[wkwebkit] Add nullability to (generated and manual) bindings (#10561)
See [HOWTO](https://github.com/xamarin/xamarin-macios/wiki/Nullability)
2021-02-02 21:42:23 -05:00
Manuel de la Pena 65d22043b8
[CI][VSTS] Do not step over success statuses in rebuilds. (#10565) 2021-02-02 14:56:50 -05:00
Rolf Bjarne Kvinge 7cd0dab9d9
[msbuild] Fix computing the frameworks directory for Mac Catalyst. (#10557)
This is part 2 of making framework-test build on Mac Catalyst.

Contributes to https://github.com/xamarin/xamarin-macios/issues/10440.
2021-02-02 08:46:38 +01:00
Rolf Bjarne Kvinge a3235c4fbd
[tests] Use the 'Apple Developer' code signing key instead of 'iPhone Developer' for framework-test. (#10556)
This is part 1 of making framework-test build on Mac Catalyst.

Contributes to https://github.com/xamarin/xamarin-macios/issues/10440.
2021-02-02 08:46:17 +01:00
Rolf Bjarne Kvinge 13fd8f5b07
[tests] Adjust BundledResources.ResourcesTest to pass on Mac Catalyst. (#10553)
This makes dont link green on Mac Catalyst.

Also adjust xharness to run dont link/Mac Catalyst by default.

Contributes towards https://github.com/xamarin/xamarin-macios/issues/10440.
2021-02-01 18:42:40 +01:00
Rolf Bjarne Kvinge 51648223be Add newly added localizable string to canary test of translated strings. 2021-02-01 17:14:42 +01:00
Rolf Bjarne Kvinge f5d980bc08 [msbuild] Add an E7071 error message 2021-02-01 14:37:31 +01:00
Rolf Bjarne Kvinge 7f0e2449f7 [dotnet-linker] Add a new task that computes the arguments to the AOT compiler. 2021-02-01 14:37:31 +01:00
Manuel de la Pena 390fab7c0b
[VSTS][CI] Fix issues with the internal pool and VSTS git usage. (#10550) 2021-02-01 06:19:21 -05:00