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

6431 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 6e5ec5b5a4
[tests] Ignore all compiler warnings in apitest, introspection, monotouch-test and xammac tests. (#6430)
Nobody cares about them anyway, and they keep filling my terminal with useless
text.
2019-06-27 15:34:36 +02:00
TJ Lambert 903c3eec31 [PencilKit] Add Xcode 11 Beta 1 & Beta 2 bindings (#6415)
* Adding PencilKit to the src

* forgot the mac constants

* adding PencilKit and fixed whitespace

* removing whitespace

* removed mac capabilities and added ignore for PencilKit.todo

* removed newline

* added the iOS-PencilKit.ignore file

* removed pencilkit.todo

* adding DesignatedDefaultCtor
2019-06-27 09:18:58 -04:00
Sebastien Pouliot 644cf70370
[pushkit] Update for Xcode 11 beta 1 (#6432)
No change in beta 2

This enable PushKit on watchOS and macOS.

Availability macros suggest this is available on tvOS 13 but the
headers are not in the tvOS SDK (at least in beta 2)
2019-06-27 05:19:42 -07:00
Sebastien Pouliot dbe0d21282
[coremotion] Update for Xcode 11 beta 1 (#6419)
No change in beta 2

This enable some API in macOS. Headers are now present and some types are
marked as unavailable on macOS - but, sadly, nothing got marked as new
for 10.15 :|
2019-06-26 18:44:33 -07:00
Sebastien Pouliot f44003a6d7
[javascriptcore] Update for Xcode 11 beta 1 (#6433)
No change in beta 2
2019-06-26 12:35:06 -07:00
Sebastien Pouliot 53c6b6d74e
[authenticationservices] Update for Xcode 11 beta 1 and 2 (#6408)
Also enable the framework for macOS, watchOS and tvOS
2019-06-26 05:27:29 -07:00
Sebastien Pouliot c9fc959b56
Fix some availability attributes wrt macOS 10.14.6 (#6420)
Xcode 11 headers mention 10.14.6 but, at least the current beta, does not
have them...
2019-06-25 16:55:37 -04:00
Sebastien Pouliot 17cda968d5
[clockkit] Update for Xcode 11 beta 1 and 2 (#6405) 2019-06-25 10:33:16 -04:00
Sebastien Pouliot 7ee941739e
[coreanimation] Update for Xcode 11 beta 1 and 2 (#6397)
There's no change in watchOS SDK headers... but they are marked as
available (to watchOS) inside iOS, tvOS and macOS. Not a new situation
and IIRC we reported it before (will check and report again if needed)
2019-06-25 08:16:35 -04:00
TJ Lambert 6ad81d8e63 [IncomingCallNotifications] Add Xcode 11 Beta 1 & Beta 2 bindings (#6374)
* adding IncomingCallNotifications

* adding IncomingCallNotifications

* added comments about INSCopying:copy issue

* INSCopying -> NSCopying

* passing intro and extro and added IgnoreAsync and skip iOSApiCtorInitTest

* removed newlines

* additional newline

* making recommended changes after breaking branch

* removed todo files
2019-06-24 14:42:45 -04:00
Rolf Bjarne Kvinge a8014fcdc2
[system-dependencies] Use 'xip' to decompress xip files. (#6413)
Archive Utility compresses into a directory specified by one of its
preferences, so we can't really say for sure where it will put the extracted
xip.

This is of course all sorts of fun, except none of the good ones.

So use the command-line xip utility to extract the xip instead, which is
documented to extract into the current directory.

The reason we didn't use the 'xip' tool from the beginning is that when Apple first started shipping Xcode as xips, the --expand option wasn't documented.
2019-06-24 16:10:12 +02:00
Rolf Bjarne Kvinge f9b4639631
[xharness] Fix Makefile-mac.inc generation after recent disruptive changes. (#6401)
This boils down to the makefile-generation code having the information it
needs (and that information being correct).

This fixes running of tests on other macOS bots (older/newer), because now we
can build the test package again.
2019-06-24 16:08:13 +02:00
Rolf Bjarne Kvinge 84db931287
[xharness] Serialize access to nuget. Fixes xamarin/maccore#1779. (#6402)
Nuget might freak out if multiple nuget processes run at the same time, so
make sure that doesn't happen.

Fixes https://github.com/xamarin/maccore/issues/1779.
2019-06-24 08:37:36 +02:00
Rolf Bjarne Kvinge 2e0a3f34ec
[xharness] Fix compiler warning about override having different parameter names than the base implementation. (#6400) 2019-06-24 08:35:50 +02:00
Alex Soto a8b90e68f0
[UIKit] Partial update to Xcode 11 Beta 1 and 2 - Part 1 of ? (#6392)
* [UIKit] Partial update to Xcode 11 Beta 1 and 2 - Part 1 of ?

Adds new classes included in Xcode 11 Beta 1 and 2, all stuff
included in this PR is up to date with Beta 2.

* Fix whitespace.

* Add tvOS availability attributes.

* UNNotificationResponse is public, it just need a using.

* Update xtro.

* [tests/.gitignore] Update ignored files

Avoid new generated csprojs

```
	tests/apitest/apitest-unified-32.csproj
	tests/apitest/apitest-unified.csproj
	tests/apitest/apitest-unifiedXM45-32.csproj
	tests/apitest/apitest-unifiedXM45.csproj
	tests/introspection/Mac/introspection-mac-unified-32.csproj
	tests/introspection/Mac/introspection-mac-unified.csproj
	tests/linker/mac/dont link/dont link-mac-unified-32.csproj
	tests/linker/mac/dont link/dont link-mac-unified.csproj
	tests/linker/mac/dont link/dont link-mac-unifiedXM45-32.csproj
	tests/linker/mac/dont link/dont link-mac-unifiedXM45.csproj
```

* Implement feedback

* More feedback

* [Tests] Fix Apple's lies in headers for tvOS

Whatch is fine
2019-06-21 18:25:04 -04:00
Sebastien Pouliot e138a50647
[medialibrary] Update for Xcode 11 beta 2 (#6404) 2019-06-21 16:53:15 -04:00
Sebastien Pouliot fe8104b5ca
[tvmlkit] Update for Xcode 11 beta 1 (#6396)
No change in beta 2
2019-06-21 15:00:10 -04:00
Sebastien Pouliot cc57c04c91
[corenfc] Fix some names and typos (#6399)
Input feedback https://github.com/xamarin/xamarin-macios/pull/6370#pullrequestreview-252101174
Output feedback https://github.com/xamarin/maccore/issues/1785
2019-06-21 13:26:00 -04:00
tj-devel709 2781658938 [SoundAnalysis] Add Xcode 11 Beta 1 & Beta 2 bindings (#6351)
* adding Sound Analysis

* set up error domain and added CMTimeRange for all platforms except watch

* removed whitespaces

* removed more whitespaces

* edited framework files and constants. Changed header names and added todo files

* Apply feedback

* fixing head and skipping functions with class issues

* fixing spacing-tab issues
2019-06-21 10:05:27 -04:00
Rolf Bjarne Kvinge 85ec17a506
[Network] Improve bindings for NWProtocolMetadata. (#6389)
* [Network] Improve bindings for NWProtocolMetadata.

It turns out the NWProtocolMetadata can contain metadata for different
protocols (Ip/Tls/Tcp). This is important; if someone tries to get a value for
one protocol and the metadata is for another protocol, then they invoke the
wrath of superior beings who will smite that poor someone with uninitialized
memory.

At that point there's not much left but to pray.

I don't like to depend on divine intervention, so I've modified the API here
to check if the metadata's protocol is the required type for the native API
we're calling, and if the check fails, we throw a nice and dependable managed
exception.

This is a functional breaking change; but if there are any lost souls who
likes to pray, they can always re-implement the P/Invokes themselves and skip
the sanity checks.

In addition I've renamed a few properties whose name didn't clearly specify
which protocol type they operate on.

Ref: Apple feedback FB6155967.
Ref: https://trello.com/c/1TW0BSKJ/145-fb6155967-nwipcreatemetadata-returns-uninitialized-metadata-in-ios-13

* Fix casing in exception message.

* [tests] Adjust the SecProtocolMetadataTest according to new knowledge about the Network API.

* Fix alternative property name in obsolete attribute.
2019-06-21 15:00:19 +02:00
Rolf Bjarne Kvinge 57d44d120a
[mmptest] Split a few tests into test cases / several tests. Fixes #6257. (#6388)
Re-running the same UnifiedTestConfig instance with just some of the
configuration changed doesn't work as expected, because in subsequent builds
there are files already in the build directory, and things break in unexpected
ways.

So create a new UnifiedTestConfig instance for every test variation.
2019-06-21 08:23:36 +02:00
Sebastien Pouliot 41347c4696
[tvservices] Update for Xcode 11 beta 1 (#6391)
No changes in beta 2
2019-06-20 13:23:46 -07:00
Sebastien Pouliot ee2d0458de
[tvuikit] Update for Xcode 11 beta 1 (#6378)
No change in beta 2
2019-06-20 10:21:18 -07:00
Rolf Bjarne Kvinge e9ce1e222a
Merge pull request #6381 from rolfbjarne/xcode11-bump-mono-d16-2
[xcode11] Merge d16-2. Fixes #6325.
2019-06-20 19:08:10 +02:00
Rolf Bjarne Kvinge 04d4f1a2b3
[xcode11][builds] Build the BCL test assemblies. Fixes #6261. (#6380)
* [builds] Build the BCL test assemblies. Fixes #6261.

Build the BCL test assemblies and copy them where xharness expects them to be.

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

* [builds] Copy nunitlite.dll to where it's expected too.
2019-06-20 18:13:43 +02:00
Rolf Bjarne Kvinge 69bd0d8223
Merge pull request #6385 from rolfbjarne/xcode11-mono-native-mac
[xcode11] [xharness] Multiple improvements to project generation. Fixes #6322.
2019-06-20 15:41:01 +02:00
Sebastien Pouliot 774fa2c138
[messageui] Update for Xcode 11 beta 1 (#6377)
No change in beta 2
2019-06-20 06:14:14 -07:00
Rolf Bjarne Kvinge a0f19e4110 Fix xtro. 2019-06-20 13:12:54 +02:00
Rolf Bjarne Kvinge e8a2bbc193 Merge remote-tracking branch 'origin/d16-2' into xcode11-bump-mono-d16-2 2019-06-20 13:10:29 +02:00
Manuel de la Pena 3ea877bd91
Bump mono to the latests head and sync with android on 52f6ea14 (#6309)
* Bump mono to the latests head and sync with android and pick up gc fixes on mac.
2019-06-20 10:52:17 +02:00
Rolf Bjarne Kvinge 4c990affe7 [xharness] Don't depend on the Harness.Mac value except to determine what to configure.
Currently we execute most of the same logic both during the configure phase
and when running tests, and the Harness.Mac value is only set in the configure
phase.

While it doesn't matter right now, this makes sure there aren't any future
surprises in this area, since otherwise we could end up with different
behavior between the configure phase and when running tests.
2019-06-20 10:48:51 +02:00
Rolf Bjarne Kvinge 4893a4a1f5 [xharness] Refactor how mac tests projects are generated. Fixes #6322.
Harness.AutoConfigureMac now loads all the mac test projects both when
configuring and running tests, the only difference is that the test projects
that must be generated are only generated when configuring. This means that
the Harness.MacTestProject list contains the exact same test projects both
when configuring and when running tests.

This made it possible to remove logic to clone (mac) test projects the Jenkins
class (since Harness.MacTestProjects contains all the test projects already).

Consolidate logic to generate (mac) test projects:

* First we generate BCL and mono-native projects from their templates.
* Then we generate Full/System variations of any project that needs it.

This way we can remove logic to generate Full/System variations from the logic
to generate BCL/mono-native projects, which means less duplicated (and less
confusing) code.

To this purpose, significant changes were required:

* MacTestProject.TargetFrameworkFlavor has been modified to contain a bit mask
  of the variations to generate.
* MacMonoNativeInfo has been significantly simplified, and some of the
  generated code has been moved to the actual template instead.
* Some project generation (in MacTarget) to make things work as expected.

Fixes https://github.com/xamarin/xamarin-macios/issues/6322.
2019-06-20 10:48:51 +02:00
Rolf Bjarne Kvinge a63ee4f782 [xharness] Select the right GuiUnit project file depending on the mac flavor. 2019-06-20 10:36:34 +02:00
Rolf Bjarne Kvinge 0cd58ff199 [xharness] Add helper methods to get/set deployment target in plist for macOS. 2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge 27e8c737f4 [xharness] Rename MacTarget.Mobile to MacTarget.Modern. 2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge 49e62ec992 [xharness] Unify some code. 2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge b5dc6201dd [xharness] Move *TestProject.BCLInfo and *TestProject.MonoNativeInfo to their base class. 2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge d9cf090a65 [xharness] Rename MacUnifiedTarget to MacTarget.
Everything is Unified now, so specifying it is redundant.
2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge aaf29c559f [xharness] Incorporate MacTarget into MacUnifiedTarget.
Since there's no MacClassicTarget anymore, we don't need the intermediate
class.
2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge bdb67b0514 [xharness] Improve ProjectFileExtensions.FixInfoPListNode.
* Share code with GetInfoPListInclude to find the same Info.plist nodes, so
  that FixInfoPListNode also finds existing nodes whose names isn't
  "Info.plist".
* Add support for specifying the new Info.plist name.
2019-06-20 10:36:15 +02:00
Rolf Bjarne Kvinge 0eff97976a [xharness] Refactor/rename TestPlatform fields.
Rename TestPlatform fields to be more in line with the rest of the code, and
drop the Unified prefix, since everything is Unified now.

* Unified -> Modern
* UnifiedXM45 -> Full
* UnifiedSystem -> System
2019-06-20 10:36:14 +02:00
Rolf Bjarne Kvinge ea55923f54 [tests] Simplify a few [Intermediate]OutputPaths.
Everything is Unified now, so no need to add it to the output path anymore to
make distinguished project output.
2019-06-20 10:36:14 +02:00
Rolf Bjarne Kvinge 29157da73e Cleanup .gitignores. 2019-06-20 10:36:14 +02:00
Rolf Bjarne Kvinge 523349bf69 Merge remote-tracking branch 'origin/d16-2' into xcode11-bump-mono-d16-2 2019-06-20 10:27:04 +02:00
monojenkins 4ccab3326c [system-dependencies] Add support for installing the expected CoreSimulator.framework version. (#6288)
This works around FB6149048: "Xcode 11 beta 1 breaks older simulators in Xcode 10.2."

Ref: https://trello.com/c/bqkONZFo/142-fb6149048-xcode-11-beta-1-breaks-older-simulators-in-xcode-102

Backport of #6275.
2019-06-20 07:45:53 +02:00
Rolf Bjarne Kvinge c3757f5551
Build mono from source by default in all scenarios, not just CI. (#6363)
Many people are running into problems building xcode11 because they have to
"./configure --disable-packaged-mono" first.

So disable the packaged mono by default (and add a way to enable it again
manually with "./configure--disable-packaged-mono=no").
2019-06-20 07:44:34 +02:00
Sebastien Pouliot e6b8f0e9e6
[corenfc] Update for Xcode 11 beta 1 (#6370)
There was no changes in beta 2

There's a generator issue https://github.com/xamarin/xamarin-macios/issues/6366
that prevent a fully correct `NFCNdefTag` protocol
2019-06-19 19:11:55 -04:00
Sebastien Pouliot 4ba7455111
[replaykit] Update for Xcode 11 beta 2 (#6367) 2019-06-19 13:41:43 -04:00
Rolf Bjarne Kvinge f9d39c640b
Merge pull request #6164 from monojenkins/backport-pr-6159-to-d16-2
[d16-2] [Metal] Sprinkle [return: Release] on all 'new*' selectors. Fixes #5941.
2019-06-19 17:29:43 +02:00
Rolf Bjarne Kvinge 14cac96c90
[d16-2] Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279) (#6361)
* Bump VSMac to 8.1.0.2742 to fix msbuild issues (#6279)

* Bump VSMac to 8.1.0.2742 to fix msbuild issues

This is required to get the support for the msbuild `ToolsVersion`
change from `15.0` to `Current`.

* [tests][msbuild] Fix Binding resources test with updated msbuild

Test failure with updated msbuild and vsmac 8.1:

```
Xamarin.iOS.Tasks.NativeReferencesNoEmbedding("iPhone").ShouldNotUnnecessarilyRebuildBindingProject(True)
     Binding project build did not create package?
  Expected: True
  But was:  False

at Xamarin.iOS.Tasks.NativeReferencesNoEmbedding.ShouldNotUnnecessarilyRebuildBindingProject (System.Boolean framework) [0x000a0] in <74b8f7d8a53e40109916d305bb4d7403>:0
at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo cul
ture) [0x0006a] in <0519fa732e8845b6a809ce9180f541db>:0
```

The test builds the project multiple times. Before the 3rd build, the project
file's timestamp is updated and expects that the binding package will be
rebuilt. But it is not, because the target `_CreateBindingResourcePackage`
doesn't depend on that project file. So, add that to the target inputs.

* [nuget] Use xibuild to run nuget

Fix errors seen during `nuget restore` for tests:

```
Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xammac_tests/xammac_tests.csproj(213,3): error MSB4024: The imported project file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets" could not be loaded. Could not find file "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Mac/Xamarin.Mac.CSharp.targets"
```

* [xibuild] Fix incorrect mscorlib.dll being used (#6068)

* [xibuild] Fix incorrect mscorlib.dll being used

The `GuiUnit_NET_4_5` project, when built with `xibuild` uses the wrong `mscorlib.dll`.

From https://github.com/xamarin/xamarin-macios/issues/5760#issuecomment-472457202 :

```
- mscorlib.dll is being used from mono/4.5 and the other system assemblies are from mono/4.5-api
- GuiNet* project is built with xibuild

What is happening here is:

	xibuild sets[1] `SetToolsetProperty ("TargetFrameworkRootPath", FrameworksDirectory + Path.DirectorySeparatorChar);`
	which points to `/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks`.
	This causes $(FrameworkPathOverride) to be set[2] to `/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild-frameworks/.NETFramework/v4.5`,
	but that doesn't have a mscorlib.dll, so it gets reset[3] to /Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5/.

	If we don't set TargetFrameworkRoothPath, then we get `FrameworkPathOverride = /Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5-api`,
	causing `_ExplicitReference=/Library/Frameworks/Mono.framework/Versions/5.22.0/lib/mono/4.5-api/mscorlib.dll`(correct one) to be used.
```

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

1. https://github.com/xamarin/xamarin-macios/blob/master/tools/xibuild/Main.cs#L209
2. https://github.com/mono/msbuild/blob/xplat-master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L79
3. https://github.com/mono/msbuild/blob/xplat-master/src/Tasks/Microsoft.Common.CurrentVersion.targets#L84

* Revert "Workaround https://github.com/xamarin/xamarin-macios/issues/5760 in generator csproj"

This reverts commit 9bd927bb7f.

The previous commit for xibuild removes the need for this.

* [xibuild] Handle "incorrectly" cased msbuild property names  (#6202)

msbuild property names are case insensitive. While generating the custom
app.config, in `SetToolsetProperty(..)` we try to update the property if
it already exists. But the name lookup was case sensitive, thus causing
the lookup to fail, resulting in two entries for the same property name
differing only in case. Eg. `MSBuildSDKsPath` vs `MSBuildSdksPath`.

Fixed to ignore case.

Fixes https://github.com/mono/mono/issues/14765 .
2019-06-19 17:28:01 +02:00