Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into msbuild-port
Browse files Browse the repository at this point in the history
  • Loading branch information
rolfbjarne committed Jul 27, 2018
2 parents 16e512a + 9e31d07 commit 516aab9
Show file tree
Hide file tree
Showing 289 changed files with 5,689,257 additions and 2,372 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[submodule "external/mono"]
path = external/mono
url = ../../mono/mono.git
branch = 2018-02
branch = 2018-04
[submodule "external/opentk"]
path = external/opentk
url = ../../mono/opentk.git
Expand Down
9 changes: 2 additions & 7 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨 -->

<--
<!--
Please fill in the *entire* template below.

The template is designed to avoid unnecessary delays to confirm and fix reported issues. Issues with missing information generally end up with a `need-info` label and take significally more time to fix. Please help us help you!

The template is designed to avoid unnecessary delays to confirm and fix reported issues. Issues with missing information generally end up with a `need-info` label and take significantly more time to fix. Please help us help you!
For more information see https://github.com/xamarin/xamarin-macios/wiki/Submitting-Bugs-&-Suggestions
For support requests use https://www.xamarin.com/support
-->
Expand All @@ -24,7 +22,6 @@ For support requests use https://www.xamarin.com/support
1.
Visual Studio: Help > About Microsoft Visual Studio > Copy Info [button]
Visual Studio for Mac: Visual Studio > About Visual Studio > Show Details > Copy Information [button]
2. Paste into the code block below (between ```)
-->

Expand All @@ -35,15 +32,13 @@ Visual Studio for Mac: Visual Studio > About Visual Studio > Show Details > Copy

<!--
1. Place cursor below this comment block.
2. Attach build log or link to gist (https://gist.github.com/) of the log.
-->

### Example Project (If Possible)

<!--
1. Place cursor below this comment block.
2. Drag and drop the compressed project or files needed to reproduce.
-->

Expand Down
25 changes: 14 additions & 11 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,14 @@ PACKAGE_HEAD_REV=$(shell git rev-parse HEAD)
# on wrench, because wrench technically builds hashes, not branches)
#
#
PACKAGE_HEAD_BRANCH=master
PACKAGE_HEAD_BRANCH?=master
ifeq ($(CURRENT_BRANCH),)
ifeq ($(BUILD_REVISION),)
CURRENT_BRANCH:=$(shell git rev-parse --abbrev-ref HEAD)
else
CURRENT_BRANCH:=$(PACKAGE_HEAD_BRANCH)
endif
endif

# TODO: reset to 0 after major/minor version bump (SRO) and increment for service releases and previews
# Note: if not reseted to 0 we can skip a version and start with .1 or .2
Expand All @@ -48,21 +50,21 @@ IOS_PRODUCT=Xamarin.iOS
IOS_PACKAGE_NAME=Xamarin.iOS
IOS_PACKAGE_NAME_LOWER=$(shell echo $(IOS_PACKAGE_NAME) | tr "[:upper:]" "[:lower:]")
# NEVER customize IOS_PACKAGE_VERSION itself, other parts (mtouch, web updater) are using the IOS_PACKAGE_VERSION_* variables
IOS_PACKAGE_VERSION=11.11.$(PACKAGE_VERSION_REV).$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_VERSION=11.15.$(PACKAGE_VERSION_REV).$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_VERSION_MAJOR=$(word 1, $(subst ., ,$(IOS_PACKAGE_VERSION)))
IOS_PACKAGE_VERSION_MINOR=$(word 2, $(subst ., ,$(IOS_PACKAGE_VERSION)))
IOS_PACKAGE_VERSION_REV=$(PACKAGE_VERSION_REV)
IOS_PACKAGE_VERSION_BUILD=$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_UPDATE_ID=$(shell printf "2%02d%02d%02d%03d" $(IOS_PACKAGE_VERSION_MAJOR) $(IOS_PACKAGE_VERSION_MINOR) $(IOS_PACKAGE_VERSION_REV) $(IOS_PACKAGE_VERSION_BUILD))

XCODE_VERSION=9.3
XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_9.3.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode93.app/Contents/Developer
XCODE_VERSION=9.4
XCODE_URL=http://xamarin-storage/bot-provisioning/xcodes/Xcode_9.4.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode94.app/Contents/Developer

# Minimum Mono version
MIN_MONO_VERSION=5.12.0.226
MAX_MONO_VERSION=5.12.99
MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2018-02/192/9824e260f56eb08b163e2c79d3338cd946aad7d6/MonoFramework-MDK-5.12.0.226.macos10.xamarin.universal.pkg
MIN_MONO_VERSION=5.14.0.136
MAX_MONO_VERSION=5.14.99
MIN_MONO_URL=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/2018-04/111/07c8f25fe536dbb7e244f965aa3f9a871f41e953/MonoFramework-MDK-5.14.0.136.macos10.xamarin.universal.pkg

# Minimum Visual Studio version
MIN_VISUAL_STUDIO_URL=https://download.visualstudio.microsoft.com/download/pr/11550896/783d2219a348f93b6988fb415951788a/VisualStudioForMac-Preview-7.4.0.985.dmg
Expand All @@ -83,10 +85,11 @@ MIN_OSX_BUILD_VERSION=10.13
MIN_OSX_VERSION_FOR_IOS=10.11
MIN_OSX_VERSION_FOR_MAC=10.11

IOS_SDK_VERSION=11.3
IOS_SDK_VERSION=11.4
# When bumping OSX_SDK_VERSION also update the macOS version where we execute on bots in jenkins/Jenkinsfile (in the 'node' element)
OSX_SDK_VERSION=10.13
WATCH_SDK_VERSION=4.3
TVOS_SDK_VERSION=11.3
TVOS_SDK_VERSION=11.4

MIN_IOS_SDK_VERSION=6.0
MIN_OSX_SDK_VERSION=10.7
Expand Down Expand Up @@ -261,7 +264,7 @@ MAC_PRODUCT=Xamarin.Mac
MAC_PACKAGE_NAME=xamarin.mac
MAC_PACKAGE_NAME_LOWER=$(shell echo $(MAC_PACKAGE_NAME) | tr "[:upper:]" "[:lower:]")

MAC_PACKAGE_VERSION=4.5.$(PACKAGE_VERSION_REV).$(MAC_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=4.7.$(PACKAGE_VERSION_REV).$(MAC_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION_MAJOR=$(word 1, $(subst ., ,$(MAC_PACKAGE_VERSION)))
MAC_PACKAGE_VERSION_MINOR=$(word 2, $(subst ., ,$(MAC_PACKAGE_VERSION)))
MAC_PACKAGE_VERSION_REV=$(PACKAGE_VERSION_REV)
Expand Down
10 changes: 4 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -179,13 +179,11 @@ endif

package:
mkdir -p ../package
$(MAKE) -C ../maccore package
$(MAKE) -C $(MACCORE_PATH) package
# copy .pkg, .zip and *updateinfo to the packages directory to be uploaded to storage
cp ../maccore/release/*.pkg ../package
-cp ../maccore/release/*.zip ../package
-cp ../maccore/release/*updateinfo ../package
-cp ../maccore/tests/*.zip ../package
-cp ../xamarin-macios/tests/*.zip ../package
cp $(MACCORE_PATH)/release/*.pkg ../package
cp $(MACCORE_PATH)/release/*.zip ../package
cp $(MACCORE_PATH)/release/*updateinfo ../package

install-system: install-system-ios install-system-mac
@# Clean up some old files
Expand Down
2 changes: 2 additions & 0 deletions Versions-ios.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<string>11.1</string>
<string>11.2</string>
<string>11.3</string>
<string>11.4</string>
</array>
<key>tvOS</key>
<array>
Expand All @@ -42,6 +43,7 @@
<string>11.1</string>
<string>11.2</string>
<string>11.3</string>
<string>11.4</string>
</array>
<key>watchOS</key>
<array>
Expand Down
31 changes: 30 additions & 1 deletion docs/website/mmp-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -472,8 +472,37 @@ argument in the project's Mac Build options.

### <a name="MM8026"/>MM8026: * is not supported when the dynamic registrar has been linked away.

This usually indicates a bug in Xamarin.Mac, because the dynamic registrar should not be linked away if it's needed. Please file a bug at [https://bugzilla.xamarin.com](https://bugzilla.xamarin.com/enter_bug.cgi?product=iOS).
This usually indicates a bug in Xamarin.Mac, because the dynamic registrar should not be linked away if it's needed. Please file a bug at [https://bugzilla.xamarin.com](https://bugzilla.xamarin.com/enter_bug.cgi?product=Xamarin.Mac).

It's possible to force the linker to keep the dynamic registrar by adding
`--optimize=-remove-dynamic-registrar` to the additional mmp arguments in
the project's Mac Build options.

### <a name="MT8027"/>MT8027: Failed to marshal the Objective-C object {handle} (type: {managed_type}). Could not find an existing managed instance for this object, nor was it possible to create a new managed instance.

This occurs when the Xamarin.Mac runtime finds an Objective-C object without a
corresponding managed wrapper object, and when trying to create that managed
wrapper, it turns out it's not possible.

There are a few reasons this may happen:

* If it occurs when deserializing a storyboard/nib/xib and mentioning a
managed type that's used in that storyboard/nib/xib, then the fix is to add
a constructor that takes a single `IntPtr` argument to that managed type.
This constructor should not have any logic (because it's invoked before the
native and managed instances are fully created).

* A managed wrapper existed at some point, but was collected by the GC. If the
native object is still alive, and later resurfaces to managed code, the
Xamarin.Mac runtime will try to re-create a managed wrapper instance. In
most cases the problem here is that the managed wrapper shouldn't have been
collected by the GC in the first place.

Possible causes include:

* Manually calling Dispose too early on the managed wrapper.
* Incorrect bindings for third-party libraries.
* Reference-counting bugs in third-party libraries.

* It could be a bug in Xamarin.Mac. If this is the case, please file a bug at
[https://bugzilla.xamarin.com](https://bugzilla.xamarin.com/enter_bug.cgi?product=Xamarin.Mac).
29 changes: 29 additions & 0 deletions docs/website/mtouch-errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2482,3 +2482,32 @@ This usually indicates a bug in Xamarin.iOS, because the dynamic registrar shoul
It's possible to force the linker to keep the dynamic registrar by adding
`--optimize=-remove-dynamic-registrar` to the additional mtouch arguments in
the project's iOS Build options.

### <a name="MM8027"/>MM8027: Failed to marshal the Objective-C object {handle} (type: {managed_type}). Could not find an existing managed instance for this object, nor was it possible to create a new managed instance.

This occurs when the Xamarin.iOS runtime finds an Objective-C object without a
corresponding managed wrapper object, and when trying to create that managed
wrapper, it turns out it's not possible.

There are a few reasons this may happen:

* If it occurs when deserializing a storyboard/nib/xib and mentioning a
managed type that's used in that storyboard/nib/xib, then the fix is to add
a constructor that takes a single `IntPtr` argument to that managed type.
This constructor should not have any logic (because it's invoked before the
native and managed instances are fully created).

* A managed wrapper existed at some point, but was collected by the GC. If the
native object is still alive, and later resurfaces to managed code, the
Xamarin.iOS runtime will try to re-create a managed wrapper instance. In
most cases the problem here is that the managed wrapper shouldn't have been
collected by the GC in the first place.

Possible causes include:

* Manually calling Dispose too early on the managed wrapper.
* Incorrect bindings for third-party libraries.
* Reference-counting bugs in third-party libraries.

* It could be a bug in Xamarin.iOS. If this is the case, please file a bug at
[https://bugzilla.xamarin.com](https://bugzilla.xamarin.com/enter_bug.cgi?product=iOS).
2 changes: 1 addition & 1 deletion external/Xamarin.MacDev
2 changes: 1 addition & 1 deletion external/mono
Submodule mono updated 1704 files
Loading

0 comments on commit 516aab9

Please sign in to comment.