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

840 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 3d904dae2c
[tests] A few test fixes to make testing system installs better. (#14652)
* Make the custom-type-assembly library build using assemblies relative to
  MAC_DESTDIR, instead of poking into $(TOP)/_mac-build (for legacy Xamarin).
* Build the custom-type-assembly using a project file for .NET (and use our
  local .NET).
* Change the default for [IOS|MAC]_DESTDIR when TESTS_USE_SYSTEM is set to
  point to the system installation.
* Make sure 'MSBuildSDKsPath' isn't set when building the custom-type-assembly
  (set by xibuild), it breaks a lot of things.
2022-04-06 08:35:25 +02:00
Rolf Bjarne Kvinge f83db67a84
Use the tip of the 6.0.3xx-rc1 branch as the baseline for .NET API diffs. (#14623)
Since we're not planning on any more breaking changes after RC 1, we can
ensure we don't have any accidental breaking changes by using the RC 1
assemblies as the baseline.
2022-04-04 21:25:55 +02:00
Rolf Bjarne Kvinge 6391642a40 Merge remote-tracking branch 'origin/main' into net7.0 2022-03-30 10:05:11 +02:00
Rolf Bjarne Kvinge fd772aa82b
Bump mono. (#14555)
New commits in mono/mono:

* mono/mono@adf1bc4335 Bump corefx submodule to get brotli update

Diff: f34bd77e39..adf1bc4335
2022-03-30 08:42:24 +02:00
Rolf Bjarne Kvinge 31e9352a52 Merge remote-tracking branch 'origin/main' into darc-main-fc6e47e2-7b69-4464-b65f-8f67ca26b4e8 2022-03-29 09:05:12 +02:00
Rolf Bjarne Kvinge 345a518239
Bump .NET in main to RC 2 (#14528) 2022-03-29 08:56:44 +02:00
Rolf Bjarne Kvinge 2f099ea61d
[dotnet] Complete rename of DOTNET to SYSTEM_DOTNET. (#14535)
This was supposed to happen in d3643414e7, but
it looks like due to a merge conflict, this remaining part disappeared.
2022-03-29 07:12:00 +02:00
Rolf Bjarne Kvinge f8052c82f9 [build] Remove the DOTNET_SYSTEM_RUNTIME_INTEROPSERVICES_REF_ASSEMBLY_DIR variable, it's no longer needed. 2022-03-28 14:29:41 +02:00
Rolf Bjarne Kvinge cb1189e2fa Merge remote-tracking branch 'origin/main' into darc-main-fc6e47e2-7b69-4464-b65f-8f67ca26b4e8 2022-03-23 09:06:27 +01:00
Rolf Bjarne Kvinge e44d0fd047
[.NET] Rename several DOTNET6_* variables to to DOTNET_*. (#14463)
Also rename DOTNET_VERSION to SYSTEM_DOTNET_VERSION to make it clear what it's
referring to (and to not clash with DOTNET6_VERSION which has now been renamed
to DOTNET_VERSION).

.NET 7 is right around the corner.
2022-03-23 08:07:34 +01:00
Rolf Bjarne Kvinge 24eff5d8ff Merge remote-tracking branch 'origin/main' into darc-main-fc6e47e2-7b69-4464-b65f-8f67ca26b4e8 2022-03-22 08:20:30 +01:00
Rolf Bjarne Kvinge e369f466f7
[dotnet] Rename the DOTNET6 make variable to DOTNET. (#14441)
This is the follow-up to where the DOTNET variable was renamed SYSTEM_DOTNET.
2022-03-21 15:56:57 +01:00
Rolf Bjarne Kvinge 4d26b780c7
Bump the min macOS version to 12.0. (#14427)
Because that's what Xcode 13.3 requires.
2022-03-17 10:13:36 +01:00
Alex Soto 14c22e5c24
[xcode13.3] Use the stable release of Xcode 13.3 2022-03-15 10:08:13 -04:00
Alex Soto da31bc80a3 [xcode13.3] Bump to Xcode 13.3 RC 2022-03-14 22:54:34 -04:00
Alex Soto 35e2e45e98 [Xcode 13.3] Initial commit to Xcode 13.3 release 2022-03-14 22:54:33 -04:00
Rolf Bjarne Kvinge bae720f7f8 Make the manifest version band include prerelease components.
Ref: 7e25f16c88/documentation/general/workloads/workload-preview-bands.md
2022-03-14 20:35:12 +01:00
Rolf Bjarne Kvinge 390d07a38f Bump our manifest version band. 2022-03-11 14:50:08 +01:00
Rolf Bjarne Kvinge 0b28152b51 [.NET] Rename DOTNET6_BCL_DIR to DOTNET_BCL_DIR.
.NET 7 is right around the corner.
2022-03-11 14:38:19 +01:00
Rolf Bjarne Kvinge 3f4cbb5e44 Merge remote-tracking branch 'origin/main' into darc-main-fc6e47e2-7b69-4464-b65f-8f67ca26b4e8 2022-03-11 14:34:02 +01:00
Alex Soto 14d5620f5f
[mono] Bump mono to the HEAD of 2020-02 to match android (#14294)
New commits in mono/mono:

* mono/mono@f34bd77e39 [2020-02][Android] Workaround for invalid return value from clock_nanosleep
* mono/mono@0f5e80e577 Disable ClientWebSocketTest tests that started failing for no reason

Diff: 4efc825e83..f34bd77e39

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2022-03-03 18:37:57 -05:00
Rolf Bjarne Kvinge ed52b0f269
Bump .NET in main to RC 1 (#14277) 2022-03-01 17:01:55 +01:00
Rolf Bjarne Kvinge 8f5c8b1685
Bump ObjectiveSharpie to 3.5.50. (#14256)
This also requires updating the xtro definitions, because sharpie now finds
many more Mac Catalyst frameworks than before (and we haven't bound those
frameworks yet).
2022-02-26 01:59:11 +01:00
Rolf Bjarne Kvinge c589b4cf4e
[msbuild] Store the .NET version in the app's Info.plist when building an app using .NET. Fixes #14108. (#14215)
Also change the key for our Info.plist entry with the version number in .NET, and document the change.

We now use "com.microsoft.<platform in lower case>" instead of "com.xamarin.ios" (for all platforms).

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

Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
2022-02-24 20:44:42 +01:00
Rolf Bjarne Kvinge bd97933b60
[runtime] Remove ObjCRuntime.nfloat in favor of System.Runtime.InteropServices.NFloat. (#14197)
* Remove ObjCRuntime.nfloat (in favor of   System.Runtime.InteropServices.NFloat).
* Automatically add a reference to the System.Runtime.InteropServices.Internal
  package, so that developers get the new NFloat API (with operators) we've
  added post .NET 6 (but don't do this for .NET 7).
* Automatically add a global using alias for
  System.Runtime.InteropServices.NFloat -> nfloat. This is not behind the
  usual `ImplicitUsings` condition our other implicit usings are, because
  they're off by default for existing projects, and the main target for the
  global using alias for nfloat is upgraded projects.
* Automatically generate a global using alias (like above) in the generator
  for all code the generator compiles.
* Update xtro entries to reference System.Runtime.InteropServices.NFloat
  instead of ObjCRuntime.nfloat.
* Add a workaround for a hopefully temporary issue with .NET/CoreCLR where the
  wrong runtime pack is selected otherwise (without the new NFloat API, so
  nothing works at runtime).

Ref: https://github.com/xamarin/xamarin-macios/issues/13087
2022-02-24 16:51:12 +01:00
Rolf Bjarne Kvinge c0074d0c79
[dotnet] Hardcode the version band instead of inferring it. (#14225) 2022-02-23 20:43:27 +01:00
Rolf Bjarne Kvinge 22afc47183 Fix typo. 2022-02-22 07:10:08 +01:00
Rolf Bjarne Kvinge 2c518e467b Don't hardcode the TFM. 2022-02-21 21:12:48 +01:00
Rolf Bjarne Kvinge da50fd46fc Bumpetibumpbumpbump 2022-02-21 20:59:09 +01:00
Rolf Bjarne Kvinge e9e32be818 Unhardcode mono workload band version. 2022-02-21 15:53:39 +01:00
TJ Lambert 188a35d879
[ApiDiffs] More renaming to enable ApiDiffs (#14187)
There was a large change to rename a lot of our Xamarin assemblies to Microsoft
ie) Xamarin.iOS -> Microsoft.iOS

There is a mismatch with some of the prerequisites in our tools/apidiff/Makefile where dependencies 
are looking for ...Microsoft.iOS... but they are still named ...Xamarin.iOS...

This PR takes any remaining "Xamarin" names and changes them to "Microsoft" for all dotnet related rules.
We will also change other dotnet rules to use the new naming convention of "macOS" and "tvOS"

The only exception is to the Xamarin.PLATFORM.dll's coming from the zip - those remain as Xamarin.iOS.dll

We should expect to see the gists showing up in ApiDiffs from this PR!

Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2022-02-21 10:39:07 +01:00
dotnet-maestro[bot] 1273190e5f
[main] Update dependencies from dotnet/installer (#14156)
* Update dependencies from https://github.com/dotnet/installer build 20220211.11

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.201-servicing.22111.7 -> To Version 6.0.300-preview.22111.11

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.200-1.22069.1 -> To Version 6.0.100-1.21519.4 (parent: Microsoft.Dotnet.Sdk.Internal

* Update dependencies from https://github.com/dotnet/installer build 20220216.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.201-servicing.22111.7 -> To Version 6.0.300-preview.22116.1

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.200-1.22069.1 -> To Version 6.0.100-1.21519.4 (parent: Microsoft.Dotnet.Sdk.Internal

* Use the preview csc.

* Hardcode the toolchain version band to 6.0.200 for now.

* Bump dotnet/runtime to get nfloat changes.

* Add a dependency on Microsoft.NET.Workload.Emscripten.Manifest-6.0.100, and use it.

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-02-17 15:29:41 +01:00
Rolf Bjarne Kvinge e25163f573
[.NET] Rename our product assemblies. Fixes #13748. (#13847)
Rename our product assemblies to:

* Microsoft.iOS.dll
* Microsoft.tvOS.dll
* Microsoft.macOS.dll
* Microsoft.MacCatalyst.dll

This makes it easy to distinguish between legacy Xamarin and .NET whenever the
product assembly is mentioned, and I've also chosen the platform part of the
name to match how the platforms are named elsewhere (this also makes it
possible to simplify our build logic, since we can remove a lot of special
casing).

Fixes https://github.com/xamarin/xamarin-macios/issues/13748.
2022-02-16 21:30:32 +01:00
Rolf Bjarne Kvinge d8e5cce46e
[runtime] Be a bit more explicit about format warnings related to security. (#14165) 2022-02-16 20:11:23 +01:00
Rolf Bjarne Kvinge a021ecae72
[test] Add help makefile targets to run .NET tests on remote machines. (#14144) 2022-02-16 07:57:09 +01:00
Alex Soto b822fbe4cf
[mono] Bump mono to the HEAD of 2020-02 (#14137)
New commits in mono/mono:

* mono/mono@4efc825e83 [Tools] Fix mono-api-html MarkdownFormatter.cs to avoid a NRE
* mono/mono@6171c87180 vtable setup fix for generic default interface methods in mono runtime
* mono/mono@148f536b0b [2020-02] [AOT] Use .short directive instead of .hword
* mono/mono@a6f3e8f179 Avoid an assert in ves_icall_RuntimeFieldInfo_SetValueInternal
* mono/mono@3c4f3de377 Add correct InetAccess category to HttpClientTest.Proxy_Disabled test and disable Ping tests
* mono/mono@9f35bf1b80 Add missing handle function enter/return macros

Diff: 45efaa3b6f..4efc825e83
2022-02-15 14:42:24 -05:00
dotnet-maestro[bot] 22df9b993c
[main] Update dependencies from dotnet/installer (#13871)
* Update dependencies from https://github.com/dotnet/installer build 20220124.2

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.200-preview.22071.6 -> To Version 6.0.200-rtm.22074.2

* [.NET] Use the stable path for csc.

* Update dependencies from https://github.com/dotnet/installer build 20220125.2

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.200-preview.22071.6 -> To Version 6.0.200-rtm.22075.2

Dependency coherency updates

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-1.21519.4 -> To Version 6.0.200-1.22069.1 (parent: Microsoft.Dotnet.Sdk.Internal

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2022-01-27 10:13:42 +01:00
Manuel de la Pena 401bf76d70
[CI] Bump the min version of the simulators since Apple remove the old one. (#13906) 2022-01-26 14:46:58 -05:00
Rolf Bjarne Kvinge 8c7605a881
Bump .NET to Preview 14 (#13879)
Co-authored-by: Alex Soto <alex@alexsoto.me>
2022-01-26 09:38:50 +01:00
Rolf Bjarne Kvinge 214064d430 Merge remote-tracking branch 'origin/main' into dotnet-resolvedfiletopublish 2022-01-11 17:32:26 +01:00
Alex Soto 6515cfcfbf [dotnet] Bump to preview 13. 2022-01-05 14:29:12 -05:00
Alex Soto dfe6c2b5ab
[main] Add Xcode 13.2 Support (#13643)
* [Xcode13.2] Bump to Xcode 13.2 RC (#13497)

* [Xcode13.2] Bump to Xcode 13.2 Beta 2

Breaking changes addressed for legacy
* HomeKit
* CallKit
* CoreLocation

* [xcode13.2] Bump to Xcode 13.2 RC and apply feedback

* [AppKit] Fix missing Notifications

* Fix xtro

* [xcode13.2] Bump versions and use stable Xcode 13.2

* [monotouch-tests] Make TestAddingByComponents work on the last day of the year

Happy New Year!!

* NO BOM PLZ!
2022-01-03 09:28:00 -05:00
Rolf Bjarne Kvinge 0cc54bd76e [tests] Add build logic to build NuGets for testing purposes. 2021-12-22 10:17:34 +01:00
Rolf Bjarne Kvinge 9ab67cf9be Move some lookup tables in make to a more global location.
So that the tables can be used in more places.
2021-12-22 10:17:34 +01:00
dotnet-maestro[bot] 298c8089e8
[main] Update dependencies from dotnet/installer (#13561)
This pull request updates the following dependencies

## From https://github.com/dotnet/installer

- **Subscription**: 9d0987bd-c9b3-4f3a-a267-08d9ba6248b0
- **Build**: 20211215.3
- **Date Produced**: December 15, 2021 9:16:41 PM UTC
- **Commit**: 2dc0c5a0c9e30b861916e288676dc81d09ec9454
- **Branch**: refs/heads/release/6.0.2xx

- **Updates**:
  - **Microsoft.Dotnet.Sdk.Internal**: [from 6.0.102-servicing.21609.9 to 6.0.200-preview.21614.17][3]

[3]: 65bbb44...0ce201e

---

# .net ChangeLog for https://github.com/xamarin/xamarin-macios/pull/13561
## Level 1
* https://github.com/dotnet/installer [65bbb44...0ce201e](65bbb444f8...0ce201ed68)

## Level 2
* https://github.com/dotnet/templating [7d94161...7c35333](7d94161304...7c35333b66)
* https://github.com/dotnet/sdk [2c798cb...4a935da](2c798cbf6b...4a935da067)
* https://github.com/dotnet/fsharp [6d626ff...c12acdb](6d626ff075...c12acdbfa5)
* https://github.com/microsoft/vstest [68bd10d...a809880](68bd10d3ae...a809880e02)
* https://github.com/dotnet/roslyn [c7d6f9f...8183134](c7d6f9fab8...8183134263)
* https://github.com/dotnet/msbuild [c9eb9dd...96a618c](c9eb9dd64e...96a618ca59)
* https://github.com/nuget/nuget.client [078701b...9187a50](078701b97e...9187a50dae)
* https://github.com/dotnet/arcade [ee9b7f1...7421b55](ee9b7f1985...7421b55f46)
* https://github.com/dotnet/source-build-reference-packages [897a970...9c7c56c](897a9709eb...9c7c56c010)

Generated using https://github.com/spouliot/dotnet-tools/tree/master/changelog

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-12-16 17:35:17 +01:00
Rolf Bjarne Kvinge cc75748c90 [builds] Download & install the Mono workload as well. 2021-12-07 20:59:52 +01:00
Rolf Bjarne Kvinge 44feba841e
[dotnet] Check for the x64 version of .NET. (#13481)
Check for the x64 version of .NET to see if it's installed if the default
dotnet location doesn't exist (the x64 version will exist on an ARM64 mac when
installing the x64 version of .NET).

Also allow the .NET unit tests to be executed using any recentish version of
.NET.
2021-12-03 07:56:23 +01:00
Rolf Bjarne Kvinge b4aae072c8 [runtime] Build for ARM64/simulators. 2021-11-30 18:20:42 +01:00
Rolf Bjarne Kvinge ac1f871651
[dotnet] Bump to preview 12. (#13466) 2021-11-29 23:13:28 +01:00
Rolf Bjarne Kvinge 234f593511 [xtro] Run on .NET assemblies. 2021-11-24 15:39:03 +01:00
Rolf Bjarne Kvinge 88eb5e1ac8
Rename any *OSX_SDK_VERSION variables to *MACOS_SDK_VERSION. (#13411)
This makes it easier to iterate over all the *_SDK_VERSION variables in
template code, because they're all named using the standard platform names we
use elsewhere.
2021-11-22 18:48:05 +01:00
Rolf Bjarne Kvinge 7d5cb3c2b9
[build] Add support for not building for Xamarin.Mac. (#13385)
While generally not useful, because we need Xamarin.Mac to build mlaunch, it
comes in handy sometimes to be able to disable the Mac build (if we do, we'll
automatically use the prebuilt mlaunch binary from macios-binaries).
2021-11-18 15:38:20 +01:00
Rolf Bjarne Kvinge ce132f781e
[api-diff] Bump to latest stable (xcode13.1 branch) + add support for different reference api urls for legacy iOS and Mac. (#13292)
* Update README with new releases.

* [api-diff] Bump to latest stable (xcode13.1 branch) + add support for different reference api urls for legacy iOS and Mac.

Also fix make logic to only have a single rule per hash, which avoids a few
make warnings about duplicate targets.
2021-11-08 16:15:58 +01:00
dotnet-maestro[bot] 48ef9469af
[main] Update dependencies from dotnet/installer (#13093)
* Update dependencies from https://github.com/dotnet/installer build 20211022.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21522.1

* Update dependencies from https://github.com/dotnet/installer build 20211022.16

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21522.16

* Update dependencies from https://github.com/dotnet/installer build 20211023.8

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21523.8

* Update dependencies from https://github.com/dotnet/installer build 20211024.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21524.1

* Add a dependency to Microsoft.NETCore.App.Ref.

That way we match what XA did here: 16c1226dde

It also makes Maestro update our NuGet.config for us, which additional feeds we seem
to need to build.

* [dotnet] Use all the sources in the NuGet.config when installing workloads.

* Update dependencies from https://github.com/dotnet/installer build 20211025.3

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21525.3

* Add dependency on Microsoft.AspNetCore.App.Ref.

* Update dependencies from https://github.com/dotnet/installer build 20211026.10

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21526.10

* [tests] Disable the implicit FSharp.Core reference.

Fixes this:

    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103: Unable to find a stable package FSharp.Core with version (>= 6.0.1)
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 792 version(s) in dotnet-tools [ Nearest version: 6.0.2-beta.21519.1 ]
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 46 version(s) in dotnet-public [ Nearest version: 6.0.0 ]
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in xamarin-impl
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in darc-pub-dotnet-aspnetcore-ae1a6cb-1
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in darc-pub-dotnet-aspnetcore-ae1a6cb
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in darc-pub-dotnet-runtime-4822e3c-1
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in darc-pub-dotnet-runtime-4822e3c-2
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in darc-pub-dotnet-runtime-4822e3c-4
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in darc-pub-dotnet-runtime-4822e3c-5
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in Dotnet arcade
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in dotnet6
    xamarin-macios/tests/fsharp/dotnet/macOS/fsharp.fsproj : error NU1103:   - Found 0 version(s) in macios-dependencies

* [tests] Use a specific FSharp.Core version.

* Update dependencies from https://github.com/dotnet/installer build 20211027.11

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-rtm.21521.3 -> To Version 6.0.100-rtm.21527.11

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-10-29 18:46:00 +02:00
Rolf Bjarne Kvinge b70e6f4674
Submodule MonoTouch.Dialog. (#13058)
* Submodule MonoTouch.Dialog.

Submodule MonoTouch.Dialog, so that we can easily build it using .NET. This
submodule will become redundant when/if we publish a .NET version of
MonoTouch.Dialog, but until that happens we need it at least for our own test
suites.

This also means we have to copy our NuGet.config and global.json files to the
MonoTouch.Dialog project directory so that we point msbuild to use our local
build.

New commits in spouliot/Touch.Unit:

* spouliot/Touch.Unit@cbda703 [Touch.Client] Use MonoTouch.Dialog from a submodule. (#109)

Diff: 3345db2f4e..cbda703583

* Use relative path for submodule.

And fix indentation and set the branch name.

* Don't use 'RootTestsDirectory' when it might not be defined yet.

* [tests] Our test projects don't need to reference MonoTouch.Dialog directly.

The projects get the MonoTouch.Dialog reference indirectly through the
Touch.Client project reference.

* [tests] Only validate unique errors in the .NET unit tests.

* [tests] No need to reference System.Json anymore, that's handled directly in the MonoTouch.Dialog project.

* [tests] Reference nunit.framework.targets so we get a workaround for an NUnit issue everywhere.

* [msbuild] Only try to create a package if we're able to create an app bundle.

This fixes an issue where a library project would try (and fail) to create a
package when 'CreatePackage=true' (which could be set for the executable
project, but inherited by the library project since the executable project
depends on it).

* [tests] Adjust PackTest.BindingXcFrameworksProject to not set the AssemblyName property.

MSBuild ends up being very confused when the project we're trying to build
depends on other projects, because AssemblyName is set for all the projects
being build, and MSBuild complains about ambiguous projects:

> error: Ambiguous project name 'bindings-xcframework-test'
2021-10-26 08:18:34 +02:00
Rolf Bjarne Kvinge 2ff5743bf1
[dotnet] Bump to preview 11. (#13082) 2021-10-25 10:32:21 +02:00
Alex Soto 78c367749a
[xcode13.1-rc] Bump macios to use Xcode 13.1 RC (#13025) 2021-10-19 09:30:44 +02:00
TJ Lambert 5819dc7a10
[ApiDiffs] Creating Api Diffs for the Dotnet Assemblies (#12886) 2021-10-15 12:04:35 -05:00
Rolf Bjarne Kvinge 646443e019
[runtime] Set a min macOS version when compiling Objective-C source code for macOS. (#12942)
Fixes warnings such as these:

    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(coreclr-bridge-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(runtime-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(bindings-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(bindings-generated-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(xamarin-support-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(shared-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(trampolines-invoke-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(nsstring-localization-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(monotouch-main-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(trampolines-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(monotouch-debug-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
    ld: warning: object file ([...]/libxamarin-dotnet-coreclr-debug.a(trampolines-x86_64-dotnet-coreclr-debug.x86_64.o)) was built for newer macOS version (11.0) than being linked (10.15)
2021-10-07 08:14:38 +02:00
Rolf Bjarne Kvinge e90893ab6e
Make the NuGet version code a bit more consistent. (#12841)
Some code branches had names with dot at the end, some code paths didn't.

Now they're all dotted in the same place.
2021-09-27 15:52:24 +02:00
Rolf Bjarne Kvinge 4c0e5a66f8
[dotnet] Bump to preview 10. (#12784) 2021-09-21 15:08:23 +02:00
Alex Soto 265c21a9ed
[One .NET] use preview.9 version number (#12743)
Context: https://devblogs.microsoft.com/dotnet/update-on-dotnet-maui/
Context: https://semvercompare.azurewebsites.net/?version=31.0.101-preview.9.1&version=31.0.100-rc.1.12

.NET MAUI (and underlying optional .NET workloads) will be in a
"preview" status until Q2 2022.

Going forward in xamarin-macios/main, our version number will be
`31.0.101-preview.9.*`.

We need to bump to 101, so the version number will be higher than the
currently released `31.0.100-rc.1.12`.
2021-09-16 17:39:41 +02:00
Chris Hamons 0da207a74d
Enable ENABLE_DOTNET by default in Make.config (#12534) 2021-08-25 11:50:49 -05:00
Rolf Bjarne Kvinge 197b564c21 Merge remote-tracking branch 'origin/main' into darc-main-971a17ce-2b67-4dbe-bb13-8308d33e5f58 2021-08-24 07:26:26 +02:00
Alex Soto 8893e5b003
[mono] bump to the HEAD of 2020-02 (#12507)
New commits in mono/mono:

* mono/mono@3cf59ad33d 2020 02 backport metadata fixes (#21190)
* mono/mono@1e649b6338 [Mono.Profiler.Aot] Write true string wire length (#21196)
* mono/mono@f41fc8b133 Adding null check to avoid abort when invalid IL is encountered (#21195)

Diff: 8b6809243d..3cf59ad33d
2021-08-23 08:58:49 -04:00
Rolf Bjarne Kvinge aa9c79fc05 Bump to RC 2. 2021-08-19 09:54:14 +02:00
Jonathan Peppers 8d0c1c9031
[dotnet] use **FromWorkload** for targeting/runtime pack versions (#12449)
Context: https://github.com/dotnet/sdk/pull/19596
Context: https://github.com/xamarin/xamarin-android/pull/6184

If we use the version number string of `**FromWorkload**`, then our
runtime packages don't need to be resolved from a NuGet feed. They can
be resolved from the `dotnet/packs` directory.

This completely eliminates the need for a `NuGet.config` file when
building a .NET 6 app with a local build of xamarin-macios.

You will no longer need a feed such as:

    <add key="local-dotnet-feed" value="~/src/xamarin-macios/_build/nuget-feed" />

To further clean things up, I removed the need for:

* Any NuGet feed named `local-dotnet-feed`
* `$(DOTNET_FEED_DIR)`
* Generation of `dotnet/Workloads/NuGet.config`
2021-08-19 09:03:11 +02:00
Rolf Bjarne Kvinge d041ed36e1
.NET: make main the 'rc.1' release. (#12442)
This way we follow what the rest of .NET and Android do.

Ref: https://github.com/xamarin/xamarin-android/pull/6187
2021-08-17 08:04:33 +02:00
Manuel de la Pena bd7e5c20c1
[Xcode13] Bump to beta 5. (#12413) 2021-08-13 13:07:19 -04:00
Rolf Bjarne Kvinge 18a5351987
Bump ObjectiveSharpie (#12423) 2021-08-13 09:36:28 +02:00
Manuel de la Pena 38140f2cce
[Xcode13] Bump for Xcode 13 beta4. (#12273) 2021-07-28 16:58:00 -04:00
Manuel de la Pena 7ea2524ce6
[Xcode13] Bump xcode 13 to beta 3. (#12137) 2021-07-19 09:03:20 -04:00
Alex Soto e2a92c1b07
[xcode13] Bump PR to Xcode 13 Beta 2 (#12017)
Update tests regarding the deprecated fields and classes.

Co-authored-by: Rachel Kang <rachelkang@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-06-28 17:54:52 -04:00
Manuel de la Pena cafea99339
Bump VSMac to use the stable release. (#11992) 2021-06-21 16:36:38 -04:00
Rolf Bjarne Kvinge 6b78a86849
Bump min watchOS simulator to 6.0. (#11981)
* Bump min watchOS simulator to 6.0.

Fixes https://github.com/xamarin/maccore/issues/2454.

* Try to keep using the iOS 12 simulator for watchOS 8.0

* [introspection] Fix running on watchOS 6.0.

* [AVFoundation] Adjust availability of AVPlayerWaitingDuringInterstitialEventReason.
2021-06-21 07:42:58 +02:00
Rolf Bjarne Kvinge dd5f9f7b61
Try to prevent identical version numbers across branches by matching hardcoded prerelease identifiers with hardcoded branch name. (#11893)
If we hardcode a prelease identifier for a .NET release, we can easily end up
with multiple branches using the same version number, because the hardcoded
prerelease identifier ends up being the same for any other branches that are
created later from the release branch (one typical example would be backport
branches).

This is bad.

So try to prevent this, by hardcoding two values instead!

We'll hardcode the branch name where the hardcoded prerelease identifier
should be applied, and this way any other branches will not use the hardcoded
prerelease identifier.

Ref: https://github.com/xamarin/xamarin-macios/pull/11891.
2021-06-11 12:56:24 +02:00
Rolf Bjarne Kvinge 0921ae4e26
Bump to Xcode 13 beta 1. (#11861)
* Bump maccore.

New commits in xamarin/maccore:

* xamarin/maccore@9acbbed1f6 [mlaunch] Add support for Xcode 13 beta 1. (#2452)
* xamarin/maccore@e48f75c0b6 [Xamarin.Hosting] Fix the --stdout arg not being forwarded to DeviceLaunchConfig (#2435)
* xamarin/maccore@109c695b1b [Xamarin.Hosting] Fix help string for launchdev argument (#2429)

Diff: cddbd1915d..9acbbed1f6

* [xtro] Fix generation of .pch files
* [xtro] Fix deprecated check to handle (anonymous) declarations and enable latest C# syntax in project
* [xtro] Fix _sanity_ checks
* [xtro] Update todo for beta 1

* [Siminstaller] Force siminstaller to use the xcode 12.5 url

Related issue: https://github.com/xamarin/xamarin-macios/issues/11881

* Fix introspection failures (due to [breaking] changes)
* [tests][intro] Fix hang for tvOS

Creating an instance of `NSMetadataQuery` hangs the simulator.

Even after (xharness) timeout the simulator is not in a good state
to run further tests and every new (tvOS) test will also hang...

* [tests][intro] Same hang for watchOS

except that further test execution does not seem affected (like tvOS)

```
CoreSimulator 772.1 - Device: Apple Watch Series 3 - 38mm (watchOS 8.0) - created by XHarness (42262867-E060-40C0-803E-6DA676AF50CC) - Runtime: watchOS 8.0 (19R5266p) - DeviceType: Apple Watch Series 3 - 38mm

Thread 0 Crashed:: tid_103  Dispatch queue: com.apple.main-thread
0   com.apple.Foundation          	0x00007fff21470bd0 -[NSMetadataQuery dealloc] + 432
1   libobjc.A.dylib               	0x00007fff200d11f7 objc_object::sidetable_release(bool, bool) + 177
2   com.apple.Foundation          	0x00007fff21470a03 -[NSMetadataQuery init] + 64
3   com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107efc139 xamarin_dyn_objc_msgSend + 217 (trampolines-x86_64-objc_msgSend.s:15)
4   ???                           	0x000000010c76d4f6 0 + 4504081654
5   com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107cffc85 mono_jit_runtime_invoke + 1621 (mini-runtime.c:3197)
6   com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107e177d8 do_runtime_invoke + 54 (object.c:3052) [inlined]
7   com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107e177d8 mono_runtime_invoke_checked + 136 (object.c:3220)
8   com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107e1e3c5 mono_runtime_try_invoke_array + 2101 (object.c:5601)
9   com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107daf977 ves_icall_InternalInvoke + 871 (icall.c:3927)
10  com.xamarin.introspection_watch.watchkitapp.watchkitextension	0x0000000107dc0167 ves_icall_InternalInvoke_raw + 103 (icall-def.h:667)
11  ???                           	0x000000010a232799 0 + 4465043353
12  ???                           	0x000000010c76e08b 0 + 4504084619
```

* [tests][monotouch-test] Fix failures with xcode 13 beta 1
* [tests][mmptest] Use a FAT framework that's build with x86_64 and arm64

Co-authored-by: Alex Soto <alex@alexsoto.me>
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-06-10 20:07:20 -04:00
Alex Soto 7fb037c878
[main][mono] Bump mono to HEAD of 2020-02 to match android (#11716)
* [mono] Bump mono to HEAD of 2020-02 to match android

New commits in mono/mono:

* mono/mono@c633fe9238 [MSBuild] Update to vs16.10 branch (#21073)
* mono/mono@a01309d104 sdks: Use https for xamjenkinsartifacts llvm archive download
* mono/mono@6e079842a6 sdks: Disable parallelism for mxe llvmwin64 build
* mono/mono@28a101a8ab [2020-02] Fix leak in assembly-specific dllmap lookups (#21053)
* mono/mono@0449008883 [MonoIO] Wrap calls to open() in EINTR handling (#21042)
* mono/mono@51d876a041 [2020-02][System.Native] Handle ReadDir EINTR (#21029)
* mono/mono@581e5827f4 Bump corefx for credscan fixes (#21018)
* mono/mono@c90ec48f59 [arm64] Fix wrong marshalling in gsharedvt transition (#21006)

Diff: b4a385816e..c633fe9238

* [mmptests] Accommodate tests to take into account msbuild formating changes
2021-06-02 18:59:09 -04:00
Rolf Bjarne Kvinge aa7e9d06d1
[configure] Add option to use a locally built dotnet/runtime. (#11643)
* Add a configure option to use a locally built dotnet/runtime.
* Add documentation how to build dotnet/runtime the way we need it built.
* Modify our build to consume the custom dotnet/runtime if so configured.

This is useful when trying to debug the runtime locally, or trying out new
features there are no packages for yet.

Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com>
2021-05-21 22:18:25 +02:00
Manuel de la Pena b4264689c8
[Make] Use stable for completeness. (#11505) 2021-05-20 09:41:23 -04:00
Sebastien Pouliot d8e1c600a4
[apidiff] Bump definitions now that `xcode12.5` support is on stable (#11558) 2021-05-14 08:41:56 -04:00
Rolf Bjarne Kvinge 3958940366
Bump system mono to get fix for #11475. (#11486)
Fixes https://github.com/xamarin/xamarin-macios/issues/11475.
2021-05-10 23:13:57 +02:00
Rolf Bjarne Kvinge 6f743fd292
[build] Skip building stuff that isn't enabled. (#11385) 2021-04-30 07:51:58 +02:00
VS MobileTools Engineering Service 2 78e62f8564
[main] [xcode12.5] Bump for Xcode 12.5 RC (#11263)
and add the few new bindings added in the SDKs
2021-04-21 15:07:17 -04:00
dotnet-maestro[bot] e8f437319a
[main] Update dependencies from dotnet/installer (#11175)
* Update dependencies from https://github.com/dotnet/installer build 20210408.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21208.1

* Update dependencies from https://github.com/dotnet/installer build 20210409.4

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21209.4

* Update dependencies from https://github.com/dotnet/installer build 20210410.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21210.1

* same P4 specific fix as ccb43cba56
but the ICU support was added based on P3 but merged after ^

* Update dependencies from https://github.com/dotnet/installer build 20210412.5

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21212.5

* Update dependencies from https://github.com/dotnet/installer build 20210413.70

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21213.70

* Update dependencies from https://github.com/dotnet/installer build 20210414.14

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21214.14

* Update to new package names

Thanks @pjcollins for the heads up https://github.com/xamarin/xamarin-macios/pull/11175#issuecomment-819936692

* Update dependencies from https://github.com/dotnet/installer build 20210415.1

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21215.1

* Fix build (path changed to include '.mono')

* remove more '.mono' special case that are not needed anymore

* Update dependencies from https://github.com/dotnet/installer build 20210415.12

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21215.12

* Fix building apps (it now finds the native libs)

Credits to @filipnavara

8325f8dadc

* Add back IsTrimmable (or nothing gets linked)

* Update dependencies from https://github.com/dotnet/installer build 20210418.6

Microsoft.Dotnet.Sdk.Internal
 From Version 6.0.100-preview.3.21202.5 -> To Version 6.0.100-preview.4.21218.6

* Keep downloading the CoreCLR runtime packs.

* [runtime] Adjust the build to link with the correct runtime library for CoreCLR.

* [tests][monotouch-test] Ignore NSTimeZoneTest / All_28300 on dotnet as it hangs

Introduced with https://github.com/dotnet/runtime/pull/48931

Issue https://unicode-org.atlassian.net/browse/ICU-21591
PR https://github.com/unicode-org/icu/pull/1699

* [dotnet][msbuild] Add more (missing) '\'

Fix satellite/location assemblies and some unit tests

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
Co-authored-by: Sebastien Pouliot <sebastien.pouliot@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-04-20 09:09:56 -04:00
Alex Soto a01bee4717
[mono] Bump mono to match android (#11213)
New commits in mono/mono:

* mono/mono@b4a385816e Bump fsharp.py to get upstream nuget feed cleanup
* mono/mono@225ba3c8cb [2020-02] Backport r4-conv-i fixes (#20986)
* mono/mono@fcbc455935 [ci] Use adoptopenjdk instead of zulu-8 in sdks-archive.groovy
* mono/mono@cc8b25a7d8 [2020-02] Bump msbuild, roslyn and nuget (#20983)
* mono/mono@8c331833c7 Disable JSC runs on WASM since it crashes
* mono/mono@69cfb5fa61 Fix the System.String.Replace throwing NotImplementedException (#20960) (#20978)

Diff: eb4c3116eb..b4a385816e

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-04-15 08:36:49 -04:00
Peter Collins 2dc113ea28
[CI] Upload build asset data to darc/maestro (#11189) 2021-04-14 17:34:30 -04:00
Alex Soto bc1d8513a6 Merge remote-tracking branch 'xamarin/xcode12.5' into alex-xcode12.5-main 2021-04-02 21:46:31 -04:00
Peter Collins 5c12fdfac9
[build] Use arcade dependency management tooling (#10890)
* [build] Use arcade dependency management tooling

* Apply feedback

* Apply second round of feedback

* Always make dotnet.config before trying to read it

* Debugging

* Update dependencies, trim tabs and spaces

* [dotnet] Remove the existing workload shipped with .NET and install our locally built ones.

The new version of .NET ships with our workloads, but those aren't
the workloads we want to use, so replace them with our own.

* Update .gitignores.

* Bump to 6.0.100-preview.3.21181.5

That required renaming simulator runtime packs...

* More rename for simulator packages

* moar (hopefully all)

* Bump to 6.0.100-preview.3.21201.11

This fix the issue with `Wait` that failed several tests in monotouch-tests

However it does not include the fix for AppConext.GetData on device (AOT)

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Sebastien Pouliot <sebastien@xamarin.com>
2021-04-02 00:02:27 -04:00
VS MobileTools Engineering Service 2 73977364cb
[xcode12.5] [CI] Fix pool selector (#11057)
* [VSmac] Bump max version to the new stable. (#11025)

* Remove not needed code.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 23:00:46 -04:00
Manuel de la Pena 36a2df3904
[VSmac] Bump max version to the new stable. (#11025) 2021-03-30 09:51:02 -04:00
Rolf Bjarne Kvinge c8b6bc6c85
[dotnet] Build macOS/.NET for ARM64 as well. (#10959)
Partial fix for #10959.
2021-03-25 07:26:48 +01:00
Alex Soto 9c791dcd07
[mono] Bump mono to bring iOS binaries built with xcode12.4 (#10943)
* [mono] Bump mono to bring iOS binaries built with xcode12.4

Also bumping system mono pkg to the one that contains arm64 support

New commits in mono/mono:

* mono/mono@eb4c3116eb Build iOS SDK archives on Xcode 12.4
* mono/mono@acb8d8ed6f [2020-02][marshal] Fix VARIANT and BSTR marshaling in structs (#20918)

Diff: be9218f4d1..eb4c3116eb

* [mtouch] fix version logic check

Fixes Unexpected minOS version (expected 8.0.0, found 7.0.0) in MonoTouch.iphonesimulator.sdk/lib/libmono-native-compat.dylib ()

we really only care if it is over the version we expect not below.

* Fix version test
2021-03-24 17:34:30 -04:00
Rolf Bjarne Kvinge b30777f420
Bump to .NET 6.0.100-preview.3.21161.23 (#10772)
* Bump to .NET 6.0.100-preview.3.21152.10

* Bump to 6.0.100-preview.3.21152.10.

* Bump to 6.0.100-preview.3.21161.7.

* Bump to .NET 6.0.100-preview.3.21161.23.

* [dotnet-linker] Bump ILink and use the supported method of getting an assembly's location.

* Bump to MSBuild.StructuredLogger 2.1.364 to get support for newer binlog versions.

* Fix build failure

Fixes:

    TestHelpers/BuildEngine.cs(161,24): error CS0433: The type 'ProjectEvaluationFinishedEventArgs' exists in both 'Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' and 'StructuredLogger, Version=2.1.0.0, Culture=neutral, PublicKeyToken=d4c7181801cb6448' [/Users/builder/azdo/_work/1/s/xamarin-macios/tests/msbuild/Xamarin.MacDev.Tests/Xamarin.MacDev.Tests.csproj]

* Update parsing binlog properties.

* Be more defensive.

* [tests] Make sure the InternalsVisibleToAttribute constructor isn't linked away.

* [tests] Implement better printing of binlogs.

The latest MSBuild.StructuredLogger made some internal changes to the Message
property which confuses some of our test logic. So implement manual printing
of the log entries that we care about to make sure they conform to the
expected format by the tests (the output is mimicing what 'msbuild /v:diag
foo.binlog' would show).
2021-03-24 16:59:33 +01:00
Alex Soto 4bde41c508
[mono] Bump mono to get M1 binaries (#10836)
* [mono] Bump mono to get M1 binaries

New commits in mono/mono:

* mono/mono@be9218f4d1 Don't include mono-dtrace.h when generating offsets
* mono/mono@14ac6d4f0b [2020-02] Backport Apple silicon support (#20909)
* mono/mono@7dc02abf99 Build Mac/MacCat SDK archives on Xcode 12.4
* mono/mono@fdf57e7744 Disable DebuggerTests.Crash since it fails on Linux i386 in CI
* mono/mono@8c552e98bd Bump bockbuild to include https://github.com/mono/bockbuild/pull/168
* mono/mono@b1e2a54c6a Remove signing from Jenkins MSI pipeline
* mono/mono@a8f265550b Remove signing from Jenkins PKG/MSI pipelines
* mono/mono@c621c35ffa Fix early return in Process.Start (#20833)
* mono/mono@715757301f [2020-02][System.Drawing] Work around libgdiplus Metafile dispose ordering (#20828)
* mono/mono@305b6cff96 Revert some unrelated bumps
* mono/mono@c66141a8c7 [AOT] Make native linker name configurable (#20816)
* mono/mono@64368a00d8 Bump msbuild
* mono/mono@364c87b1a7 Disable acceptance-tests/roslyn.mk
* mono/mono@9b139294c0 Bump msbuild to fix build break
* mono/mono@b9c050faf2 [aot] Quote the -Wl,install_name argument to clang. (#20660)

Diff: 5e9cb6d1c1..be9218f4d1

* [Make.Config] Use actual mono binaries

Since mac binaries are built using Xcode 12.4 and iOS using
Xcode 11.3 we are not accounting for this difference and we
are building mono from source. Fix this scenario.

* [tests] mmptests account for the arm64 binaries in mono
2021-03-12 12:33:40 -05:00
Rolf Bjarne Kvinge e53176383e
[builds] Remove the code to optionally inject an x64 slice into our binaries. (#10846)
It's been disabled for a while, which indicates that Apple has fixed the issue
on their side, and we don't need this code anymore.
2021-03-12 07:38:07 +01:00
Sebastien Pouliot 77b3c21a80
Add the minimum OS supported inside platform assemblies metadata (#10820)
The minimum OS supported for .net assemblies are specified in
https://github.com/dotnet/core/blob/master/release-notes/6.0/6.0-supported-os.md

The minimum for legacy assemblies are unchanged. However this information
will now be present in the assemblies (and not just in documentation and
code).

This PR partially address https://github.com/xamarin/xamarin-macios/issues/10659 and possibly https://github.com/xamarin/xamarin-macios/issues/10728

Fix https://github.com/xamarin/xamarin-macios/issues/10793
2021-03-10 09:19:20 -05:00
Rolf Bjarne Kvinge bf7c3268bc
[dotnet] Use the reference assemblies from the .NET 6 version we're referencing. (#10813) 2021-03-09 14:57:56 +01:00
Rolf Bjarne Kvinge cc1918e674
Bump to 6.0.100-preview.2.21155.3. (#10803) 2021-03-09 07:42:13 +01:00
Rolf Bjarne Kvinge bccef33d3f
[runtime] Build a new version of libxamarin specifically for CoreCLR. (#10798)
We're currently only building for macOS, but we'll eventually build for Mac
Catalyst as well.
2021-03-08 07:57:55 +01:00
Rolf Bjarne Kvinge 73d49c022f
Build the .NET version of our platform assemblies with csc from .NET (#10794)
This way we can use C# 9 in any platform code specific to .NET.
2021-03-06 01:08:04 +01:00
Rolf Bjarne Kvinge 2d6a3c42a7
Bump to .NET 6.0.100-preview.2.21153.28. (#10788)
* Bump to .NET 6.0.100-preview.2.21153.28.

* [tests] Ignore failing tests due to dotnet/runtime#49201.
2021-03-05 16:28:31 +01:00
Rolf Bjarne Kvinge 80ed9d81bc
Add configure option to disable building for legacy Xamarin. (#10773)
* Add configure option to disable building for legacy Xamarin.

This can greatly speed up the debug-edit-build cycle when doing .NET
development, since it cuts down the build time in half more or less.

* Bump maccore.

New commits in xamarin/maccore:

* xamarin/maccore@548fa45432 [mlaunch] Disable building mlaunch when not including the legacy Xamarin build. (#2403)

Diff: 0562e08b12..548fa45432
2021-03-04 09:07:44 +01:00
Rolf Bjarne Kvinge 54324173d3
Bump the stable .NET to 5.0.200. (#10769)
* Bump the stable .NET to 5.0.200.

* Update global.json
2021-03-04 07:46:38 +01:00
Rolf Bjarne Kvinge 363f4611db
Use our [OBJC_]CFLAGS when compiling code for macOS. (#10771)
This required fixing a couple of compiler warnings in code that's now compiled
with more warnings + warnings-as-errors enabled:

    launcher.m:188:48: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
            argv = (char **) malloc (sizeof (char *) * (n + 1));
                                                     ~  ~~^~~
    launcher.m:609:67: error: implicit conversion changes signedness: 'int' to 'unsigned long' [-Werror,-Wsign-conversion]
                    char **new_argv = (char **) malloc (sizeof (char *) * (new_argc + 1 /* null terminated */));
                                                                        ~  ~~~~~~~~~^~~
2021-03-03 21:41:39 +01:00
Sebastien Pouliot 7d1c3b3f26
[xcode12.5][apidiff] Bump api-diff with d16-9 release as it's new reference (#10757) 2021-03-03 09:27:12 -05:00
Alex Soto 6cadb7dceb
[xcode12.5] Bump to Xcode 12.5 Beta 3 (#10764) 2021-03-03 08:13:36 -05:00
Rolf Bjarne Kvinge 871e7b1cd0
[runtime] Build our runtime for Mac Catalyst/ARM64 for .NET. (#10739)
* [runtime] Build our runtime for Mac Catalyst/ARM64 for .NET.

* [ObjCRuntime] There's no need for the StartWWAN implementation on Mac Catalyst.

This also fixes a build error:

    error MT5214: Native linking failed, undefined symbol: _xamarin_start_wwan. This symbol was referenced by the managed member ObjCRuntime.Runtime.xamarin_start_wwan.

* Only exclude xamarin_start_wwan in the .NET version of Mac Catalyst.

* [tests] Update to not run the StartWWAN test on Mac Catalyst.

* Update conditional logic.

* Fix build with newer make versions.
2021-03-03 07:48:07 +01:00
Sebastien Pouliot c140f50435
[apidiff] Bump api-diff with d16-9 release as it's new reference (#10756) 2021-03-02 19:39:03 -05:00
Sebastien Pouliot 02f160af6c
[apidiff] Bump api-diff with xcode12.4 release as it's new reference (#10745) 2021-03-01 20:32:50 -05:00
Rolf Bjarne Kvinge 7ab7e25138
[runtime] Build a .NET-specific libxamarin-dotnet[-debug].[a|dylib]. (#10723)
This also means linking with the runtime packs from .NET instead of the mono archive
(thus we have one less reliance on the mono archive).

We're also using the Xamarin.iOS code for our macOS launch sequence now, since
(at least at first) we're only going to support self-contained .NET macOS apps
(so no need to support a system-installed runtime, which simplifies things a
bit).
2021-02-26 14:42:30 +01:00
Rolf Bjarne Kvinge 85fe6340f6
Bump .NET to 6.0.100-preview.2.21114.3. (#10666)
* Bump .NET to 6.0.100-preview.2.21114.3.

* [dotnet-linker] Several steps are now gone, so load our custom step before the new first step (MarkStep).

* [dotnet-linker] Dump the current steps if we fail to call InsertBefore/InsertAfter.

* [dotnet-linker] Load the CollectAssembliesStep as the first step, and make it load every assembly.

* [dotnet] Set InvariantGlobalization=true because that's the only thing .NET supports for now.

* [dotnet-linker] Use recommended workaround for linker's inability to do load assemblies in custom step.

* [tests] Bump version of MSBuild.StructuredLogger to get support for new log version.

Otherwise this happens in tests that read binary logs:

    System.NotSupportedException : Unsupported log file format. Latest supported version is 9, the log file has version 10.

* [introspection] Ignore P/Invokes to QCall for LogThreadPool* P/Invokes.

* [dotnet-linker] Inject a dummy implementation of mono_config_parse_memory as a temporary solution for mono's removal of the same method.
2021-02-23 07:49:09 +01:00
Rolf Bjarne Kvinge 946f92dca6
[builds] Download the runtime packs for our platforms. (#10671)
These will soon be used to build a .NET version of libxamarin (we need the
dylibs shipped with the runtime packs to link libxamarin.dylib).

We also write out the version of the runtime packs
(BundledNETCorePlatformsPackageVersion) so that we can use the version later
in our Makefiles.
2021-02-22 08:16:41 +01:00
Sebastien Pouliot 52301f3fb5
[xcode12.5] Bump for beta 2 (#10650) 2021-02-17 13:56:40 -05:00
Rolf Bjarne Kvinge b8d98a499c
[dotnet] Disable watchOS. (#10625)
* [dotnet] Disable watchOS.

* [tests] Ignore watchOS tests when the watchOS build is disabled.
2021-02-12 21:52:27 +01:00
Alex Soto 0ab3fbd72e
Merge pull request #10634 from dalexsoto/main-xcode12.4-bump
[main] Merge xcode12.4 into main
2021-02-12 13:31:02 -05: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
Alex Soto 7ab43d46c6 Merge remote-tracking branch 'xamarin/xcode12.4' into main-xcode12.4-bump 2021-02-11 21:20:58 -05: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 5a1e8ce417
Bump to .NET 6.0.100-preview.1.21103.13. (#10596) 2021-02-09 18:29:41 -05:00
Sebastien Pouliot 8513316015
[xcode12.5] Bump minimum version of simulators (as required for BigSur) (#10594)
Moving to macOS 11.x (BigSur) requires us to bump the minimum/tested
version of simulators to the oldest supported by the required OS.

This means iOS 11.4, tvOS 11.4 and watchOS 5.0 (with iOS 12).

xharness needs to be updated in order for watchOS 5.0, which needs
series 3, to work properly.

Filed as https://github.com/xamarin/xamarin-macios/issues/10593
2021-02-09 15:50:42 -05:00
Sebastien Pouliot 32bce7fc1f
[xcode12.5] Initial bump for beta 1 (#10573)
This version of Xcode requires macOS 11.0 or later.

New commits in xamarin/maccore:

* xamarin/maccore@de616ca53e [mlaunch] Fix dependencies for Xcode 12.5 beta 1 (#2387)
* xamarin/maccore@e93375583c [Actions] Fix rebase trigger.
* xamarin/maccore@0dfeb85ff6 [CI][VSTS] Add information when the external tool fails. (#2377)
* xamarin/maccore@87e165fdbb Remove Vincent as a code owner 😞 (#2368)
* xamarin/maccore@55a700bb5b [build] Add /restore to Xamarin.Analysis build (#2366)
* xamarin/maccore@2d9f8a9685 Bump to xamarin/xamarin-analysis@95245313 (#2362)

Diff: 428964bf32..de616ca53e

* Bump system mono to the latest available 2020-02 package. (#10402)

This makes xamarin-macios build on Apple Silicon, and also seems to get an
updated csc that fixes a problem with nullability warnings/errors.

* [tests] Fix mmp-regression build

```
10:59:46.5383210 Making all in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/mmp-regression
10:59:46.5392610 TargetFrameworkFallbackSearchPaths=/Users/builder/azdo/_work/1/s/xamarin-macios/_mac-build/Library/Frameworks/Mono.framework/External/xbuild-frameworks MSBuildExtensionsPathFallbackPathsOverride=/Users/builder/azdo/_work/1/s/xamarin-macios/_mac-build/Library/Frameworks/Mono.framework/External/xbuild make all
10:59:46.6208220 /Applications/Xcode_12.5.0-beta.app/Contents/Developer/usr/bin/make clean
10:59:46.6956100 /Applications/Xcode_12.5.0-beta.app/Contents/Developer/usr/bin/make build
10:59:46.7422460 GEN      dylib/libTest.dylib
10:59:46.8094820 ld: library not found for -lSystem
10:59:46.8097590 clang: error: linker command failed with exit code 1 (use -v to see invocation)
10:59:46.8110310 make[2]: *** [dylib/libTest.dylib] Error 1
10:59:46.8112570 make[1]: *** [run] Error 2
10:59:47.0030120 Process make exited with 2
```

This happens on BigSur as it does not find the default location anymore...

* [tests] Do not test GKLeaderboardViewController on BigSur

The issue is the OS version, not the Xcode version. Update check
to skip that test on macOS 11+

* [tests] Fix MSBuild tests / integration

The test cannot work on BigSur since while you can `dlopen` the library
you can open `fopen` it as a file (and can't embed it for the test).

```
12:31:23.9407820 CSC : error CS1566: Error reading resource 'libz.dylib' -- 'Could not find file "/usr/lib/libz.dylib"' [/Users/builder/azdo/_work/1/s/xamarin-macios/tests/msbuild/Xamarin.MacDev.Tests/bin/Debug/net472/tmp-test-dir/msbuild-tests201/XM45Binding.csproj]
12:31:23.9407900 Done Building Project "/Users/builder/azdo/_work/1/s/xamarin-macios/tests/msbuild/Xamarin.MacDev.Tests/bin/Debug/net472/tmp-test-dir/msbuild-tests201/XM45Binding.csproj" (default targets) -- FAILED.
```

* [tests] Fix MTouch tests failures

* `nm` changed it's output and test was updated

* `clang` linking has a much higher limit for it's command-line length

At least it does not seem to be OS specific since both 10.15 and 11.0
returns the same maximum

```
$ getconf ARG_MAX
1048576
```
2021-02-05 20:30:24 -05: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
Alex Soto 5a05865f66
[xcode12.4] Bump to use Xcode 12.4 Stable (#10544) 2021-01-28 08:02:41 +01:00
Alex Soto b5855c821e
[xcode12.4] Initial bump to Xcode 12.4 RC (#10509) 2021-01-25 10:12:13 -05:00
Rolf Bjarne Kvinge e95eb1890c
Bump .NET to 6.0.100-alpha.1.21064.27. (#10501) 2021-01-25 09:06:01 +01:00
Rolf Bjarne Kvinge 7584ada30d
Bump to .NET 6.0.100-alpha.1.21060.3. (#10388)
* Bump to .NET 6.0.100-alpha.1.21060.3.

* Fix dotnet command line arguments.

* dotnet build: the project file must be the first argument.
* dotnet build/publish: use the documented verbosity format.

* Update version number in tests.

* [tests/introspection] Adjust introspection to cope with different library names in the new .NET version.

* [tests/link sdk] Adjust the LinkSdkRegressionTest.SpecialFolder test according to the new version of .NET 6.

* [tests/link sdk] Preserve a required method in System.Private.CoreLib to work around a bug in .NET 6.

Ref: https://github.com/dotnet/runtime/issues/46908.

* Revert "[CI][VSTS] Add the donet 6 pkg as a dependency. (#10348)"

This reverts commit 6de4e717e7.

There's no need to provision .NET 6, it's done automatically.
2021-01-14 14:07:28 +01:00
Rolf Bjarne Kvinge c61f6aeeac
Use the reference assemblies from the final .NET 5.0 release. (#10385) 2021-01-14 07:57:14 +01:00
Rolf Bjarne Kvinge 92ce9972c4
Bump system mono to the latest available 2020-02 package. (#10402)
This makes xamarin-macios build on Apple Silicon, and also seems to get an
updated csc that fixes a problem with nullability warnings/errors.
2021-01-13 14:45:06 +01:00
Rolf Bjarne Kvinge 22d65a560d
[tests] Add xtro support for Mac Catalyst. Fixes #10214. (#10289)
* [xtro] Add support for Mac Catalyst. Fixes #10214.

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

* Update xtro.

* Bump Objective-Sharpie.

* Delete .todo files for frameworks we don't support.

* And another one bites the dust.

* [xtro] Update.
2021-01-11 11:56:58 +01:00
Alex Soto 094fa14c56
[xcode12.3] Update Xcode to stable 12.3 (#10364) 2021-01-08 15:50:55 -05:00
Alex Soto 1b530b6872
[main] Update API diff to the xcode12.3 release (#10313) 2020-12-17 18:07:49 -05:00
Alex Soto bd16f26f88 Merge remote-tracking branch 'xamarin/xcode12.3' into main 2020-12-15 23:50:18 -05:00
Alex Soto 7a2ee467c6
[xcode12.3] Bump to Xcode 12.3 RC (#10240)
* [xcode12.3] Bump to Xcode 12.3 RC

* Remove the odds to make it even
2020-12-09 12:24:02 -05:00
Rolf Bjarne Kvinge 90676df846 [src] Build Xamarin.MacCatalyst.dll 2020-12-03 10:43:19 +01:00
Rolf Bjarne Kvinge fdaf51f3a8 [mtouch] Build the partial static registrar for Mac Catalyst 2020-12-03 10:42:26 +01:00
Rolf Bjarne Kvinge b1c3d571d6 [runtime] Build our runtime for Catalyst. 2020-12-03 10:42:25 +01:00
Rolf Bjarne Kvinge 03e010c747 Bump mono to a version that ships catalyst binaries and download those binaries.
New commits in mono/mono:

* mono/mono@dfbfe5eed1 [2020-02] Build makefile to support Mac Catalyst (#20566)

Diff: ac596375c7..dfbfe5eed1
2020-12-03 10:42:25 +01:00
Alex Soto 2b1d0799aa [xcode12.3][watchOS] Add x86_64 simulator support
* Bumps mono binaries to include x86_64 watchOS 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>

New commits in mono/mono:

* mono/mono@ac596375c7 Add support for OP_FCONV_TO_I to mini-arm64.c. (#20548)
* mono/mono@392fe5b87b [2020-02][watchOS] Add simwatch64 support (#20552)
* mono/mono@a22ed3f094 Fix potential crash for Encoder.Convert (#20522)
* mono/mono@970783731f Bump to F# 5.0 (#20511)
* mono/mono@32ab5066f7 Bump msbuild to fix a build issue
* mono/mono@93a7fe77e8 Ensure special static slots respect alignment. (#20506)
* mono/mono@3db5b35841 [debugger] Switch to GC Unsafe in signal handler callbacks (#20495)
* mono/mono@af315f44c4 [2020-02][corlib] ThreadAbortException protection for ArraySortHelper (#20468)
* mono/mono@ca11fb0fd8 [2020-02] Bump ikvm-fork to include https://github.com/mono/ikvm-fork/pull/20 (#20452)

Diff: be2226b5a1..ac596375c7
2020-12-02 22:23:45 -05:00
Alex Soto 54c91d3868
[xcode12.3] Initial bump to Xcode 12.3 Beta 1 (#10135) 2020-11-23 09:48:06 -05:00
Alex Soto 72c7b1ffcc
[main][watchOS] Add x86_64 simulator support (#10059)
* [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>
2020-11-20 09:27:46 -05:00
Rolf Bjarne Kvinge f4c9327fac
[dotnet] Bump to .NET 6.0.100-alpha.1.20556.2 and net6.0 (#10079)
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.
2020-11-19 15:01:55 +01:00
Manuel de la Pena 79e910f34e [APIDiff] Update api diff. 2020-11-17 15:23:41 -05:00
Manuel de la Pena 0f7bc75e50 Merge branch 'xcode12.2' into main-xcode12.2 2020-11-17 11:09:15 -05:00
Alex Soto 87a1b18d88
Merge pull request #10091 from dalexsoto/d16-8-xcode12.2-merge
Merge Xcode 12.2 into d16-8
2020-11-16 19:19:40 -05:00
Rolf Bjarne Kvinge fd0e8e3d56 Bump to 6.0.100-alpha.1.20562.2 2020-11-16 15:59:29 +01:00
Rolf Bjarne Kvinge 5792c497d9 Merge remote-tracking branch 'origin/main' into dotnet-6.0.100-alpha.1.20559.4 2020-11-16 15:33:26 +01:00
Manuel de la Pena 13567cc11a
[VSMac] Bump max version to current stable. (#10092) 2020-11-13 16:07:24 -05:00
monojenkins 15b963ef02
[VSMac] Bump max version to current stable. (#10093)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-11-13 16:07:11 -05:00
Alex Soto 988e3e6800 [xcode12.2] Bump Xcode to use final version and update API references 2020-11-13 11:55:22 -05:00
Alex Soto 1b243acbf9 Merge remote-tracking branch 'xamarin/xcode12.2' into d16-8-xcode12.2-merge 2020-11-12 18:52:53 -05:00
Rolf Bjarne Kvinge c640775699 [dotnet] Bump to .NET 6.0.100-alpha.1.20556.2. and net6.0
New commits in spouliot/Touch.Unit:

* spouliot/Touch.Unit@f8768d9 Advance into the world of net6.0

Diff: 9abe69e6f5..f8768d99ef
2020-11-10 11:41:06 +01:00
Sebastien Pouliot 61cb18be6c
Bump Xcode 12.2 to RC (#10060)
Both xtro and intro looks fine locally, no update required.
2020-11-06 10:12:06 -05:00
Manuel de la Pena d43eba662c
[Makefile] Update the path of xcode to be stable. (#10023) 2020-11-03 09:43:42 -05:00
Manuel de la Pena c4a7ded816
[d16-6][Make] Update the path of xcode12 to the stable one. (#10024) 2020-11-02 18:40:48 -05:00
monojenkins 26d9d1b2f6
[Makefile] Point to xcode12.1 xip file. (#9974)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-10-27 17:23:52 -04:00
Manuel de la Pena 1e62c18191
[Makefile] Point to xcode12.1 xip file. (#9973) 2020-10-27 17:22:53 -04:00
Sebastien Pouliot 8cac63bb6f
Bump API diff to be produced against xcode12.1 (#9940) 2020-10-21 13:14:45 -04:00
Manuel de la Pena 00e25199ae [Main] Bring Xcode12.1 support. 2020-10-20 17:55:31 -04:00
Manuel de la Pena 9dc65c0440
Update API diff. 2020-10-20 17:41:37 -04:00
Manuel de la Pena 18963f0983 [Xcode12.1] Bring Xcode12.1 support. 2020-10-20 17:27:14 -04:00
Rolf Bjarne Kvinge aaa628fe43 [dotnet] Create Microsoft.<platform>.Bundle.pkg packages for installing workloads manually. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 7bc6f35250 [dotnet] Install our workloads into the dotnet directory (as symlinks). 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 0913f9488a
Bump to .NET 5.0.100-rtm.20509.5. (#9893) 2020-10-16 14:27:25 +02:00
Rolf Bjarne Kvinge d825679d20
[system-dependencies] Only use the locally installed .NET version. (#9885)
* [system-dependencies] Only use the locally installed .NET version.

We'll soon need to install files into the dotnet directory, and we don't want
to do that to the system dotnet. So just always use a locally installed .NET.

* Rework to not treat .NET 5 as an optional/installable dependency, instead download it always (like the mono archive).

This way no manual action is necessary to get it when needed, it will be
downloaded automatically.
2020-10-16 08:23:22 +02:00
Alex Soto 7fde874e95
[provisioning] Fix Xcode 12.1 url 2020-10-15 17:12:16 -04:00
Sebastien Pouliot edfa07dec9
[xcode12.1] Add ikvm-fork as a submodule instead of using the sources embedded in the mono archive. (#9776) (#9783) (#9888)
There are two reasons for this:

* It grants us more independence from the mono archive for .NET 6.
* We need a bugfix in ikvm, but we can't necessarily bump mono.

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Alex Soto <alex@alexsoto.me>
2020-10-15 16:19:49 -04:00
Alex Soto dff6934850
[xcode12.2] Initial commit for Xcode 12.2 Beta 3 (#9877)
* [xcode12.2] Initial commit for Xcode 12.2 Beta 3

* Update iOSApiCtorInitTest.cs

* Fix watchOS check on intro for AVSpeechSynthesisVoice

* Update iOSApiCtorInitTest.cs

* Update iOSApiCtorInitTest.cs
2020-10-15 12:08:27 -04:00
Sebastien Pouliot c26a6e08ab
[apidiff] Compare Xcode 12.1 (iOS 14.1) against stable Xcode 12 (XI 14.0) (#9879) 2020-10-14 22:27:22 -04:00
Sebastien Pouliot 3a35c2425c
[xcode12.1] Bump for GM (#9876) 2020-10-14 20:06:20 -04:00
Alex Soto 4511fd1757
Add ikvm-fork as a submodule instead of using the sources embedded in the mono archive. (#9776) (#9783)
There are two reasons for this:

* It grants us more independence from the mono archive for .NET 6.
* We need a bugfix in ikvm, but we can't necessarily bump mono.

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-10-06 09:05:28 +02:00
Rolf Bjarne Kvinge def5b66232
Add ikvm-fork as a submodule instead of using the sources embedded in the mono archive. (#9776)
There are two reasons for this:

* It grants us more independence from the mono archive for .NET 6.
* We need a bugfix in ikvm, but we can't necessarily bump mono.
2020-10-05 15:43:32 +02:00
Alex Soto 5deee9ea95
[xcode12.2] Initial bump to Xcode 12.2 Beta 2 (#9730)
* [xcode12.2] Initial bump to Xcode 12.2 Beta 2

* Add tvOS specific checks for exact Xcode check
2020-10-02 18:33:38 -04:00
Rolf Bjarne Kvinge aa8de5ae95
Bump to .NET 5.0.100-rc.2.20459.1 (#9758)
@(SdkSupportedTargetPlatform) was renamed to
@(SdkSupportedTargetPlatformVersion), so match that and update our own
variable names as well.
2020-10-02 08:31:38 +02:00
Manuel de la Pena 059dca61fd
[Xcode12] Use the correct version of Xcode. (#9760)
We have a stable version, do not use the GM. We are lucky is the same
build hash.
2020-10-01 17:41:44 -04:00
Sebastien Pouliot 9b792525d9
Bump API diff to the released (stable) xcode12 version of XI (#9761)
This will be a bit confusing (not directly usable from bots) to produce
a full API diff for Xamarin.Mac.
2020-10-01 17:31:57 -04:00
Sebastien Pouliot 8a92716c89
Bump API diff to the released (stable) xcode12 version of XI (#9755) 2020-10-01 14:04:56 -04:00
Manuel de la Pena 46f7cee230
[VSMac] Bump max version to current stable. (#9714) 2020-09-28 14:22:58 -04:00
monojenkins 9eac53541a
[VSMac] Bump max version to current stable. (#9712)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-09-28 12:24:58 -04:00
Manuel de la Pena b1672546fe
[VSMac] Bump max version to current stable. (#9711) 2020-09-28 12:24:32 -04:00
Manuel de la Pena 1248f3f664
[ApiDiff][d16-8] Bump API diff to xcode 12. (#9698) 2020-09-24 12:59:57 -04:00
Manuel de la Pena a1cbd726c9 [ApiDiff] Bump api diff ref to Xcode 12. 2020-09-24 11:31:56 -04:00
Manuel de la Pena dcb0c93ab0 [Xcode12] Bring xcode 12 changes into main. 2020-09-23 16:05:22 -04:00
Rolf Bjarne Kvinge 8bda9174fd
Bump to Xcode 12.2 beta 1. (#9665)
* Bump to Xcode 12.2 beta 1.

* [tests] Fix xtro and intro

* Fix wrong availability

* Fix monotouch tests

* Disable watchOS tests and bump iOS version to the right one

watchOS tests have been disabled because Xcode 12.2 Beta is
broken, you cannot create a watch app and deploy, Xcode just
crashes when you try to list simulators, If you try to use
our tools at the moment of deploying we get:

> error HE0046: Failed to install the app 'app' on the device 'watchOS 7.1 (18R5552f) - Apple Watch Series 6 - 44mm': Unable To Install ???app???

* Fix macOS check and bump both versions to satisfy commit distance check, luckily we have infinite numbers!!

Co-authored-by: Alex Soto <alex@alexsoto.me>
2020-09-23 08:11:26 -04:00
Rolf Bjarne Kvinge 39e3184f02
[src] Build the .NET version of our product assemblies using a .NET 5 BCL. (#9637)
* [src] Build the .NET version of our product assemblies using a .NET 5 BCL.

We're not shipping the .NET product assemblies in any stable release, so we
can use a preview version of the .NET 5 BCL.

Also:

* Add all the nuget feeds we need to the top-level NuGet.config, even for .NET
  5/6, there shouldn't be any conflicts with stable feeds since we use exact
  version numbers.

* Generate a top-level global5.json which is copied to every directory that
  needs a .NET 5 global.json (overriding the .NET 3.1 global.json in the root
  directory).

* Use the expected dotnet binary during our local build.

* [tests] Fix the bgen tests to use .NET 5.

* [xharness] Set the current directory to the project directory when running .NET tests.

This way we end up using the dotnet version that's configured in global.json for the tests.
2020-09-21 13:22:44 +02:00
Manuel de la Pena eb9b690fe0 Merge xcode12 into d16-8. 2020-09-18 17:51:52 -04:00
Rolf Bjarne Kvinge 79068f7038
Bump to .NET 5.0.100-rc.1.20426.3. (#9666)
* Bump to .NET 5.0.100-rc.1.20426.3.

* [dotnet] SupportedTargetPlatform is now SdkSupportedTargetPlatform.

It was renamed in .NET: 4c6c7338fb
2020-09-18 17:40:39 +02:00
Alex Soto bfc98f8059
[xcode12] Initial bump for Xcode 12 GM (#9644)
* [xcode12] Initial bump for Xcode 12 GM

* [tests][intro] We cannot load CoreNFC framework on iOS simulator anymore

* [tests][xtro] New Metal API are not abstract (before XAMCORE_4_0)

* [tests][intro] Fix crash when CSLocalizedString 'description' selector is called

* [tests][xtro] Add support for excluding platforms

Based on `Make.config` variables `INCLUDE_[IOS|TVOS|WATCH|MAC]`

This required moving some entries (common -> macOS) to keep the
sanitizer happy.

* [xtro] Ignore Intents watchOS differences since they will likely match iOS in the future

* Update to use Xcode 12 GMb instead of the old GM

* [tests][xtro] Remove OSLog for iOS and tvOS (changed in GM)

* [tests][msbuild] Disable FrameworkListTest based on the active/disabled platforms

* [tests][msbuild] Track new directory/file inside CoreML projects

* [mlaunch] Bump maccore and disable mlaunch if mac build is disabled

New commits in xamarin/maccore:

* xamarin/maccore@ba332d4d07 Disable mlaunch if Mac is not built (#2314)

Diff: 87a96d21c9..ba332d4d07

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2020-09-16 11:41:44 +02:00
Rolf Bjarne Kvinge e5e9ff995c
[msbuild] Stop supporting watchOS 1 apps. (#9542)
We can delete much more code, but that can be done later, to avoid the
potential for merge conflicts when merging the xcode12 branch back into main.
2020-08-28 17:11:59 +02:00
Rolf Bjarne Kvinge 1d8a39c830
Bump .NET to 5.0.100-rc.1.20414.5. (#9513) 2020-08-27 08:06:15 +02:00
Alex Soto 561214eb07
[xcode12] Bump PR for Xcode 12 Beta 6 (#9507) 2020-08-26 00:46:10 -04:00
Rolf Bjarne Kvinge 92a3cd9a30
[dotnet] Bump .NET and the linker. (#9451)
* Bump .NET 5 and the linker.

The old linker run into a problem that seems fixed in the new linker, so bump.

* [tests] Add a workaround for a .NET bug in the fsharplibrary tests.

It's now the default to produce reference assemblies, but the F# compiler
doesn't support producing reference assemblies, so when there's no reference
assembly afterwards the MSBuild tasks complain. So explicitly disable
reference assemblies for our F# library.

* [tests] Skip reference assemblies when iterating over produced assemblies in the .NET unit tests.

Also simplify the code a little bit.

This happens because producing reference assemblies is now the default.
2020-08-24 08:20:46 +02:00
Alex Soto 236936c035
[xcode12] Xcode 12 Beta 5 Initial bump (#9406) 2020-08-20 08:39:46 -04:00
Alex Soto d20717528a
[main] Update API diff to latest stable release (#9359) 2020-08-13 03:00:31 -04:00
monojenkins 1cc30eeb15
[main] Update API diff to latest stable release (#9360)
Co-authored-by: Alex Soto <alex@alexsoto.me>
2020-08-12 22:07:59 -04:00
monojenkins 8abd3ebbc8
[main] Update API diff to latest stable release (#9361)
Co-authored-by: Alex Soto <alex@alexsoto.me>
2020-08-12 21:41:42 -04:00
Alex Soto 42eaa54108
[xcode12] Initial bump to Xcode 12 Beta 4 (#9272)
* [xcode12] Bump to Xcode 12 Beta 4

* [Tests] Disable Trust_FullChain and Trust2_FullChain tests

These tests started showing a different error than the one we expect
I'll let our security expert chime in
2020-08-05 13:25:01 -04:00
Rolf Bjarne Kvinge fcb8446eb5 [tests] Remove dead code related to GuiUnit and the GuiUnit submodule. 2020-08-03 11:53:17 +02:00
Rolf Bjarne Kvinge 2d28db26d3
Bump .NET 5 to preview.8.20359.11. (#9243)
There are a few linker fixes we need in this version.
2020-07-31 11:59:45 +02:00