[dotnet] Build & publish MacCatalyst packs. (#10624)
* [dotnet] Build & publish MacCatalyst packs. * Add runtime support.
This commit is contained in:
Родитель
c3677a0b39
Коммит
f4ac99efc0
|
@ -522,6 +522,7 @@ endif
|
|||
endif
|
||||
|
||||
ifdef INCLUDE_MACCATALYST
|
||||
DOTNET_PLATFORMS+=MacCatalyst
|
||||
DOTNET_MACCATALYST_RUNTIME_IDENTIFIERS=maccatalyst-x64
|
||||
endif
|
||||
|
||||
|
|
|
@ -7,6 +7,8 @@ DOTNET_MANIFESTS_PATH=$(DOTNET6_DIR)/sdk-manifests/$(DOTNET6_VERSION_BAND)
|
|||
DOTNET_PACKS_PATH=$(DOTNET6_DIR)/packs
|
||||
TMP_PKG_DIR=_pkg
|
||||
|
||||
DOTNET_PLATFORMS_UPPERCASE:=$(shell echo $(DOTNET_PLATFORMS) | tr a-z A-Z)
|
||||
|
||||
# Create variables prefixed with the correctly cased platform name from the upper-cased platform name. This makes some of the next sections somewhat simpler.
|
||||
$(foreach platform,$(DOTNET_PLATFORMS),$(eval $(platform)_NUGET_VERSION_NO_METADATA:=$($(shell echo $(platform) | tr a-z A-Z)_NUGET_VERSION_NO_METADATA)))
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\targets\Microsoft.MacCatalyst.Sdk.DefaultItems.props" />
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\targets\Microsoft.MacCatalyst.Sdk.props" />
|
||||
</Project>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_PlatformName>MacCatalyst</_PlatformName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="Xamarin.Shared.Sdk.props" />
|
||||
</Project>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="Xamarin.Shared.Sdk.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<Import Project="Sdk.props" Sdk="Microsoft.MacCatalyst.Sdk" Condition="'$(TargetPlatformIdentifier)' == 'MacCatalyst'" />
|
||||
</Project>
|
|
@ -0,0 +1,8 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<_PlatformName>MacCatalyst</_PlatformName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="../microsoft.ref.csproj" />
|
||||
</Project>
|
|
@ -0,0 +1,9 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<_PlatformName>MacCatalyst</_PlatformName>
|
||||
<_RuntimeIdentifier>maccatalyst-arm64</_RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="../microsoft.runtime.csproj" />
|
||||
</Project>
|
|
@ -0,0 +1,9 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<_PlatformName>MacCatalyst</_PlatformName>
|
||||
<_RuntimeIdentifier>maccatalyst-x64</_RuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="../microsoft.runtime.csproj" />
|
||||
</Project>
|
|
@ -0,0 +1,8 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<_PlatformName>MacCatalyst</_PlatformName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="../microsoft.sdk.csproj" />
|
||||
</Project>
|
|
@ -23,6 +23,7 @@
|
|||
<_AssemblyInfix Condition="'$(_PlatformName)' == 'tvOS'">TVOS</_AssemblyInfix>
|
||||
<_AssemblyInfix Condition="'$(_PlatformName)' == 'watchOS'">WatchOS</_AssemblyInfix>
|
||||
<_AssemblyInfix Condition="'$(_PlatformName)' == 'macOS'">Mac</_AssemblyInfix>
|
||||
<_AssemblyInfix Condition="'$(_PlatformName)' == 'MacCatalyst'">MacCatalyst</_AssemblyInfix>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -101,6 +101,7 @@
|
|||
<_PlatformAssemblyName Condition=" '$(_PlatformName)' == 'tvOS' ">Xamarin.TVOS</_PlatformAssemblyName>
|
||||
<_PlatformAssemblyName Condition=" '$(_PlatformName)' == 'watchOS' ">Xamarin.WatchOS</_PlatformAssemblyName>
|
||||
<_PlatformAssemblyName Condition=" '$(_PlatformName)' == 'macOS' ">Xamarin.Mac</_PlatformAssemblyName>
|
||||
<_PlatformAssemblyName Condition=" '$(_PlatformName)' == 'MacCatalyst' ">Xamarin.MacCatalyst</_PlatformAssemblyName>
|
||||
|
||||
<!-- We have to set DebuggerSupport before importing Microsoft.NET.Sdk -->
|
||||
<!-- That means we have to set _BundlerDebug before that, because DebuggerSupport depends on it -->
|
||||
|
|
|
@ -216,6 +216,8 @@ ifdef INCLUDE_DEVICE
|
|||
$(eval $(call PlatformTemplate,iphoneos,IPHONEOS,armv7 armv7s arm64))
|
||||
endif
|
||||
$(eval $(call PlatformTemplate,iphonesimulator,IOSSIMULATOR,x86 x86_64))
|
||||
endif
|
||||
ifdef INCLUDE_MACCATALYST
|
||||
$(eval $(call PlatformTemplate,maccatalyst,MACCATALYST,x86_64))
|
||||
endif
|
||||
|
||||
|
@ -616,6 +618,9 @@ $(eval $(call DotNetLipoLibTemplate,watchOS,watchos-arm,watchos,armv7k arm64_32)
|
|||
endif
|
||||
endif
|
||||
$(eval $(call DotNetCopyLibTemplate,macOS,osx-x64,mac,x86_64))
|
||||
ifdef INCLUDE_MACCATALYST
|
||||
$(eval $(call DotNetCopyLibTemplate,MacCatalyst,maccatalyst-x64,maccatalyst,x86_64))
|
||||
endif
|
||||
|
||||
define DotNetFrameworkTemplate
|
||||
DOTNET_TARGETS += \
|
||||
|
@ -648,7 +653,7 @@ $(DOTNET_DESTDIR)/Microsoft.$(1).Runtime.$(2)/runtimes/$(2)/native/Frameworks/%:
|
|||
endef
|
||||
|
||||
# macOS does not have the Xamarin[-debug].framework frameworks
|
||||
$(foreach platform,$(filter-out macOS,$(DOTNET_PLATFORMS)),$(foreach rid,$(DOTNET_$(platform)_RUNTIME_IDENTIFIERS),$(eval $(call DotNetFrameworkTemplate,$(platform),$(rid)))))
|
||||
$(foreach platform,$(filter-out macOS MacCatalyst,$(DOTNET_PLATFORMS)),$(foreach rid,$(DOTNET_$(platform)_RUNTIME_IDENTIFIERS),$(eval $(call DotNetFrameworkTemplate,$(platform),$(rid)))))
|
||||
|
||||
# If the RID represents fewer architectures than the library in .libs, then use the LipoTemplate, otherwise the CopyTemplate
|
||||
ifdef INCLUDE_IOS
|
||||
|
|
Загрузка…
Ссылка в новой задаче