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

5128 Коммитов

Автор SHA1 Сообщение Дата
Manuel de la Pena a75c0b9ff7
[AppKit] Fix issue 4837 by moving the category to be inline. Fixes #4837 (#4875)
* [AppKit] Fix issue 4837 by moving the category to be inline. Fixes #4837

The NSControlEditingSupport needs to be inline to make the use of the
API simpler allowing users to inherit an override the method.

Fixes https://github.com/xamarin/xamarin-macios/issues/4837
2018-10-10 16:59:22 +02:00
Rolf Bjarne Kvinge 80881930c0
[install-source] Quiet warning. (#4964)
The line "Got empty dir for " is printed 6000 times when building on the bots;
this change will quiet this warning.
2018-10-10 15:44:40 +02:00
Rolf Bjarne Kvinge beb6ee6e9a
[src] Change argument order to csc to fix compiler warning. (#4960)
Fixes these warnings:

    build/mac/mobile/Foundation/NSUrl.g.cs(41,30): warning CS0660: 'NSUrl' defines operator == or operator != but does not override Object.Equals(object o)
    build/mac/mobile/Foundation/NSUrl.g.cs(41,30): warning CS0661: 'NSUrl' defines operator == or operator != but does not override Object.GetHashCode()
    build/mac/full/Foundation/NSUrl.g.cs(41,30): warning CS0660: 'NSUrl' defines operator == or operator != but does not override Object.Equals(object o)
    build/mac/full/Foundation/NSUrl.g.cs(41,30): warning CS0661: 'NSUrl' defines operator == or operator != but does not override Object.GetHashCode()
    build/mac/full/Foundation/NSUrl.g.cs(41,30): warning CS0660: 'NSUrl' defines operator == or operator != but does not override Object.Equals(object o)
    build/mac/full/Foundation/NSUrl.g.cs(41,30): warning CS0661: 'NSUrl' defines operator == or operator != but does not override Object.GetHashCode()
    build/mac/mobile/Foundation/NSUrl.g.cs(41,30): warning CS0660: 'NSUrl' defines operator == or operator != but does not override Object.Equals(object o)
    build/mac/mobile/Foundation/NSUrl.g.cs(41,30): warning CS0661: 'NSUrl' defines operator == or operator != but does not override Object.GetHashCode()

We've already ignored these warnings in NSUrl.cs [1], but since NSUrl is a
partial class, and the warning applies to the class, it seems the order the
source files are passed to csc determines whether csc reports the warning or
not.

[1] 1f5ba0b5c0/src/Foundation/NSUrl.cs (L30-L31)
2018-10-10 14:21:49 +02:00
Rolf Bjarne Kvinge ec88393dcf
[CoreFoundation] Simplify DispatchQueue.MainQueue. (#4925)
* The dispatch_get_main_queue function doesn't exist anywhere (tested on iOS 5.1.1 - iOS 12, macOS 10.7 - 10.14), and when called from native code, it's always an inlined function, so just remove the call completely.
    
* Getting the _dispatch_main_q symbol from either the current address space, libSystem or libdispatch works fine everywhere. Looking up something in the current address space is costly (according to 'man dlsym'), so stop doing that: only look in libdispatch (since that's where the symbol actually is according to 'nm').

* I find no reason for the lock in DispatchQueue.MainQueue, nor does history reveal anything helpful, so I removed the lock.
2018-10-10 10:48:22 +02:00
Rolf Bjarne Kvinge 45d2ade35e
[docs] Improve documentation for MT5216. Fixes #4445. (#4956)
Fixes https://github.com/xamarin/xamarin-macios/issues/4445.
2018-10-10 08:52:05 +02:00
Rolf Bjarne Kvinge 1f5ba0b5c0
[xharness] Improve logging a bit. (#4952)
* [xharness] Improve logging a bit.

* Use timestamp in more log paths.
* Create numbered log subdirectories to make things nicer to look at in a
  terminal (thousands of subdirectories can be annoying to shift through; this
  way there's an additional subdirectory level).

* Avoid string interpolation when not needed.
2018-10-10 08:05:26 +02:00
Xamarin Jenkins User dabd7720d0 [master] [msbuild] Implement support for faking the watchOS 4.3 SDK. Fixes #4810. (#4955)
* [msbuild] Implement support for faking the watchOS 4.3 SDK. Fixes #4810.

The App Store requires the arm64_32 architecture when building with Xcode 10.

Unfortunately we don't support arm64_32 quite yet, so we need to make the App
Store think watch extensions were built with Xcode 9.4 in order to pass
validation.

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

* [msbuild] Remove debug spew.
2018-10-09 13:27:04 -04:00
Rolf Bjarne Kvinge e4db45ed63
[xharness] Add length consistency check when capturing a log file. (#4951)
Sometimes files just shrink, and we must cope.

Two possible causes I can think of:

* System log rotation.
* We erase a simulator when trying to capture its system log.

There are probably many more causes, but two is more than enough to make sure
we don't fail when it happens.
2018-10-09 15:53:51 +02:00
Rolf Bjarne Kvinge 65b21ee48d
[CoreFoundation] Fetch a few static values lazily. (#4924)
* [CoreFoundation] Fetch a few static values lazily.

This avoids using static constructors, and also avoids fetching the values
unless they're needed.

* Generate the code for _dispatch_data_destructor_free instead of using a manual binding.

* [CoreFoundation] Bind kCFBooleanTrue/kCFBooleanFalse using the generator.

Since the generator doesn't know about CFBoolean, bind as IntPtr instead, and
fix most callers to use the handle directly, instead of getting a CFBoolean
object and then immediately getting the handle.

* Add back comment.

* Update xtro.

* Fix typo check.

* Use complete path for the library in the Field attribute.

* Update xtro.
2018-10-09 15:51:17 +02:00
Rolf Bjarne Kvinge 3684204f5a
Improve generator diff to ignore changes we don't care about. (#4947)
This means we'll get an empty diff if there are no generator changes, so
update the logic that detects/reports empty generator diffs.

Also there's no need to ignore mdbs anymore, since we don't create mdbs.
2018-10-09 07:35:00 +02:00
Rolf Bjarne Kvinge 232f9ecc8b
[xharness] Verify that there's at least 1GB of space left before trying to build or run each test. (#4937)
If there's not enough space, then fail the test.

This might help https://github.com/xamarin/maccore/issues/965 (test run hangs).
2018-10-08 07:32:50 +02:00
Rolf Bjarne Kvinge 28b1978387
Bundle Make.version with the packaged XM tests to fix testing. (#4938) 2018-10-08 07:09:09 +02:00
Chris Hamons c41673dce8
Add mmp error when combining partial static registrar and linking (#4932)
- https://github.com/xamarin/xamarin-macios/issues/4825
2018-10-05 09:43:53 -05:00
Rolf Bjarne Kvinge 2b3ef0e183 Try to make version numbers clearer, and establish some ground rules. (#4927) 2018-10-04 13:49:26 -04:00
Rolf Bjarne Kvinge bbbb5ba8a3
[runtime] Only write to NSLog in chunks of max 4096 characters. Fixes maccore#1014. (#4897)
It seems older iOS versions have a bug where big(ish) chunks of string can
cause it to hang.

Fix this by not writing big strings to NSLog, instead split them up in chunks.

Fixes https://github.com/xamarin/maccore/issues/1014.
2018-10-04 17:18:09 +02:00
Chris Hamons 3119129ab7 Remove references to bugzilla and replace with github (#4920)
https://github.com/xamarin/xamarin-macios/issues/3647
2018-10-04 09:43:55 -04:00
Sebastien Pouliot ac776ef924
[mtouch] Fix [InternalsVisibleTo] attribute parsing. Fixes #4895 (#4917)
The input is a "user" string, i.e. not some well formatted metadata.
Spec [1] mention it's comma separated, but spaces are optional.

[1] https://docs.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/specifying-fully-qualified-type-names#specifying-assembly-names

Fixes https://github.com/xamarin/xamarin-macios/issues/4895
2018-10-03 15:00:59 -04:00
Rolf Bjarne Kvinge 946651928b
[Foundation] Add missing availability attribute. (#4913) 2018-10-03 16:06:00 +02:00
Chris Hamons 183cb81583
Disable known failing device tests using xharness (#4884)
- Add the ability to have Build Only tests - https://github.com/xamarin/maccore/issues/1076
- Set mini and the extensions as build only
2018-10-03 08:33:30 -05:00
Rolf Bjarne Kvinge a76255270e
Reuse Libraries.*.Handle instead of dlopen'ing multiple times the same libraries. (#4911)
I've also verified that calling dlsym with a NULL handle is safe: it just
returns NULL, so we can also skip all the IntPtr.Zero handle checks.
2018-10-03 14:29:42 +02:00
Rolf Bjarne Kvinge 043c31331f
[DispatchObject] Simplify != operator and fix a potential NRE in Equals. (#4912) 2018-10-03 14:29:11 +02:00
Connor Adsit fc0de6dee6 Report updateinfo for xamarin.ios and xamarin.mac in artifacts.json (#4871)
Expose the productId and versionId in artifacts.json to autofill this information in while publishing so it's less of a manual process.
2018-10-03 08:25:46 +02:00
Rolf Bjarne Kvinge 832f9a3a5a
[builds] Adjust ifdefs to fix not building device architectures. Fixes maccore#1074. (#4903)
* [builds] Adjust ifdefs to fix not building device architectures. Fixes maccore#1074.

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

* [jenkins] Running configure and then cleaning everything is kind of useless, so reverse the order.
2018-10-03 08:18:11 +02:00
Chris Hamons 8325b083dc
[macos][msbuild] Cache actool results like XI (#4892)
- https://github.com/xamarin/xamarin-macios/issues/3584
- Prevents a 2 second pause on every single launch
- Test added but commented out due to msbuild build machine issue :(
2018-10-02 12:53:19 -05:00
Rolf Bjarne Kvinge 788b63d96f
[NSLayoutManager] Complete bindings for NSLayoutManager. Fixes #4740. (#4853)
Fix numerous issues with NSLayoutManager[Delegate]:

* The classes are available in both AppKit and UIKit, but the bindings are
  duplicated (unsuccessfully) in both appkit.cs and uikit.cs. So create a new
  xkit.cs that is shared between XI and XM, and put a shared version of the
  bindings there.

* Bind everything that hasn't already been bound (or deprecated by Apple).

* Methods that take a nullable NSRangePointer has been bound with three overloads:

	* A protected overridable (exported) method that uses IntPtr.
	* A public method without the parameter.
	* A public method with the parameter typed as 'ref NSRange'.

	This makes sure the native method can be overridden if needed, while at
	the same time making it possible to call without providing the nullable
	parameter.

* Fix numerous ugly bindings:

	* There's a great nint/nuint confusion for parameters referring to
	  'character index' and 'glyph index'. XI seems to prefer nuint, while XM
	  seems to prefer nint. Standardize on nuint, since that's how Apple
	  created them.

	* Many methods have names than sound like Objective-C. Fix them all,
	  either right away when possible, or for XAMCORE_4_0.

	* Several parameter names have been modified to comply with our naming
	  guidelines (no abbreviations).

Fixes https://github.com/xamarin/xamarin-macios/issues/4740.
2018-10-01 14:17:28 +02:00
Matt Sylvia 865ddb1d7a Bump master versions (#4878) 2018-09-27 17:26:55 -04:00
Manuel de la Pena 1dba5722fe [CoreMedia] Add missing attr since we support older versions of Mac OS X. (#4882) 2018-09-26 13:51:47 -05:00
Chris Hamons 4d7bd304e7
Update tests/README to document XM_TEST_NAME (#4880)
- https://github.com/xamarin/xamarin-macios/issues/3609
2018-09-26 10:24:49 -05:00
Chris Hamons 2b85512509
Update MM0134 with url to fix #3577 (#4879) 2018-09-26 10:24:22 -05:00
Rolf Bjarne Kvinge 8b7db1382d
[xtro] Only return 1 in case of failure in reporter. (#4877)
This solves two problems:

* xharness thinks it crashed if the exit code is neither 0 nor 1, and
  helpfully says so and tries to collect crash reports, which only ends up
  being confusing.

* The exit code is byte-sized on macOS. This means that trying to return 256
  actually returns 0 (success).
2018-09-25 20:32:22 +02:00
Manuel de la Pena ea63e4559c
[CoreMedia] Expose the CMSampleAttachmentKey interface. Fixes #4688 (#4841)
* [CoreMedia] Expose the CMSampleAttachmentKey interface. Fixes #4688

We have an issue when the user wants to use the CMAttachmentSample,
ideally, the user will want to do:

var cameraIntrinsicData = CMAttachmentBearer.GetAttachment(CMSampleAttachmentKey.CameraIntrinsicMatrixKey, sampleBuffer );

Instead of the current workaround:

var att = new CMSampleBufferAttachmentSettings (sampleBuffer.GetAttachments (CMAttachmentMode.ShouldNotPropagate));
var matrix = att.CameraIntrinsicMatrix;

With this push, we can allow the user use the first example provided in
this commit.

Fixes https://github.com/xamarin/xamarin-macios/issues/4688
2018-09-25 16:24:41 +02:00
Rolf Bjarne Kvinge 0d65ed9357
[msbuild] Fix SceneKit asset compilation. Fixes #3766. (#4851)
* [msbuild] Fix SceneKit asset compilation. Fixes #3766.

It seems SceneKit assets must be compiled into a directory whose parent
directory is named like the app.

In addition the `--resource-folder-path` argument is required.

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

* [msbuild] Use AppBundlePath to get correct .app[ex] variant.

* [msbuild] Fix XM builds.

* [msbuild] Use AppBundleDir instead of AppBundlePath.
2018-09-24 18:42:04 +02:00
Rolf Bjarne Kvinge bdc37fff9f
[CoreFoundation] Remove mtouch-specific code. (#4868)
Once upon a time mtouch was a MonoMac app, and at the same time needed to
be a 64-bit executable. This meant we needed a few hacks to make things work:

* The source code for CoreFoundation was included in mtouch (instead of using them from MonoMac.dll).
* A few changes were required to make the source code work in 64-bit.

These changes were conditionally done with a #if MTOUCH.

mtouch stopped being a MonoMac app a long time ago, so these mtouch-specific
changes are no longer needed, so just remove them.
2018-09-24 18:38:49 +02:00
Rolf Bjarne Kvinge 11d9fe68db
[mtouch/mmp/docs] Improve MT0091 to include how to enable the linker. Fixes #4549. (#4852)
Fixes https://github.com/xamarin/xamarin-macios/issues/4549.
2018-09-21 16:51:23 +02:00
Manuel de la Pena ddb0948376 [Metal] Fixe the size of structures. Fixes #4611 (#4838)
The structs MTLQuadTessellationFactorsHalf and
MTLTriangleTessellationFactorsHalf are wrong as per the header
definition:

```c
typedef struct {
    /* NOTE: edgeTessellationFactor and insideTessellationFactor are interpreted as half (16-bit floats) */
    uint16_t edgeTessellationFactor[4];
    uint16_t insideTessellationFactor[2];
} MTLQuadTessellationFactorsHalf;

typedef struct {
    /* NOTE: edgeTessellationFactor and insideTessellationFactor are interpreted as half (16-bit floats) */
    uint16_t edgeTessellationFactor[3];
    uint16_t insideTessellationFactor;
} MTLTriangleTessellationFactorsHalf;
```

We set the arrays size to be the correct one.

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

* Add tests that ensure that the size of the managed structs is the same
as the native ones.

The values used have been checked against a native app compiled on 32
and 64 (iphone 5 and iphone X).
2018-09-21 09:33:27 -04:00
Manuel de la Pena dd4904f0b6
[QuickLook] Use the correct name properties in QLPreviewItem. Fixes #4450 (#4855)
* [QuickLook] Use the correct name properties in QLPreviewItem. Fixes #4450

Renamed properties for the next time we can make breaking changes.

Fixes https://github.com/xamarin/xamarin-macios/issues/4450
2018-09-21 12:05:06 +02:00
Vincent Dondain 29d90e5ecd [Make.config] Set IOS_PACKAGE_VERSION_REV (#4856)
If this isn't set the `Constants.*.cs.in` files won't have the proper version values. E.g: '12.3.' instead of '12.3.0'.
2018-09-20 16:18:24 -04:00
Michał Żołnieruk 59a1cfbfa4 Added two missing NSString method bindings for splitting text (#4828)
* Added 2 missing NSString methods bindings (componentsSeparatedByString, componentsSeparatedByCharactersInSet)

* Removed redundant methods API versions, changed method names (to include verb), modified NET types to objC types

* Removed binded methods from sharpie tests

* Add whitespace to conform to coding guidelines.
2018-09-20 16:01:49 +02:00
Sebastien Pouliot f333b3aed6
[apidiff] Update API diff to be based on XI 12.0 (#4845)
* XI references updated from `xcode10` (XI 12.0)
* XM references are not updated, we continue to compare with `d15.8`
* references_/* were temporary files that should not have been committed (old mistake)
2018-09-20 09:28:31 -04:00
Vincent Dondain 49ef936701
Merge pull request #4833 from VincentDondain/master-merge-xcode10
Merge branch 'xcode10' into master
2018-09-19 18:19:35 -04:00
Vincent Dondain 089cb63b7f [tools] Fix merge issue in Frameworks.cs 2018-09-19 12:27:43 -04:00
Vincent Dondain 0038fdfbdf [jenkins] Fix double API diff printf (broken merge) 2018-09-19 11:10:31 -04:00
Vincent Dondain dbb151c63e [docs] Fix errors after broken merge 2018-09-19 11:03:56 -04:00
Rolf Bjarne Kvinge 84756d8cd1
[ObjCRuntime] Make available a version of Runtime.GetINativeObject that takes the target type as a System.Type. (#4839)
Swift-o-matic needs it, see https://github.com/xamarin/maccore/pull/1049/files#diff-eeaff638ac8b77c777e1bde26cdf6a40R1938.

Also remove a FIXME/unneeded comment. The existing Runtime.GetINativeObject
(..., Type) existed because it's hard to call a generic function from native
code, but if one day that could be figured out, then this managed function
could be removed.

Now that the function is public, we can't remove it even if we figure out how
to call the generic version from native code, so the FIXME is no longer needed.
2018-09-19 16:02:13 +02:00
Rolf Bjarne Kvinge 7354052e96
[NSLayoutManager] Fix potential NRE in NSLayoutManager.GetGlyphs when one of the parameters is null, (#4832) 2018-09-19 07:37:26 +02:00
Vincent Dondain 2174ec41a2 Merge branch 'xcode10' 2018-09-18 14:12:39 -04:00
Sebastien Pouliot 84552a4602
Bump to Xcode 10 final (#4830) 2018-09-17 20:59:42 -04:00
Rolf Bjarne Kvinge b07cc7fcfb
Bump maccore to get fix for #4430. (#4827)
Diff: 07fde84362...fbb847be2c

Fixes https://github.com/xamarin/xamarin-macios/issues/4430.
2018-09-17 19:07:22 +02:00
Rolf Bjarne Kvinge 8e32ace58e
[Foundation] Bind NSMutableDictionary's addEntriesFromDictionary:. Fixes #4813. (#4819)
Fixes https://github.com/xamarin/xamarin-macios/issues/4813
2018-09-17 16:14:46 +02:00
Vincent Dondain a4268f2169
[clockkit] Add missing 'CLKComplicationFamily' enum values (#4818)
* [clockkit] Add missing 'CLKComplicationFamily' enum values

From Xcode 10 GM API diff: https://github.com/xamarin/xamarin-macios/wiki/ClockKit-watchOS-xcode10-GM

``` diff
--- /Applications/Xcode10-beta6.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKDefines.h	2018-08-10 17:39:53.000000000 -0400
+++ /Applications/Xcode10GM.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKDefines.h	2018-08-29 05:55:06.000000000 -0400
@@ -19,6 +19,10 @@
     CLKComplicationFamilyCircularSmall                                                        = 4,
     CLKComplicationFamilyExtraLarge CLK_AVAILABLE_WATCHOS_IOS(3_0, 10_0)                      = 7,
     
+    CLKComplicationFamilyGraphicCorner CLK_AVAILABLE_WATCHOS_IOS(5_0, 12_0)                 = 8,
+    CLKComplicationFamilyGraphicBezel CLK_AVAILABLE_WATCHOS_IOS(5_0, 12_0)                  = 9,
+    CLKComplicationFamilyGraphicCircular CLK_AVAILABLE_WATCHOS_IOS(5_0, 12_0)               = 10,
+    CLKComplicationFamilyGraphicRectangular CLK_AVAILABLE_WATCHOS_IOS(5_0, 12_0)            = 11,
 };
```

These are important enum values related to the new "graphic" complications types.
2018-09-14 18:45:37 -04:00