Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
commit 08c1eb4 Author: Martin Baulig <[email protected]> Date: Tue Oct 30 02:45:50 2018 -0400 X commit b4185d8 Author: Martin Baulig <[email protected]> Date: Tue Oct 30 02:36:47 2018 -0400 X commit 3416bdb Author: Martin Baulig <[email protected]> Date: Mon Oct 29 22:55:20 2018 -0400 X commit 0b412c7 Author: Martin Baulig <[email protected]> Date: Mon Oct 29 20:48:09 2018 -0400 X commit 986946d Author: Martin Baulig <[email protected]> Date: Mon Oct 29 12:51:28 2018 -0400 X commit 4cf6eae Author: Martin Baulig <[email protected]> Date: Mon Oct 29 10:53:57 2018 -0400 X commit 9446c39 Author: Martin Baulig <[email protected]> Date: Mon Oct 29 10:23:17 2018 -0400 X commit 9f28ef6 Author: Martin Baulig <[email protected]> Date: Mon Oct 29 08:34:19 2018 -0400 X commit 21a0005 Author: Martin Baulig <[email protected]> Date: Mon Oct 29 08:13:09 2018 -0400 X commit 947524d Author: Martin Baulig <[email protected]> Date: Sun Oct 28 18:02:44 2018 -0400 X commit cfbcf6c Author: Martin Baulig <[email protected]> Date: Fri Oct 26 05:42:20 2018 -0400 X commit ae8fcaa Author: Martin Baulig <[email protected]> Date: Fri Oct 26 02:27:06 2018 -0400 X commit 41dac5b Author: Chris Hamons <[email protected]> Date: Thu Oct 25 11:56:23 2018 -0500 [macos] Add NSScrollView.AddFloatingSubview (#5040) - #5039 commit de197e3 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 17:47:05 2018 +0200 [introspection] Fix a few issues found on iPad Air 2 with iOS 12. (#5034) * [introspection] MPSCnnBinaryKernel's kernelHeight/kernelWidth are missing on iOS too. * [introspection] CoreNFC is not even available on all devices. commit 374898a Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 17:17:03 2018 +0200 [tests] Only build exactly what's neded for running XM tests on older bots. (#5038) Also build what we can in parallel (and manually building shared dependencies first). commit 82e0c73 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Oct 26 17:15:00 2018 +0200 Bump minimum mono one that has 'mono_dangerous_add_raw_internal_call'. commit 93e7286 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Oct 26 15:23:36 2018 +0200 [mmptest] Less hardcoding. commit 7449e51 Author: Aleksey Kliger (λgeek) <[email protected]> Date: Fri Oct 26 00:46:28 2018 -0500 [2018-08][watchos] Use mono_dangerous_add_raw_internal_call for watchOS icalls (#5030) * Add optional mono_dangerous_add_raw_internal_call to exports.t4 * Use mono_dangerous_add_raw_internal_call on watchOS for icall registration Internal calls added with mono_dangerous_add_raw_internal_call run in GC Unsafe mode under cooperative and hybrid suspend, whereas internal calls added with mono_add_internal_call run in GC Safe mode since mono/mono@5756ba4 in order for hybrid suspend to be a transparent replacement for preemptive suspend (the old default). The icalls in GC Unsafe mode have a responsibility not to block indefinitely without manually performing a thread state transition to GC Safe mode, and in return they avoid a thread state transition when the icall is invoked from a managed method. commit 0b27eef Author: Marek Safar <[email protected]> Date: Thu Oct 25 20:14:41 2018 +0200 Bump mono commit 36209e5 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 12:31:26 2018 +0200 Remove 10.7 & 10.8 availability attributes, since they're redundant now. commit 2755245 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 17:04:56 2018 +0200 [tests] More min macOS version setting to 10.9. commit 3f5aceb Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 09:50:21 2018 +0200 Bump guiunit to get updated min macOS version. Commit list for mono/guiunit: * mono/guiunit@9f67042 Bump min macOS version to 10.9. * mono/guiunit@0c3159a [Harness] Fix exit code of 0 being reported in case of exceptions in the harness * mono/guiunit@9b7497c Merge pull request #15 from mono/fix-more-warnings * mono/guiunit@a264470 Fix more warnings * mono/guiunit@dd094e7 Merge pull request #14 from mono/fix-warnings * mono/guiunit@b3afede Fix build warnings Diff: mono/guiunit@1306b0d...9f67042 commit 04b7c94 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 09:13:56 2018 +0200 Bump min mono version for XM system apps. Using a system mono < 5.18 results in a TypeLoadException: Could not resolve type with token 01000032 from typeref (expected class 'Mono.ISystemDependencyProvider' in assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089') commit cca50fe Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 00:10:28 2018 +0200 Mono 2018-08 requires macOS 10.9+, so Xamarin.Mac must as well. commit 0ebc514 Merge: 545c7bf d836c88 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 25 09:54:07 2018 +0200 Merge remote-tracking branch 'origin/master' into mono-2018-08 commit d836c88 Author: Jeffrey Stedfast <[email protected]> Date: Wed Oct 24 20:11:17 2018 -0400 [msbuild] Always set IOSDebugOverWiFi to true for WatchOS apps/extensions (#5035) Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/712824 commit 51e7a47 Author: Vincent Dondain <[email protected]> Date: Wed Oct 24 20:10:55 2018 -0400 [coregraphics] Make MatrixOrder a normal enum instead of a nested enum (#5036) This enum might prove useful to other APIs in the future so move outside of `CGAffineTransform`. commit 74576fa Author: Rolf Bjarne Kvinge <[email protected]> Date: Wed Oct 24 23:58:14 2018 +0200 [Metal/SpriteKit] Fix availability attributes on a few API. (#5033) commit 9688c42 Author: Bernhard Urban <[email protected]> Date: Wed Oct 24 21:24:22 2018 +0200 Bump mono and enable monotouch-test with interpreter (#5023) * Bump Mono 2018-06 Commit list for mono/mono: * mono/mono@c0fe7243790 [aot] Reenable recursion checking when initing shared got entries (#11295) * mono/mono@f55f7e53e36 [interp] use unsigned conversion for nuint (#11285) * mono/mono@5986920bdbc [2018-06] [arm64] Remove the limitation on the number of nullable arguments for dyncalls (#11266) * mono/mono@665a308c397 [WinForms] Propagate the flags from DrawTextInternal to MeasureTextInternal (#11251) * mono/mono@5ed4143b4f4 [2018-06] Crash Reporter V2 (#11162) * mono/mono@f0db92c2b6d [interp] Implement interpreter entry trampolines on amd64 (#10978) (#11165) * mono/mono@c1f1a7bfed9 [ci] Move OSX .pkg build to a separate bot pool * mono/mono@d80ced607b4 [aot] Ensure shared got entries are initialized before loading methods (#11225) * mono/mono@d07c626a748 [pkg] Add preinstall which removes existing Mono of the same version (#11209) * mono/mono@cda3acc57cd [sdks] futimens and futimes symbols are missing on anything earlier than 10.13 (#11174) * mono/mono@226e91a0644 Bump xunit-binaries Diff: mono/mono@2343f26...c0fe724 * [tests] enable monotouch-test with --interpreter on Jenkins commit 545c7bf Merge: 63025fe 0ddc355 Author: Rolf Bjarne Kvinge <[email protected]> Date: Wed Oct 24 13:49:26 2018 +0200 Merge remote-tracking branch 'origin/master' into mono-2018-08 commit 0ddc355 Author: Rolf Bjarne Kvinge <[email protected]> Date: Wed Oct 24 07:54:50 2018 +0200 [Foundation] Fix compiler warnings in NSUrlSessionHandler. (#5032) Fix these warnings: src/Foundation/NSUrlSessionHandler.cs(71,57): warning CS3001: Argument type 'NSUrlSessionConfiguration' is not CLS-compliant src/Foundation/NSUrlSessionHandler.cs(89,14): warning CS0618: 'NSUrlSession.FromConfiguration(NSUrlSessionConfiguration, NSUrlSessionDelegate, NSOperationQueue)' is obsolete: 'Use the overload with a 'INSUrlSessionDelegate' parameter.' commit ad67a39 Author: Rolf Bjarne Kvinge <[email protected]> Date: Wed Oct 24 07:52:58 2018 +0200 [runtime] Improve diagnostics/behavior in case of failure to contact the IDE when debugging. (#5029) When debugging watchOS apps on device, we wait forever [1] for a connection to be established to the IDE (iOS apps wait for only 2 seconds, but that's because the app will be killed after a while, which we avoid on watchOS by attaching the native debugger). Unfortunately our error handling was not quite optimal, which meant that if the connection to the IDE failed, we'd wait forever instead of launching the app without attaching the debugger. So improve this, by printing "Waiting for connection to the IDE..." messages while trying to connect, and printing detailed log messages if the connection attempt fails (as well as terminating the wait and launching the watch app). [1] In this case forever technically means "1 hour". commit 63025fe Author: Martin Baulig <[email protected]> Date: Wed Oct 24 00:10:10 2018 -0400 [security]: `NATIVE_APPLE_CERTIFICATE` should now be defined on watchOS as well. commit d2a9a57 Author: Sebastien Pouliot <[email protected]> Date: Tue Oct 23 14:15:58 2018 -0400 [mtouch] Display a specific error is a .framework binary is invalid. Fixes #5028 (#5031) Instead of a generic `MT0000` caused by an exception reading the magic numbers of the binary framework file. This was caused be uncompressing an archive, with a symlink, into a file system that does not support symlinks (on Windows). ref: #5028 commit b403da0 Author: Sebastien Pouliot <[email protected]> Date: Mon Oct 22 21:54:54 2018 -0400 [uikit] Preserve method associated with `updateSearchResultsForSearchController:`. Fixes #5024 (#5027) This method is called back from iOS (or tvOS) so there's no managed reference pointing to it. However we know that if it's (private inner) type is present it's because the callback (from native) is possible so we can preserve the method conditionally (to the type presence). #5024 commit 74102bc Author: Rolf Bjarne Kvinge <[email protected]> Date: Tue Oct 23 01:52:45 2018 +0200 Use the zlib-helper.o library built by mono, instead of building our own. (#5021) This also makes it possible to simplify/remove some of our build logic. commit 0cbf960 Author: Jeffrey Stedfast <[email protected]> Date: Mon Oct 22 10:22:52 2018 -0400 Update mtouch-errors.md commit 502d811 Author: Jeffrey Stedfast <[email protected]> Date: Mon Oct 22 10:20:57 2018 -0400 Update mtouch-errors.md commit d899d4f Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Oct 22 16:14:26 2018 +0200 Remove bitrotted support for a separate mono submodule for watchOS support. (#5022) Unce upon a time we used a separate mono submodule for watchOS support, to make development of watchOS support easier (we referenced mono/master, to avoid backporting fixes for watchOS support through various release branches in mono). This only worked until our watchOS support became stable, since then we had to start using a stable version of mono for watchOS support. This means that our build support for using a separate mono clone for watchOS support is no longer needed; and in any case it's broken because of build changes done later. commit f87f3b8 Author: Vincent Dondain <[email protected]> Date: Mon Oct 22 08:42:52 2018 -0400 [coregraphics] Add 'MatrixOrder' overload for Scale, Rotate and Translate (#5011) - Fixes #4698: CGAffineTransform.Scale does not work like Swift's .scaledBy(x:y:) (#4698) - 'Scale' monotouch-test now covers the new overload for the new multiplication order. - Changed the Scale test's values so we have different values for 'x0' (it was always 0 before) and so it matches the test case from the bug report. * Same fix for Rotate and Translate commit c378d6b Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Oct 22 07:57:16 2018 +0200 Add a UserType flag for registered types, and use it to improve the performance for is_user_type. (#5017) * Refactor type map to have a separate flag field for each type instead of magic location in the array. Refactor the type map to have a separate flag field for each type instead of a magic location in the array. This simplifies some code, but also allows us to introduce more flags in the future (which becomes increasingly complex if the location in the array is to determine yet another value). This has neglible performance impacts. * Add a UserType flag for registered types, and use it to improve the performance for is_user_type. Reflection in the Objective-C runtime is apparently quite slow, so try to avoid it by computing the information we need for determining whether a particular Objective-C type represents a user type or not in the static registrar. We store this information in a flag for the type in question in the type map, and use a binary search to search the type map when needed. This provides a significant improvement, in particular in the dontlink scenario (probably because there are many more Objective-C types in the app, which made Objective-C reflection slow). In fact, it somehow made the dontlink scenario so fast that it's faster than the linkall scenario (which also improved, but not nearly as much). While quite inexplicable, it's a consistent result I've seen over multiple test runs. Numbers ======= Test case: rolfbjarne/TestApp@004283d Fix 1 refers to PR #5009. Fix 2 refers to PR #5013. Fix 3 refers to PR #5016. Fix 4 is this fix. iPad Air 2 ---------- | Configuration | Before | After fix 1 | After fix 2 | After fix 3 | After fix 4 | Improvement from fix 3 to fix 4 | Cumulative improvement | | ------------------- | ------ | ----------: | -----------: | -----------: | -----------: | ------------------------------: | ---------------------: | | Release (link all) | 477 ms | 481 ms | 224 ms | 172 ms | 148 ms | 24 ms (14%) | 329 ms (69%) | | Release (dont link) | 738 ms | 656 ms | 377 ms | 201 ms | 146 ms | 55 ms (27%) | 592 ms (80%) | iPhone X -------- | Configuration | Before | After fix 1 | After fix 2 | After fix 3 | After fix 4 | Improvement from fix 3 to fix 4 | Cumulative improvement | | ------------------- | ------ | ----------: | -----------: | -----------: | -----------: | ------------------------------: | ---------------------: | | Release (link all) | 98 ms | 99 ms | 42 ms | 31 ms | 29 ms | 2 ms ( 6%) | 69 ms (70%) | | Release (dont link) | 197 ms | 153 ms | 91 ms | 43 ms | 28 ms | 15 ms (35%) | 169 ms (86%) | When linking all assemblies, the type map has 24 entries, and when not linking at all it has 2993 entries. This is part 4 (the last) of multiple fixes for #4936. The total speed-up is 69-86% (3-7x faster). commit 097e3fc Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Oct 19 18:33:45 2018 +0200 [Class] Cache the IntPtr constructors in a dictionary. (#5016) Using reflection to find these constructors is computation-intensitive, so cache the results. Numbers ======= Test case: rolfbjarne/TestApp@004283d Fix 1 refers to PR #5009. Fix 2 refers to PR #5013. Fix 3 is this fix. iPad Air 2 ---------- | Configuration | Before | After fix 1 | After fix 2 | After fix 3 | Improvement from fix 2 to fix 3 | Cumulative improvement | | ------------------- | ------ | ----------: | -----------: | -----------: | ------------------------------: | ---------------------: | | Release (link all) | 477 ms | 481 ms | 224 ms | 172 ms | 52 ms (23%) | 305 ms (64%) | | Release (dont link) | 738 ms | 656 ms | 377 ms | 201 ms | 176 ms (47%) | 537 ms (73%) | iPhone X -------- | Configuration | Before | After fix 1 | After fix 2 | After fix 3 | Improvement from fix 2 to fix 3 | Cumulative improvement | | ------------------- | ------ | ----------: | -----------: | -----------: | ------------------------------: | ---------------------: | | Release (link all) | 98 ms | 99 ms | 42 ms | 31 ms | 11 ms (26%) | 67 ms (68%) | | Release (dont link) | 197 ms | 153 ms | 91 ms | 43 ms | 48 ms (53%) | 154 ms (78%) | When linking all assemblies, the type map has 24 entries, and when not linking at all it has 2993 entries. This is part 3 of multiple fixes for #4936. commit 1279dd1 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Oct 19 16:54:44 2018 +0200 Get the F# binaries from macios-binaries instead of building them every time. (#5015) It's still possible to build from source if desired. Also remove the fsharp submodule (it will be cloned manually only if building from source). commit ac87108 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Oct 19 16:04:36 2018 +0200 [Class] Make looking up a System.Type given a native Class instance faster (#5013) Cache the Class -> System.Type lookup in an array. I could also have used a dictionary, but there are a couple of disadvantages compared to the array approach: * A dictionary would require a lock every time it's read/written to. The array is created at launch, and after that we don't have to care about thread safety because it's safe to do the slow lookup multiple times. * Its memory requirements would be higher with more elements (in particular since we'd not only need to store the Type instance, but also a boolean determining whether it's a user type or not). * It's ~1% slower (probably due to the lock). Numbers ======= Test case: rolfbjarne/TestApp@004283d Fix 1 refers to PR #5009. Fix 2 is this fix. iPad Air 2 ---------- | Configuration | Before | After fix 1 | After fix 2 | Improvement from fix 1 to fix 2 | Cumulative improvement | | ------------------- | ------ | ----------: | -----------: | ------------------------------: | ---------------------: | | Release (link all) | 477 ms | 481 ms | 224 ms | 257 ms (53%) | 253 ms (53%) | | Release (dont link) | 738 ms | 656 ms | 377 ms | 279 ms (43%) | 459 ms (62%) | iPhone X -------- | Configuration | Before | After fix 1 | After fix 2 | Improvement from fix 1 to fix 2 | Cumulative improvement | | ------------------- | ------ | ----------: | -----------: | ------------------------------: | ---------------------: | | Release (link all) | 98 ms | 99 ms | 42 ms | 57 ms (58%) | 56 ms (57%) | | Release (dont link) | 197 ms | 153 ms | 91 ms | 62 ms (41%) | 106 ms (54%) | When linking all assemblies, the type map has 24 entries, and when not linking at all it has 2993 entries. This is part 2 of multiple fixes for #4936. commit 900356c Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Oct 19 07:33:15 2018 +0200 [Class] Sort our array of Class -> token references so that we can do binary instead of linear searches in it. (#5009) Our type map has two sections: first come all the wrapper types, then all the custom types. This means we need to sort these two sections separately, since code elsewhere depends on this split in order to determine if a type is a custom type or not. We also need a minor modification in the array of skipped types, since it contained indexes into the type map, which won't be valid after is has been sorted. Instead store a type reference for the actual type in the array, and use that to search the type map for the corresponding Class. This is a little bit slower, but the results are cached in a dictionary, so it'll only happen once for each type. The performance is slightly slower when the type map has very few entries, but that is repaid many times over when the number of entries go up. Numbers ======= Test case: rolfbjarne/TestApp@004283d iPad Air 2 ---------- | Configuration | Before | After | Improvement | | ------------------- | ------ | ------ | ------------: | | Release (link all) | 477 ms | 481 ms | -4 ms (-0,8%) | | Release (dont link) | 738 ms | 656 ms | 82 ms (11%) | iPhone X -------- | Configuration | Before | After | Improvement | | ------------------- | ------ | ------ | ----------: | | Release (link all) | 98 ms | 99 ms | -1 ms (-1%) | | Release (dont link) | 197 ms | 153 ms | 44 ms (22%) | When linking all assemblies, the type map has 24 entries, and when not linking at all it has 2993 entries. This is part 1 of multiple fixes for #4936. commit 1ec90f0 Author: monojenkins <[email protected]> Date: Thu Oct 18 14:37:30 2018 -0400 [uikit] Duplicate bindings for 'UIScrollView.ContentOffset' to get correct availability information. Fixes #4893 (#5007) `ContentOffset` was moved to `UIFocusItemScrollableContainer` in iOS 12. Since it's a new protocol it's decorated as introduced in iOS 12 - but the API was actually already available for a long time. The _trick_ is to keep the original binding inside `UIScrollView` so it overrides the protocol and keeps the correct availability info. It requires adding `new` to bindings to avoid compiler warnings. reference: #4893 --- from @rolfbjarne In iOS 12 this property was moved to a protocol, but that protocol's availability attributes limits it to iOS 12, not iOS 2 where this property was originally introduced. This is problematic, because it means we'll throw a PlatformNotSupportedException if someone tries to call it on 32-bit iOS. So put the property back on UIScrollView, so that the generated code ends up with the right availability attributes (and a correct 32-bit implementation). #5004 commit 99641c7 Author: Sebastien Pouliot <[email protected]> Date: Thu Oct 18 14:03:17 2018 -0400 [msbuild] Avoid possible NullReferenceException in ScnToolTaskBase. Fixes #4039 (#5006) `EnvironmentVariables` can be null (not empty) and cause the NRE in the attached test case. It's not clear that the extra logic is needed if we were using `xcrun`. There's an enhancement for this #4634 reference: #4039 commit 5ad55d6 Author: Sebastien Pouliot <[email protected]> Date: Thu Oct 18 11:16:24 2018 -0400 [tests][linkall] Add a check that the Makefile produced version number is 'legit'. Fixes #4859 (#5005) History: a marge conflict caused a version string to become "12.3." and this was found in the API diff much later. reference: #4859 commit dca1f47 Author: Miguel de Icaza <[email protected]> Date: Thu Oct 18 06:31:39 2018 -0400 [UIKit] UIGestureRecognizer, support a way of unsubscribing without creating cycles (#4729) * [UIKit] UIGestureRecognizer, support a way of unsubscribing without creating cycles This now tracks all the uses of AddTarget with delegates by recording the Token/Selector pair and making `Dispose()` release all the linkage as well as providing an enumerator that can be used to get all the registered Action handlers - this can then be used with .First() and then passed to `RemoveTarget`. This addresses #4190 This initial patch is here for discussion of the approach, want to review and test this before we merge. * Simplify code a little bit. * Add test. * [tests] Add an NSAutoreleasePool to make GestureRecognizerTest.NoStrongCycles happy on 32-bit. commit d2bcd4b Author: Martin Baulig <[email protected]> Date: Wed Oct 17 15:12:39 2018 -0400 Bump Mono. commit ee1f7dc Author: Rolf Bjarne Kvinge <[email protected]> Date: Wed Oct 17 14:42:29 2018 +0200 [CoreFoundation] Implement missing dispatch API. Fixes #4606. (#4967) * [CoreFoundation] Add DispatchQueue.DispatchBarrierSync. * [CoreFoundation] Bind dispatch_queue_[set|get]_specific. * [CoreFoundation] Bind dispatch_queue_get_qos_class. * [CoreFoundation] Bind dispatch_queue_create_with_target. * Add tests. * Update xtro. * Add missing availability attributes. * [tests] Do a version check before testing new API. * Remove redundant code. commit 6751f27 Author: Sebastien Pouliot <[email protected]> Date: Wed Oct 17 08:25:37 2018 -0400 [tests][mmp] Move TypeDescriptor (regression) tests to unit tests (#4994) Also move some tests to share more (now and in future commits) with iOS linker-related tests. Part of #4975 commit 6044a74 Author: Rolf Bjarne Kvinge <[email protected]> Date: Wed Oct 17 07:13:25 2018 +0200 Bump maccore to get fix for xamarin/maccore#1090. (#4989) * Bump maccore to get fix for xamarin/maccore#1090. Diff: https://github.com/xamarin/maccore/compare/46a12247947cdf546e0e07f4e7062ef2f5fcf515...b93ee3155d89e4414c4c228cf19bb89489b03bb1 * Bump maccore again. Commit list for xamarin/maccore: * xamarin/maccore@b35c3a8d76 Build mlaunch with msbuild instead of xbuild. (#1091) Diff: https://github.com/xamarin/maccore/compare/b93ee3155d89e4414c4c228cf19bb89489b03bb1...b35c3a8d7682c8482c7c749d7c1670b3d4bbed5c commit c308071 Author: Martin Baulig <[email protected]> Date: Tue Oct 16 15:18:33 2018 -0400 Revert "[monotouch-test] Disable X509Certificate(byte[]) tests on watchOS (#4942)" This reverts commit d003a9b. commit 8e72ea8 Author: Bernhard Urban <[email protected]> Date: Tue Oct 16 20:05:19 2018 +0200 [tests] improve MonoWeakReferenceTest to avoid false pinning (#4961) Fixes an issue when executed with interpreter. Now, the test is closer to what we do in the runtime test: https://github.com/mono/mono/blob/831e73abcd5b9e10b4aaff7872b8d68e8e0f60fd/mono/tests/weak-fields.cs https://github.com/mono/mono/blob/831e73abcd5b9e10b4aaff7872b8d68e8e0f60fd/mono/mini/TestHelpers.cs commit e05d87d Author: Sebastien Pouliot <[email protected]> Date: Tue Oct 16 13:58:08 2018 -0400 [mediaplayer] Fix NRE in MPNowPlayingInfoCenter wrt null dictionary entries. Fixes #4988 (#4992) The custom `TryGetValue` could return `true` and an `out null`. That was fine for many items, e.g. converting `null` to `NSString` or `NSDate` is fine. However this cause an `NullReferenceException` when trying to create arrays (thru `NSArray`) or converting `NSNumber` into value types. The _normal_ `TryGetValue` behavior fixes this - and avoid extraneous (and non-required) conversions of `null` items. ref: #4988 commit e73b1a9 Author: Sebastien Pouliot <[email protected]> Date: Tue Oct 16 13:57:25 2018 -0400 [mac] Fix logic to include branch name in packages. Fixes #4990 (#4991) so it can be reported inside VSM. The logic was not updated (for XM) with the simpler one we can use on the internal Jenkins bots. ref: #4990 commit 60b06b9 Author: Bernhard Urban <[email protected]> Date: Tue Oct 16 17:25:35 2018 +0200 [tests] make Symbols.FunctionNames aware of interpreter (#4973) commit 13b2647 Author: Rolf Bjarne Kvinge <[email protected]> Date: Tue Oct 16 16:55:11 2018 +0200 Fix the llvm32 build by using Xcode 9.4. (#4985) Since Xcode 10 doesn't support building 32-bit macOS binaries. commit b2a596d Author: Sebastien Pouliot <[email protected]> Date: Mon Oct 15 20:00:03 2018 -0400 Apply XM audit fixes from `xcode10` (#4986) Backport of b40230c commit 1082ce7 Author: Chris Hamons <[email protected]> Date: Mon Oct 15 10:43:17 2018 -0500 Add xtro test for [Deprecated] attributes and fix up usages (#4966) - #4431 commit 8feb753 Merge: 0249138 e8b87b7 Author: Sebastien Pouliot <[email protected]> Date: Mon Oct 15 11:23:27 2018 -0400 Merge branch 'master' into mono-2018-08 commit e8b87b7 Author: Sebastien Pouliot <[email protected]> Date: Mon Oct 15 11:15:20 2018 -0400 [tests][mmp] Convert old mmp calendar regression tests to unit tests (#4983) commit 250fd97 Merge: 904be25 5fbfacc Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Oct 15 16:55:53 2018 +0200 Merge pull request #4111 from radical/msbuild-port [msbuild] Move from xbuild to msbuild commit 904be25 Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Oct 15 16:51:46 2018 +0200 [xharness] Generate a system variant of dont link, and run it using the oldest mono version we support in Jenkins. Fixes #4121. (#4968) This is an addition to the tests we already run on older macOS bots (and as such will not execute on our PR bots). Fixes #4121. commit 0249138 Merge: 25ae88f d29ede7 Author: Aleksey Kliger <[email protected]> Date: Mon Oct 15 10:50:38 2018 -0400 Merge remote-tracking branch 'origin/master' into mono-2018-08 commit d29ede7 Author: Chris Hamons <[email protected]> Date: Mon Oct 15 09:12:56 2018 -0500 [mmp] Include libmono-system-native.a when embedding mono if it exists (#4980) commit 855e682 Author: Sebastien Pouliot <[email protected]> Date: Mon Oct 15 08:26:49 2018 -0400 [linker] Set flag when processing ParameterInfo.get_Name from XML files. Fixes #4978 (#4981) Commit 996d906 fixed the use of XML files. However it did not set the flags so if it's used in both XML and in code then the dictionary is being added twice, which throws an exception like ``` error MT2102: Error processing the method 'System.Boolean SignalGo.Shared.Helpers.ReflectionHelper/d__0::MoveNext()' in the assembly 'SignalGo.Shared.dll': An item with the same key has already been added. Key: System.String System.Reflection.ParameterInfo::get_Name() ``` reference: #4978 commit 5fbfacc Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Oct 15 10:41:33 2018 +0200 [tests] Only restore packages.config, not the mtouch test project. Restoring the mtouch.csproj makes nuget try to restore Mono.Cecil.csproj as well, which doesn't work. So just restore what's listed in our packages.config instead. commit d13f66a Author: Sebastien Pouliot <[email protected]> Date: Fri Oct 12 17:09:20 2018 -0400 [appkit] Add missing `[NullAllowed]` on `NSView.NextKeyView`. Fixes #4558 (#4979) Confirmed with headers. reference: #4558 commit f4dbb68 Author: Sebastien Pouliot <[email protected]> Date: Fri Oct 12 11:56:57 2018 -0400 [foundation] Fix inlined 'NSUserActivity (IntentsAdditions)' to work if nothing else from Intents is used. Fixes #4894 (#4974) The selectors `suggestedInvocationPhrase` and `setSuggestedInvocationPhrase` needs Intents.framework to be loaded into memory. Otherwise an exception occurs: ``` Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[NSUserActivity setSuggestedInvocationPhrase:]: unrecognized selector sent to instance 0x19cb3f00 ``` When the linker is enabled there's no clue (e.g. namespaces from preserved types) that `Intents` is required to call the property. The fix is to provide an hint that will force the linker to keep a type (a small enum available in all platforms in this case) which tells `mtouch` (based on the type's namespace) to instruct the native linker (Apple's `ld`) to [weak]link the Intents.framework in the application executable. Note: other selections from the category works fine. reference: #4894 commit 40288e4 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 11 23:08:59 2018 +0200 Bump mono. (#4971) Commit list for mono/mono: * mono/mono@2343f267067 [sdks] Add cmake toolchain file for LLVM MXE builds (#11056) * mono/mono@46b723d6b01 [2018-06] [sdks] Create archive targets for pre-building on CI (#10936) * mono/mono@ab3c897d685 Merge pull request #10997 from lewurm/2018-06-interp-fixes-for-native-type * mono/mono@914a62ab2e7 [interp] introduce float R4 stack type * mono/mono@62f23a83652 [interp] support ntype.ToString () * mono/mono@2c48c62e66f [interp] support nfloat.*Infinity * mono/mono@5c5a48b1449 [interp] support ntype.Equals () * mono/mono@13e412ee52a [interp] support ntype.CompareTo () * mono/mono@a576a799b16 [interp] fix op_implicit/op_explicit conversions for native types * mono/mono@1d9378713e6 [sdks/ios] Build libMonoPosixHelper for device architectures, so that zlib-helper.o is created. (#10921) (#10970) * mono/mono@6e48ad4f7b1 Merge pull request #10905 from monojenkins/backport-pr-10899-to-2018-06 * mono/mono@d050e323ed9 [runtime] Fix undefined pthread_main_np (#10930) * mono/mono@b549fa7f32a [Reflection] Fix issue with finding types in module using an asterisk as filter criteria * mono/mono@0dffbef2690 Bump corefx to disable more tests * mono/mono@6c46acfe697 [runtime] Disable stack guard for main thread on osx * mono/mono@46e0249d4cd [sdks] One more update to get XA PR builds working on Linux (#10855) * mono/mono@910395a05f6 corefx bump * mono/mono@2cdfb380a3e [2018-06] [System]: Make sure `HttpWebRequest` observes exceptions on timeout. #10488. (#10732) * mono/mono@aebef84fa2c [merp] Fix return value handling of posix_spawn (#10828) * mono/mono@59f2dbf28b0 [sdks] Debian Linux doesn't need to build MXE (#10819) * mono/mono@401bce867d3 Bump msbuild to track mono-2018-06 * mono/mono@65737564b04 Bump corefx * mono/mono@40d991c3257 [SDKS] Build host runtime with correct bitness (#10742) * mono/mono@1a71d5101f2 [crash] Fix summarize_frame assertion * mono/mono@8f36212ad3a [2018-06] Ignore some xunit tests for XA (non compatible with xunit 2.4) (#10721) * mono/mono@410792459a8 [corlib] Makes remoting test more robust (and disable it on mobile) * mono/mono@7dd65f79a53 [mono-api-html] Render something for fields with marshalling info. (#10698) * mono/mono@7c898271e73 [offset-tool] Error out when parsing fails. (#10696) * mono/mono@adbb8f72c8b [2018-06] Implement IEnumerable for ConditionalWeakTable (#10657) Diff: mono/mono@1b18f39...2343f26 commit 7c1d23d Author: Chris Hamons <[email protected]> Date: Thu Oct 11 09:14:48 2018 -0500 Bind 2 high visibility PrintCore APIs (#4933) - #4713 commit 4362842 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 11 12:25:47 2018 +0200 [mmptests] Update according to MSBuild changes. commit ffd85c9 Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 11 08:53:44 2018 +0200 [generator] Throw PlatformNotSupportException in 32-bit mode for 64-bit-only iOS API. Fixes #4689. (#4954) Throw PlatformNotSupportedException for iOS API that was introduced in iOS 11+ in 32-bit mode, since that API is clearly not available in any 32-bit capable iOS version. This makes the 32-bit version of Xamarin.iOS.dll smaller (from 15.282.176 bytes to 14.575.616 bytes, ~700kb smaller - small enough that this makes the dontlink test work in 32-bit mode again on device). Fixes #4689. commit 745c18c Merge: 42645d5 f96faaa Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 11 07:30:35 2018 +0200 Merge remote-tracking branch 'origin/master' into msbuild-port commit f96faaa Author: Rolf Bjarne Kvinge <[email protected]> Date: Thu Oct 11 07:26:55 2018 +0200 [CoreFoundation] Refactor Dispatch code to take advantage of recent code improvements. (#4939) * [CoreFoundation] Make DispatchObject inherit from NativeObject to share more code. * [CoreFoundation] Replace calls to Check () with calls to GetCheckedHandle () to reuse more code. * [CoreFoundation] Simplify a bit by reusing code in base constructors. * [CoreFoundation] Use Handle instead of handle. * [CoreFoundation] Use InitializeHandle instead of setting the 'handle' field. * [CoreFoundation] Remove temporary 'handle' field. * [CoreFoundation] Remove needless 'unsafe' blocks. * Reintroduce DispatchObject.Check, since it's public API. commit 73fbb53 Author: Ankit Jain <[email protected]> Date: Wed Oct 10 17:14:31 2018 -0700 [msbuild] Enable nuget package conflict resolution (#4945) Fixes mono/mono#10602 . From the issue: ``` We need to enable this to support the system assemblies conflict resolution which we now rely on for any new packages to enhance developers experience and get us out of dependency on specific package versions. ``` commit 42645d5 Author: Rolf Bjarne Kvinge <[email protected]> Date: Tue Jul 31 11:48:15 2018 +0200 [tests][msbuild] Seems like we need to copy System.Reflection.Metadata.dll locally, since the MSBuild dlls need it. commit acad87b Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Jul 30 16:03:35 2018 +0200 Bump system mono to 5.16 to see if that gets an MSBuild with the fixes we need for this PR. commit 2e75028 Author: Rolf Bjarne Kvinge <[email protected]> Date: Mon Jul 30 16:00:55 2018 +0200 [tests] Set XamarinMacFrameworkRoot as an environment variable when running MSBuild tests. Set XamarinMacFrameworkRoot as an environment variable when running MSBuild tests, because we have command-line tools that needs it (bgen), and only passing it as a MSBuild parameter doesn't reach the environment (and any subprocesses). commit 06d7410 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Jul 27 17:40:29 2018 +0200 Remove debug spew. commit 50e0554 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Jul 27 17:40:29 2018 +0200 [xharness] Process Import elements, but don't add LogicalName to them. commit afcad3b Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Jul 27 11:41:23 2018 +0200 [xharness] Set the right variable to point msbuild to our locally built xbuild targets. commit 19d9a64 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Jul 27 11:40:53 2018 +0200 [xharness] Don't add LogicalName beneath Import elements, it doesn't work with MSBuild. commit 516aab9 Merge: 16e512a 9e31d07 Author: Rolf Bjarne Kvinge <[email protected]> Date: Fri Jul 27 09:43:14 2018 +0200 Merge remote-tracking branch 'origin/master' into msbuild-port commit 16e512a Author: Ankit <[email protected]> Date: Mon May 21 19:42:30 2018 -0400 Revert "[msbuild] Add forward compatibility with symlinks support (#648)" This can be reverted as we have now moved to msbuild assemblies, and they already have this property. This reverts commit d45f52f. commit 526f009 Author: Ankit <[email protected]> Date: Mon May 21 16:13:11 2018 -0400 [tests] Fix Xamarin.iOS.Tasks.TargetTests.GenerateBundleName_ExecutableProject msbuild has the path in it's original form (with windows slashes). ``` Test Failure : Xamarin.iOS.Tasks.TargetTests.GenerateBundleName_ExecutableProject #3 String lengths are both 42. Strings differ at index 3. Expected: "bin/iPhoneSimulator/Debug/MySingleView.app" But was: "bin\\iPhoneSimulator\\Debug\\MySingleView.app" --------------^ at Xamarin.iOS.Tasks.TargetTests.GenerateBundleName_ExecutableProject () [0x00054] in /Users/ankit/dev/xamarin-macios/msbuild/tests/Xamarin.iOS.Tasks.Tests/TargetTests/TargetTests.cs:394 ``` commit b578593 Author: Ankit <[email protected]> Date: Tue May 22 14:17:31 2018 -0400 [tests] Remove TI.UnifiedTestConfig.DiagnosticMSBuild .. as we always build with diagnostic verbosity now. And remove the parameter from `TI.BuildProject(..)`. commit 6278f10 Author: Ankit <[email protected]> Date: Fri May 18 18:29:10 2018 -0400 [tests] Remove `bool useMSBuild` arg from ProjectTestHelpers .. as we always use msbuild now. commit 8f0df14 Author: Ankit <[email protected]> Date: Fri May 18 18:23:29 2018 -0400 [tests] Remove project path at the end of errors/warnings before comparing - msbuild adds project path at the end of errors/warnings, which xbuild didn't do. This caused two tests to fail: Xamarin.MMP.Tests.MMPTests.MM0132("inline-runtime-arch") Xamarin.MMP.Tests.MMPTests.MM0132("foo") commit 26abe1b Author: Ankit <[email protected]> Date: Thu May 17 17:38:11 2018 -0400 [tests] Fix tests that depend on tool output Lot of tests depend on comparing text in tool output. In xbuild, this was logged with `MessageImportance.Normal` but in msbuild the default is `MessageImportance.Low`. So, now the tool output doesn't show up in the normal verbosity log, causing the build to fail. Due to the number of tests depending on this, the default is changed to `diagnosticMSBuild = true`. A better way would probably (future) be to use a custom logger and get the output from the logging events. commit 6fc89ab Author: Ankit <[email protected]> Date: Thu May 17 16:12:38 2018 -0400 [tests] msbuild-mac Fix tests depending on msbuild specific strings Xamarin.MMP.Tests.MMPTests.BuildingSameBindingProject_TwoTimes_ShallNotInvokeMMPTwoTimes Xamarin.MMP.Tests.MMPTests.BuildingSameProject_TwoTimes_ShallNotInvokeMMPTwoTimes commit 9e53fd5 Author: Ankit <[email protected]> Date: Thu May 17 15:23:39 2018 -0400 [tests] Xamarin.iOS.Tasks.TargetTests.RebuildExecutable_TouchLibraryDll msbuild just copies the output assembly from obj to bin. So, the test needs to `touch` the file in `obj` to trigger a rebuild. commit b883c4f Author: Ankit <[email protected]> Date: Mon May 21 18:54:57 2018 -0400 [tests] Don't use WriteLine in TestHelpers.Loggers as msbuild adds that .. itself. commit 2805bea Author: Ankit <[email protected]> Date: Mon May 21 18:53:24 2018 -0400 [tests] Ensure that the correct msbuild.dll.config gets picked up .. by setting `MSBUILD_EXE_PATH` to the corresponding `MSBuild.dll`. commit 18f7168 Author: Ankit <[email protected]> Date: Mon May 21 18:42:37 2018 -0400 [tests] Fix DetectAppManifest_ExecutableProject_NoPList `ProjectInstance.GetPropertyValue` returns empty string if the property doesn't exist. https://docs.microsoft.com/en-us/dotnet/api/microsoft.build.execution.projectinstance.getpropertyvalue?view=netframework-4.7.2#Microsoft_Build_Execution_ProjectInstance_GetPropertyValue_System_String_ commit a5670f2 Author: Ankit <[email protected]> Date: Thu May 17 13:43:11 2018 -0400 [msbuild] Port the tasks and tests to use new msbuild API Mono's msbuild does not have implementation assemblies for the older APIs (think `Microsoft.Build.Engine`), and so as part of the port to msbuild we switch over to using the newer APIs. With this commit, we are buildable again (with lots of test failures!). commit 256035e Author: Ankit <[email protected]> Date: Wed May 9 17:50:22 2018 -0400 [msbuild] Update xbuild assembly references to msbuild ones .. and switch from v4.0 to the new .Core assemblies. commit c7b0514 Author: Ankit <[email protected]> Date: Wed May 9 17:00:38 2018 -0400 [msbuild] Replace all invocations of xbuild with msbuild - And map xbuild properties to msbuild ones for fallback paths `XBUILD_FRAMEWORK_FOLDERS_PATH -> TargetFrameworkFallbackSearchPaths` `MSBuildExtensionsPath -> MSBuildExtensionsPathFallbackPathsOverride` Note: Earlier with xbuild, the order of lookup for (example) `MSBuildExtensionsPath` was: 1. The value of $(MSBuildExtensionsPath), which we were setting to the in-tree path 2. /Library/Frameworks/Mono.framework/External/xbuild on osx 3. $prefix/lib/mono/xbuild (default location) And with the above changes, it will be: 1. The value of $(MSBuildExtensionsPath), which we are no longer setting, so the default path : $prefix/lib/mono/xbuild 2. The in-tree path, via $(MSBuildExtensionsPathFallbackPathsOverride) 3. /Library/Frameworks/Mono.framework/External/xbuild on osx Since, XI/XM targets are used via fallback path `/Library/Frameworks/Mono.framework/External/xbuild`, the default location doesn't matter. And the order of the remaining two remains the same. The same thing applies to the target frameworks also.
- Loading branch information