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

9680 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge e9c61f1053 [dotnet] Make default items file templated to make it platform-specific.
The template takes each platform as input, and adds a TargetPlatformIdentifier condition
to the item groups.

This also means removing Xamarin.Shared.Sdk.DefaultItems.props, and put all the generated
logic into Microsoft.<platform>.Sdk.DefaultItems.props.

We can't use an identical default items file for all four platforms, because the
file is loaded once for each platform, and if the file is identical it means it'll
get repeated four times (and everything included by default will be included four
times, ending up with build errors).
2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge b4141ebf60 [dotnet] Move the default inclusion to Xamarin.Shared.Sdk.DefaultItems.props. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 890077adfa [tests] Enable the workload resolver. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 5623eeb106 [dotnet] Rename Microsoft.<platform>.Sdk.SupportedTargetPlatforms.props to Microsoft.<platform>.Sdk.SupportedTargetPlatforms.targets. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge a249ac2c80 [dotnet] Rename Xamarin.Shared.Sdk.Versions.props to Xamarin.Shared.Sdk.Versions.targets. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge c34d9c092d [dotnet] Merge Microsoft.<platform>.Sdk.props into Microsoft.<platform>.Sdk.targets. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge e43688a60b [dotnet] Merge Xamarin.Shared.Sdk.props into Xamarin.Shared.Sdk.targets. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 1be152e35b [dotnet] Remove Microsoft.<platform>.Sdk/Sdk/Sdk.props, it's not used anymore. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 062352ccae [tests] Use 'Microsoft.NET.Sdk' instead of 'Microsoft.<platform>.Sdk'. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge ca5391115f [dotnet] Add documentation 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge fd381f2ecb [dotnet] Add WorkloadManifest.targets. 2020-10-16 14:27:57 +02:00
Rolf Bjarne Kvinge 9dec2ec91c [dotnet] Add AutoImport.props. 2020-10-16 14:27:57 +02: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 95dff92a4a [dotnet] Install the Sdk and Ref packages too into the dotnet directory (as symlinks). 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 9da5db37b5 [tests] We don't need to point to our custom packages in global.json anymore, since we'll be using the installed workload. 2020-10-16 14:27:42 +02:00
Rolf Bjarne Kvinge 486bb80b52 [dotnet] Create a WorkloadManifest.json for each platform. 2020-10-16 14:27:42 +02:00
Rolf Bjarne Kvinge f6e8259a23 [dotnet] Write FrameworkList.xml and RuntimeList.xml into our on-disk nuget representation.
This makes it so that we can create a symlink in the dotnet path directly into
our on-disk nuget representation.
2020-10-16 14:27:42 +02:00
Rolf Bjarne Kvinge 613ebb1dce [dotnet] Don't import Microsoft.NET.Sdk's Sdk.props/Sdk.targets.
We're not in control of this anymore.
2020-10-16 14:27:42 +02:00
Rolf Bjarne Kvinge 29fe8bd74e Bump Touch.Unit.
New commits in spouliot/Touch.Unit:

* spouliot/Touch.Unit@9abe69e [Touch.Client] Use 'Microsoft.NET.Sdk' instead of 'Microsoft.<platform>.Sdk'. (#93)

Diff: 89afaf7e05..9abe69e6f5
2020-10-16 14:27:42 +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 d3042a8829
[tests] Simplify temp file management in the msbuild tests. (#9895)
* Use Cache.CreateTemporaryDirectory everywhere.
* Stop manually deleting temporary files/directories, they'll be deleted automatically.
2020-10-16 14:26:51 +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
Sebastien Pouliot 88acbb109b
[imageio] Update bindings up to Xcode 12.1 GM (#9891)
First backport of PR#9793
Then adjustments for Xcode 12.1 GM

Co-authored-by: Alex Soto <alex@alexsoto.me>
2020-10-15 23:01:08 -04:00
Sebastien Pouliot 68c599e98a
[mpscore] Update for Xcode 12.1 GM (#9890)
The new enum members are available in all platforms in Xcode 12.2.

Another PR will change the `[iOS (14,2)]` to [iOS (14,1)]` in the
`xcode12.2` branch.
2020-10-15 20:15:43 -04:00
Sebastien Pouliot e358d75863
[coregraphics] Update for Xcode 12.1 GM (#9880)
Backport of PR#9828 (xcode12.2) with availability changes.

No need to merge it back into `xcode12.2` (it would conflict) but another
PR will be needed to change `[iOS (14,2)]` to `[iOS (14,1)]` on the new
API

Co-authored-by: Alex Soto <alex@alexsoto.me>
2020-10-15 20:11:54 -04: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
Sebastien Pouliot 5f220b7549
[coreimage] Update for Xcode 12.1 GM (#9886) 2020-10-15 13:53:20 -04:00
Sebastien Pouliot 8497df4c93
[avfoundation] Update for Xcode 12.1 GM (#9887) 2020-10-15 13:07:12 -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
Manuel de la Pena 35e78f61dd
[Tests] Fix typo. (#9870) 2020-10-15 11:50:42 -04:00
Sebastien Pouliot a16e29d994
[videotoolbox] Update for Xcode 12.1 GM (#9884) 2020-10-15 11:37:58 -04:00
Sebastien Pouliot 3090eca84d
[tests][intro] Detect cases where [Unavailable] is mis-used (#9871)
For each platform the presence of `[Unavailable]` should mean there are
no other availability (introduced, deprecated or obsoleted) attributes
on the same member.

Also check if the type is unavailable. In that case no member should,
for that platform, have other availability attributes.

Also fix failures - all in WatchKit which was removed from iOS.
2020-10-15 08:57:47 -04:00
Rolf Bjarne Kvinge e92809f38c
[tests] Split the iOS msbuild tests in two. (#9860)
Split the iOS msbuild tests in two:

* Xamarin.MacDev.Tasks.Tests: contains in-process unit tests for tasks.
* Xamarin.MacDev.Tasks: contains larger tests that either invoke targets or a complete
  build. These are currently in-process, but will become out-of-process soon to make
  it possible to run them with dotnet.

Also make the new projects non-iOS-specific, because the macOS msbuild tests will
be moved here as well soon.

There is some duplicated code between these two test projects now (all files
that show up as new are copies of existing files), this will be cleaned up in
later pull requests.
2020-10-15 08:45:43 +02: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 714876d55f
[coretelephony] Update for Xcode 12.1 GM (#9878) 2020-10-14 22:22:55 -04:00
Sebastien Pouliot 3a35c2425c
[xcode12.1] Bump for GM (#9876) 2020-10-14 20:06:20 -04:00
monojenkins a72ad286d7
[Tests] Fix a test that crashes on devices due to possible bonjour services present. (#9868)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-10-14 15:12:13 -04:00
monojenkins 4804009a65
[Tests] Fix a test that crashes on devices due to possible bonjour services present. (#9869)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2020-10-14 14:52:46 -04:00
Sebastien Pouliot c379544def
[xcode12.2][intro] check for duplicate or inconsistent availability attributes (#9825) (#9856)
This can easily happen when existing type(s) or framework are added to a platform. E.g.

```csharp
[Watch (6,0)][iOS (9,0)]
interface AVFoo {
   [Watch (6,0)][iOS (13,0)]
   void NewMember ();
}
```

Here we have duplicate attributes and, while not confusing, it does mean extra (and non required) metadata into the platform assemblies.

```csharp
[Watch (6,0)][iOS (9,0)]
interface AVFoo {
   [Watch (5,0)][iOS (13,0)]
   void NewMember ();
}
```

Here we declare a member as available when the type is not. I'm not sure how the IDE will react - but this should be audited since one of them is wrong (whatever the IDE behaviour is).

Fix https://github.com/xamarin/xamarin-macios/issues/6856

Backport of https://github.com/xamarin/xamarin-macios/pull/9825

Includes additional fixes for XM (disabled in `main`)
2020-10-14 13:57:14 -04:00
Manuel de la Pena 5db939f329
[Tools] Remove compilation warning CS0105 (#9865) 2020-10-14 13:37:44 -04:00
Rolf Bjarne Kvinge 9cbde483a9
[tests] Set DEVELOPER_DIR when calling xcrun manually. (#9859)
This fixes build problems that may occur when the various versions of Xcode
(system Xcode, VSMac Xcode, '/Applications/Xcode.app' symlink) don't agree on
which Xcode is THE Xcode:

    CustomMetalSmelting:
      Creating directory "bin/iPhone/Debug-unified/monotouchtest.app".
      xcrun -sdk iphoneos metal -c Resources/fragmentShader.metal -o obj/iPhone/Debug-unified//fragmentShader.air -mios-version-min=11.0
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEWatchSupportUI.ideplugin (com.apple.dt.IDEWatchSupportUI) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEWatchSupportCore.ideplugin (com.apple.dt.IDEWatchSupportCore) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IBCocoaTouchBuildSupport.ideplugin (com.apple.dt.IDE.IBCocoaTouchBuildSupport) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for GPUDebuggerOSXSupport.ideplugin (com.apple.dt.gpu.GPUDebuggerOSXSupport) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEOSXSupportCore.ideplugin (com.apple.dt.IDE.IDEOSXSupportCore) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEOSXSupportUI.ideplugin (com.apple.dt.IDE.IDEOSXSupportUI) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IBAppleTVBuildSupport.ideplugin (com.apple.dt.IDE.IBAppleTVBuildSupport) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEInterfaceBuilderAppleTVIntegration.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderAppleTVIntegration) not present
      2020-10-14 09:09:03.985 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEInterfaceBuilderWatchKitIntegration.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderWatchKitIntegration) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEInterfaceBuilderWatchKitBuildSupport.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderWatchKitBuildSupport) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for GPUDebuggertvOSSupport.ideplugin (com.apple.dt.gpu.GPUDebuggertvOSSupport) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEAppleTVSupportUI.ideplugin (com.apple.dt.IDEAppleTVSupportUI) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEAppleTVSupportCore.ideplugin (com.apple.dt.IDEAppleTVSupportCore) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for DVTAppleTVSupportCore.dvtplugin (com.apple.dt.DVTAppleTVSupportCore) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for GPUDebuggeriOSSupport.ideplugin (com.apple.dt.gpu.GPUDebuggeriOSSupport) not present
      2020-10-14 09:09:03.986 xcodebuild[59510:1676867] [MT] DVTPlugInManager: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for IDEiOSPlatformSupportCore.ideplugin (com.apple.dt.IDEiOSPlatformSupportCore) not present
      2020-10-14 09:09:04.081 xcodebuild[59510:1676867] [MT] DVTPlatform: Required content for platform watchOS is missing.
      Domain: DVTFoundationErrorDomain
      Code: 4
      Recovery Suggestion: Please reinstall Xcode.
      --
      No Xcode.DVTFoundation.ExtendedPlatformInfo extension found for platform with identifier com.apple.platform.watchos
      Domain: DVTExtendedPlatformInfoErrorDomain
      Code: 2
      --
    xcodebuild : error : Initialization failed. [[...]/xamarin-macios/tests/monotouch-test/monotouch-test.csproj]
      	Reason: Required content for platform watchOS is missing.
    xcrun : error : sh -c '/Applications/Xcode_11.7.0.app/Contents/Developer/usr/bin/xcodebuild -sdk iphoneos -find metal 2> /dev/null' failed with exit code 17920: (null) (errno=No such file or directory) [[...]/xamarin-macios/tests/monotouch-test/monotouch-test.csproj]
    xcrun : error : unable to find utility "metal", not a developer tool or in PATH [[...]/xamarin-macios/tests/monotouch-test/monotouch-test.csproj]
    [...]/xamarin-macios/tests/monotouch-test/monotouch-test.csproj(385,5): error MSB3073: The command "xcrun -sdk iphoneos metal -c Resources/fragmentShader.metal -o obj/iPhone/Debug-unified//fragmentShader.air -mios-version-min=11.0" exited with code 72.
2020-10-14 19:19:00 +02:00
Rolf Bjarne Kvinge f3376541b5
[msbuild] Re-use existing code to launch processes. (#9858)
There was a race condition in the code that has been removed, which may have
caused actool to randomly hang at exit (https://github.com/xamarin/maccore/issues/1124).
Fix this by re-using existing code we have to launch processes.
2020-10-14 19:15:53 +02:00
Rolf Bjarne Kvinge e707fb691c
[dotnet] Remove workaround for mono/linker#1435, which has now been fixed. (#9863) 2020-10-14 15:13:46 +02:00
Manuel de la Pena ffd59b8b4a
[Mono] Bump mono to ca11fb0f to match Xamarin.Android. (#9849)
Commits:

  * mono/mono@ca11fb0fd8: [2020-02] Bump ikvm-fork to include https://github.com/mono/ikvm-fork/pull/20 (#20452)

Full diff: be2226b5a1...ca11fb0fd8
Related PR: https://github.com/xamarin/xamarin-android/pull/5194
2020-10-14 07:33:21 -04:00
Rolf Bjarne Kvinge f730014daf
[compare-commits] Ignore Publish.*.txt files when comparing generator output. Fixes #9852. (#9853)
Fixes https://github.com/xamarin/xamarin-macios/issues/9852.
2020-10-14 08:46:00 +02:00
Juan Marcelo Tondato e741262e90
[dotnet] Add some project capabilities. (#9840)
Visual Studio uses CPS to load SDK-style projects. In CPS, most things are keyed-off so-called capabilities[0] which replace other methods that were used previously like project type GUIDs.

While capabilities can be defined in the IDE, they make most sense to be directly expressed in the targets themselves where CPS will pick them up automatically.

[0] https://github.com/microsoft/VSProjectSystem/blob/master/doc/overview/about_project_capabilities.md
2020-10-14 08:43:46 +02:00
Manuel de la Pena ebc81460c9
[monotouch-test] Don't assert any specific value for the ReusedConnection value in UrlSessionTaskTransactionMetricsTest. Fixes #xamarin/maccore@2281. (#9660) (#9854)
Fixes https://github.com/xamarin/maccore/issues/2281.

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2020-10-13 15:11:56 -04:00
Sebastien Pouliot 11aafadd86
[intro] check for duplicate or inconsistent availability attributes (#9825)
This can easily happen when existing type(s) or framework are added to a platform. E.g.

```csharp
[Watch (6,0)][iOS (9,0)]
interface AVFoo {
   [Watch (6,0)][iOS (13,0)]
   void NewMember ();
}
```

Here we have duplicate attributes and, while not confusing, it does mean extra (and non required) metadata into the platform assemblies.

```csharp
[Watch (6,0)][iOS (9,0)]
interface AVFoo {
   [Watch (5,0)][iOS (13,0)]
   void NewMember ();
}
```

Here we declare a member as available when the type is not. I'm not sure how the IDE will react - but this should be audited since one of them is wrong (whatever the IDE behaviour is).

Fix https://github.com/xamarin/xamarin-macios/issues/6856
2020-10-13 14:16:33 -04:00