Skip to content

Commit 5b0c4e7

Browse files
authored
[net10.0] Merge main into net10.0. (#21580)
2 parents 8a9efb9 + 3795587 commit 5b0c4e7

File tree

1,038 files changed

+21035
-17609
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,038 files changed

+21035
-17609
lines changed

.gitmodules

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
[submodule "external/macios-binaries"]
2-
path = external/macios-binaries
3-
url = ../../xamarin/macios-binaries
4-
branch = main
51
[submodule "external/Touch.Unit"]
62
path = external/Touch.Unit
73
url = ../../xamarin/Touch.Unit.git

Directory.Build.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
<DisableTransitiveFrameworkReferenceDownloads>true</DisableTransitiveFrameworkReferenceDownloads>
55
<MonoCecilPackageVersion>0.11.5</MonoCecilPackageVersion>
66
<MSBuildStructuredLoggerPackageVersion>2.2.158</MSBuildStructuredLoggerPackageVersion>
7+
<MicrosoftBuildPackageVersion>17.11.4</MicrosoftBuildPackageVersion>
8+
<MicrosoftBuildFrameworkPackageVersion>17.11.4</MicrosoftBuildFrameworkPackageVersion>
9+
<MicrosoftBuildTasksCorePackageVersion>17.11.4</MicrosoftBuildTasksCorePackageVersion>
10+
<MicrosoftBuildUtilitiesCorePackageVersion>17.11.4</MicrosoftBuildUtilitiesCorePackageVersion>
711
</PropertyGroup>
812
<Import Project="Build.props" Condition="Exists('Build.props')" />
913
</Project>

Make.config

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,11 @@ MACCATALYST_NUGET_VERSION_NO_METADATA=$(MACCATALYST_NUGET_VERSION)$(NUGET_PREREL
218218
MACCATALYST_NUGET_VERSION_FULL=$(MACCATALYST_NUGET_VERSION_NO_METADATA)$(NUGET_BUILD_METADATA)
219219

220220
# Xcode version should have both a major and a minor version (even if the minor version is 0)
221-
XCODE_VERSION=16.0
222-
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_16.xip
223-
XCODE_IOS_SIMULATOR_FILENAME=iOS_18_Simulator_Runtime.dmg
224-
XCODE_IOS_SIMULATOR_VERSION=22A3351
225-
XCODE_DEVELOPER_ROOT=/Applications/Xcode_16.0.0.app/Contents/Developer
221+
XCODE_VERSION=16.1
222+
XCODE_URL=https://dl.internalx.com/internal-files/xcodes/Xcode_16.1.xip
223+
XCODE_IOS_SIMULATOR_FILENAME=iOS_18.1_Simulator_Runtime.dmg
224+
XCODE_IOS_SIMULATOR_VERSION=22B81
225+
XCODE_DEVELOPER_ROOT=/Applications/Xcode_16.1.0.app/Contents/Developer
226226
XCODE_PRODUCT_BUILD_VERSION:=$(shell /usr/libexec/PlistBuddy -c 'Print :ProductBuildVersion' $(XCODE_DEVELOPER_ROOT)/../version.plist 2>/dev/null || echo " $(shell tput setaf 1 2>/dev/null)The required Xcode ($(XCODE_VERSION)) is not installed in $(basename $(basename $(XCODE_DEVELOPER_ROOT)))$(shell tput sgr0 2>/dev/null)" >&2)
227227

228228
# We define stable Xcode as the Xcode app being named like "Xcode_#.#[.#].app"
@@ -262,9 +262,9 @@ MIN_MONO_URL=https://download.mono-project.com/archive/6.12.0/macos-10-universal
262262
MIN_XM_MONO_VERSION=6.4.0.94
263263

264264
# ObjectiveSharpie min/max versions
265-
MIN_SHARPIE_VERSION=3.5.115
265+
MIN_SHARPIE_VERSION=3.5.116
266266
MAX_SHARPIE_VERSION=3.5.999
267-
MIN_SHARPIE_URL=https://download.visualstudio.microsoft.com/download/pr/8445c488-35b2-44d5-a80f-15954ca1fcf8/bb2946f34caefe1ba3bc5cedfda31879/objectivesharpie-3.5.115.pkg
267+
MIN_SHARPIE_URL=https://download.visualstudio.microsoft.com/download/pr/3a748cc2-780d-403c-88ba-700aa9a2d299/88cbfd86e85f56b4c61e092d0f0b9ad9/objectivesharpie-3.5.116.pkg
268268

269269
# Minimum OSX versions for building XI/XM
270270
MIN_OSX_BUILD_VERSION=13.0
@@ -566,7 +566,6 @@ MONO_PATH=$(TOP)/external/mono
566566
TOUCH_UNIT_PATH=$(TOP)/external/Touch.Unit
567567
XAMARIN_MACDEV_PATH=$(TOP)/external/Xamarin.MacDev
568568
MACCORE_PATH=$(TOP)/../maccore
569-
MACIOS_BINARIES_PATH=$(TOP)/external/macios-binaries
570569
MONOTOUCH_DIALOG_PATH=$(TOP)/external/MonoTouch.Dialog
571570
API_TOOLS_PATH=$(TOP)/external/api-tools
572571

@@ -580,9 +579,6 @@ SYSTEM_XBUILD=$(MONO_PREFIX)/bin/msbuild /p:Features=strict /m
580579
SYSTEM_MSBUILD=unset MSBuildExtensionsPath && $(MONO_PREFIX)/bin/msbuild /p:Features=strict /m
581580
SYSTEM_RESGEN=$(MONO_PREFIX)/bin/resgen
582581

583-
XIBUILD_EXE_PATH=$(abspath $(TOP)/tools/xibuild/bin/Debug/xibuild.exe)
584-
SYSTEM_XIBUILD=$(SYSTEM_MONO) $(XIBUILD_EXE_PATH) $(XIBUILD_VERBOSITY)
585-
586582
PKG_CONFIG=$(MONO_PREFIX)/bin/pkg-config
587583

588584
MAC_PRODUCT=Xamarin.Mac
@@ -676,6 +672,7 @@ $(TOP)/dotnet.config: $(TOP)/eng/Versions.props $(TOP)/Build.props
676672
$(Q) grep MicrosoftNETCoreAppRefPackageVersion $(TOP)/eng/Versions.props | sed -e 's/<*\/*MicrosoftNETCoreAppRefPackageVersion>//g' -e 's/[ \t]*/BUNDLED_NETCORE_PLATFORMS_PACKAGE_VERSION=/' >> $@.tmp
677673
$(Q) grep "<$$(grep EmscriptenWorkloadVersion $(TOP)/eng/Versions.props | sed -e 's_.*>$$[\(]\(.*\)[\)]<.*_\1_')>" $(TOP)/eng/Versions.props | sed -e 's/.*>\(.*\)<.*/EMSCRIPTEN_MANIFEST_PACKAGE_VERSION=\1/' >> $@.tmp
678674
$(Q) $(foreach platform,$(ALL_DOTNET_PLATFORMS),grep '<Microsoft$(platform)SdkPackageVersion>' $(TOP)/eng/Versions.props | sed -e 's/<*\/*Microsoft$(platform)SdkPackageVersion>//g' -e 's/[ \t]*/NET8_$(shell echo $(platform) | tr '[:lower:]' '[:upper:]')_NUGET_VERSION_NO_METADATA=/' >> $@.tmp &&) true
675+
$(Q) grep '<MicrosoftDotNetArcadeSdkPackageVersion>' $(TOP)/eng/Versions.props | sed -e 's/<*\/*MicrosoftDotNetArcadeSdkPackageVersion>//g' -e 's/[ \t]*/ARCADE_VERSION=/' >> $@.tmp
679676
$(Q) mv $@.tmp $@
680677

681678
$(TOP)/Build.props: Make.config
@@ -771,6 +768,7 @@ DOTNET_PLATFORMS=
771768
ifdef INCLUDE_IOS
772769
ifdef ENABLE_DOTNET
773770
DOTNET_PLATFORMS+=iOS
771+
DOTNET_MONOVM_PLATFORMS+=iOS
774772
DOTNET_IOS_BITNESSES+=64
775773
DOTNET_NATIVEAOT_PLATFORMS+=iOS
776774

@@ -797,6 +795,7 @@ endif # INCLUDE_IOS
797795
ifdef INCLUDE_TVOS
798796
ifdef ENABLE_DOTNET
799797
DOTNET_PLATFORMS+=tvOS
798+
DOTNET_MONOVM_PLATFORMS+=tvOS
800799
DOTNET_TVOS_BITNESSES+=64
801800
DOTNET_NATIVEAOT_PLATFORMS+=tvOS
802801
ifdef INCLUDE_DEVICE
@@ -811,6 +810,7 @@ endif
811810
ifdef INCLUDE_MACCATALYST
812811
ifdef ENABLE_DOTNET
813812
DOTNET_PLATFORMS+=MacCatalyst
813+
DOTNET_MONOVM_PLATFORMS+=MacCatalyst
814814
DOTNET_MACCATALYST_BITNESSES+=64
815815
DOTNET_NATIVEAOT_PLATFORMS+=MacCatalyst
816816
DOTNET_MACCATALYST_RUNTIME_IDENTIFIERS=maccatalyst-x64 maccatalyst-arm64
@@ -840,6 +840,9 @@ $(foreach platform,$(DOTNET_PLATFORMS),$(eval $(platform)_NUGET_OS_VERSION:=$($(
840840
# Create a variable with all the runtime identifiers
841841
DOTNET_RUNTIME_IDENTIFIERS=$(foreach platform,$(DOTNET_PLATFORMS),$(DOTNET_$(platform)_RUNTIME_IDENTIFIERS))
842842

843+
# Create a variable with all the MonoVM runtime identifiers
844+
DOTNET_MONOVM_RUNTIME_IDENTIFIERS=$(foreach platform,$(DOTNET_MONOVM_PLATFORMS),$(DOTNET_$(platform)_RUNTIME_IDENTIFIERS))
845+
843846
# Create a variable with all the CoreCLR runtime identifiers
844847
DOTNET_CORECLR_RUNTIME_IDENTIFIERS=$(foreach platform,$(DOTNET_CORECLR_PLATFORMS),$(DOTNET_$(platform)_RUNTIME_IDENTIFIERS))
845848

Make.versions

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,18 @@ MAC_PACKAGE_VERSION=9.99.0.$(MAC_COMMIT_DISTANCE)
6565

6666
# WARNING: Do **not** use versions higher than the available Xcode SDK or else we will have issues with mtouch (See https://github.com/xamarin/xamarin-macios/issues/7705)
6767

68-
IOS_NUGET_OS_VERSION=18.0
69-
TVOS_NUGET_OS_VERSION=18.0
70-
WATCHOS_NUGET_OS_VERSION=11.0
71-
MACOS_NUGET_OS_VERSION=15.0
72-
MACCATALYST_NUGET_OS_VERSION=18.0
73-
68+
IOS_NUGET_OS_VERSION=18.1
69+
TVOS_NUGET_OS_VERSION=18.1
70+
WATCHOS_NUGET_OS_VERSION=11.1
71+
MACOS_NUGET_OS_VERSION=15.1
72+
MACCATALYST_NUGET_OS_VERSION=18.1
73+
74+
# The following are the OS versions we first supported with the current .NET version.
75+
# These versions must *not* change with minor .NET updates, only major .NET releases.
76+
IOS_TARGET_PLATFORM_VERSION_LIBRARY=18.1
77+
TVOS_TARGET_PLATFORM_VERSION_LIBRARY=18.1
78+
MACOS_TARGET_PLATFORM_VERSION_LIBRARY=15.1
79+
MACCATALYST_TARGET_PLATFORM_VERSION_LIBRARY=18.1
7480

7581
# In theory we should define the default platform version if it's not specified in the TFM. The default should not change for a given .NET version:
7682
# * We release support for iOS 14.5 with .NET 6
@@ -100,6 +106,13 @@ MACCATALYST_NUGET_OS_VERSION=18.0
100106
# So we've made the decision that the default target platform version is
101107
# always the latest target platform version.
102108

109+
# However, this turns out to be somewhat of a complication for library developers,
110+
# because they typically don't need Xcode to build their projects, and if we auto-
111+
# update their TargetPlatformVersion to the latest, then all their customers
112+
# have to also update their workloads, which for some people end up being a rather
113+
# nasty surprise (because with the above algorithm it happens without developer
114+
# action). Thus we follow .NET's default platform version scheme for library projects:
115+
# it won't change in minor .NET releases.
103116

104117
#
105118
# Here we list all the releases we support for each platform.

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ all-local:: global.json
7272
global.json: $(TOP)/dotnet.config Makefile $(GIT_DIRECTORY)/HEAD $(GIT_DIRECTORY)/index
7373
$(Q_GEN) \
7474
printf "{\n" > $@; \
75-
printf " \"sdk\": {\n \"version\": \"$(DOTNET_VERSION)\"\n }\n" >> $@; \
75+
printf " \"sdk\": {\n \"version\": \"$(DOTNET_VERSION)\"\n },\n" >> $@; \
76+
printf " \"tools\": {\n \"dotnet\": \"$(DOTNET_VERSION)\"\n },\n" >> $@; \
77+
printf " \"msbuild-sdks\": {\n \"Microsoft.DotNet.Arcade.Sdk\": \"$(ARCADE_VERSION)\"\n }\n" >> $@; \
7678
printf "}\n" >> $@
7779

7880
install-hook::

NuGet.config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
<!-- Begin: Package sources from dotnet-emsdk -->
1616
<!-- End: Package sources from dotnet-emsdk -->
1717
<!-- Begin: Package sources from dotnet-aspnetcore -->
18+
<add key="darc-pub-dotnet-aspnetcore-1e7a7af" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-aspnetcore-1e7a7af6/nuget/v3/index.json" />
1819
<!-- End: Package sources from dotnet-aspnetcore -->
1920
<!-- Begin: Package sources from dotnet-runtime -->
21+
<add key="darc-pub-dotnet-runtime-d398172" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-d3981726/nuget/v3/index.json" />
2022
<!-- End: Package sources from dotnet-runtime -->
2123
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
2224
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" protocolVersion="3" />
@@ -64,6 +66,9 @@
6466
<!-- Add a 8.0.10 feed -->
6567
<add key="darc-pub-dotnet-emsdk-91b783e" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-91b783ed/nuget/v3/index.json" />
6668
<add key="darc-pub-dotnet-runtime-ca415e9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-ca415e95/nuget/v3/index.json" />
69+
<!-- Add a 8.0.11 feed -->
70+
<add key="darc-pub-dotnet-emsdk-f623714" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-f6237140/nuget/v3/index.json" />
71+
<add key="darc-pub-dotnet-runtime-ef07c4f" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-ef07c4f2/nuget/v3/index.json" />
6772
</packageSources>
6873
<disabledPackageSources>
6974
<clear />

Versions-ios.plist.in

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
<string>17.4</string>
4444
<string>17.5</string>
4545
<string>18.0</string>
46+
<string>18.1</string>
4647
</array>
4748
<key>tvOS</key>
4849
<array>
@@ -76,6 +77,7 @@
7677
<string>17.4</string>
7778
<string>17.5</string>
7879
<string>18.0</string>
80+
<string>18.1</string>
7981
</array>
8082
<key>watchOS</key>
8183
<array>
@@ -105,6 +107,7 @@
105107
<string>10.4</string>
106108
<string>10.5</string>
107109
<string>11.0</string>
110+
<string>11.1</string>
108111
</array>
109112
<key>MacCatalyst</key>
110113
<array>
@@ -119,6 +122,7 @@
119122
<string>17.4</string>
120123
<string>17.5</string>
121124
<string>18.0</string>
125+
<string>18.1</string>
122126
</array>
123127
</dict>
124128
<key>MacCatalystVersionMap</key>
@@ -163,6 +167,8 @@
163167
<string>14.5</string>
164168
<key>18.0</key>
165169
<string>15.0</string>
170+
<key>18.1</key>
171+
<string>15.1</string>
166172
</dict>
167173
<key>RecommendedXcodeVersion</key>
168174
<string>@XCODE_VERSION@</string>

builds/Makefile

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ package-download/all-package-references.csproj: $(GIT_DIRECTORY)/HEAD $(GIT_DIRE
9595
download-packages.csproj \
9696
/t:WriteBundledNETCorePlatformsPackageVersion \
9797
/p:WriteFilePath=$(CURDIR)/BundledNETCorePlatformsPackageVersion.txt \
98-
/p:PackageRuntimeIdentifiers="$(DOTNET_RUNTIME_IDENTIFIERS)" \
98+
/p:PackageRuntimeIdentifiersMonoVM="$(DOTNET_MONOVM_RUNTIME_IDENTIFIERS)" \
9999
/p:PackageRuntimeIdentifiersCoreCLR="$(DOTNET_CORECLR_RUNTIME_IDENTIFIERS)" \
100100
/p:CustomDotNetVersion="$(DOWNLOAD_DOTNET_VERSION)" \
101101
/p:MonoToolChainManifestVersionBand="$(MONO_TOOLCHAIN_MANIFEST_VERSION_BAND)" \
@@ -134,10 +134,12 @@ DOTNET_COMMON_TARGETS = \
134134
$(foreach platform,$(DOTNET_PLATFORMS_UPPERCASE),$(DOTNET_DESTDIR)/$($(platform)_NUGET_SDK_NAME)/Versions.plist) \
135135
$(foreach platform,$(DOTNET_PLATFORMS_UPPERCASE),$(DOTNET_DESTDIR)/$($(platform)_NUGET_SDK_NAME)/tools/buildinfo) \
136136

137+
include $(TOP)/scripts/versions-check/fragment.mk
138+
$(VERSIONS_CHECK): downloads/$(DOTNET_INSTALL_NAME)
137139
define VersionInfo
138-
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/Versions.plist: $(TOP)/builds/Versions-$(1).plist.in Makefile $(TOP)/Make.config $(TOP)/versions-check.csharp | $(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)
139-
$$(Q) $(TOP)/versions-check.csharp $$< "$(DOTNET_MIN_IOS_SDK_VERSION)" "$(MAX_IOS_DEPLOYMENT_TARGET)" "$(DOTNET_MIN_TVOS_SDK_VERSION)" "$(MAX_TVOS_DEPLOYMENT_TARGET)" "$(MIN_WATCH_OS_VERSION)" "$(MAX_WATCH_DEPLOYMENT_TARGET)" "$(DOTNET_MIN_MACOS_SDK_VERSION)" "$(MACOS_SDK_VERSION)" "$(DOTNET_MIN_MACCATALYST_SDK_VERSION)" "$(MACCATALYST_SDK_VERSION)"
140-
$$(Q_GEN) sed -e 's/@XCODE_VERSION@/$(XCODE_VERSION)/g' -e "s/@MONO_VERSION@/$(DOTNET_VERSION)/g" $$< > $$@.tmp
140+
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/Versions.plist: $(TOP)/builds/Versions-$(1).plist.in Makefile $(TOP)/Make.config $(VERSIONS_CHECK) | $(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)
141+
$$(Q) $(VERSIONS_CHECK_EXEC) $$< "$(DOTNET_MIN_IOS_SDK_VERSION)" "$(MAX_IOS_DEPLOYMENT_TARGET)" "$(DOTNET_MIN_TVOS_SDK_VERSION)" "$(MAX_TVOS_DEPLOYMENT_TARGET)" "$(MIN_WATCH_OS_VERSION)" "$(MAX_WATCH_DEPLOYMENT_TARGET)" "$(DOTNET_MIN_MACOS_SDK_VERSION)" "$(MACOS_SDK_VERSION)" "$(DOTNET_MIN_MACCATALYST_SDK_VERSION)" "$(MACCATALYST_SDK_VERSION)"
142+
$$(QF_GEN) sed -e 's/@XCODE_VERSION@/$(XCODE_VERSION)/g' -e "s/@MONO_VERSION@/$(DOTNET_VERSION)/g" $$< > $$@.tmp
141143
$$(Q) mv $$@.tmp $$@
142144
endef
143145
$(foreach platform,$(DOTNET_PLATFORMS),$(eval $(call VersionInfo,$(platform))))

builds/Versions-MacCatalyst.plist.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<string>17.4</string>
2020
<string>17.5</string>
2121
<string>18.0</string>
22+
<string>18.1</string>
2223
</array>
2324
</dict>
2425
<key>SupportedTargetPlatformVersions</key>
@@ -48,6 +49,7 @@
4849
<string>17.4</string>
4950
<string>17.5</string>
5051
<string>18.0</string>
52+
<string>18.1</string>
5153
</array>
5254
</dict>
5355
<key>MacCatalystVersionMap</key>
@@ -92,6 +94,8 @@
9294
<string>14.5</string>
9395
<key>18.0</key>
9496
<string>15.0</string>
97+
<key>18.1</key>
98+
<string>15.1</string>
9599
</dict>
96100
<key>RecommendedXcodeVersion</key>
97101
<string>@XCODE_VERSION@</string>

builds/Versions-iOS.plist.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<string>17.4</string>
3737
<string>17.5</string>
3838
<string>18.0</string>
39+
<string>18.1</string>
3940
</array>
4041
</dict>
4142
<key>SupportedTargetPlatformVersions</key>
@@ -84,6 +85,7 @@
8485
<string>17.4</string>
8586
<string>17.5</string>
8687
<string>18.0</string>
88+
<string>18.1</string>
8789
</array>
8890
</dict>
8991
<key>RecommendedXcodeVersion</key>

0 commit comments

Comments
 (0)