Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,6 @@ INCLUDE_IOS=1
INCLUDE_MAC=1
INCLUDE_TVOS=1
INCLUDE_MACCATALYST=1
INCLUDE_HOTRESTART=1

-include $(TOP)/Make.config.local
-include $(TOP)/configure.inc
Expand Down
24 changes: 0 additions & 24 deletions docs/building-apps/build-properties.md
Original file line number Diff line number Diff line change
Expand Up @@ -1205,30 +1205,6 @@ However, the either of the following works:

Note: this property will always be `false` on macOS and Mac Catalyst.

## SkipStaticLibraryValidation

Hot Restart doesn't support linking with static libraries, so by default we'll
show an error if the project tries to link with any static libraries when
using Hot Restart.

However, in some cases it might be useful to ignore such errors (for instance if testing a code path in the app that doesn't require the static library in question), so it's possible to ignore them.

The valid values are:

* "true", "disable": Completely disable the validation.
* "false", "error", empty string: Enable the validation (this is the default)
* "warn": Validate, but show warnings instead of errors.

Example:

```xml
<PropertyGroup>
<SkipStaticLibraryValidation>warn</SkipStaticLibraryValidation>
</PropertyGroup>
```

This will show warnings instead of errors if the project tries to link with a static library.

## StripPath

The full path to the `strip` command-line tool.
Expand Down
11 changes: 0 additions & 11 deletions dotnet/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,6 @@ $(1)_WINDOWS_NUGET_TARGETS = \
endef
$(foreach platform,$(DOTNET_WINDOWS_PLATFORMS),$(eval $(call DefineWindowsTargets,$(platform))))

ifdef INCLUDE_HOTRESTART

iOS_WINDOWS_NUGET_TARGETS += \
$(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/Xamarin.PreBuilt.iOS.app.zip \

endif

DIRECTORIES += \
$(DOTNET_NUPKG_DIR) \
$(DOTNET_PKG_DIR) \
Expand Down Expand Up @@ -528,10 +521,6 @@ clean-local::
$(Q) $(DOTNET) restore package/workaround-for-maccore-issue-2427/restore.csproj /bl:package/workaround-for-maccore-issue-2427/restore.binlog $(MSBUILD_VERBOSITY)
$(Q) touch $@

$(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/Xamarin.PreBuilt.iOS.app.zip: .stamp-install-workloads
$(Q) $(MAKE) -C $(TOP)/msbuild/Xamarin.HotRestart.PreBuilt all
$(Q) touch $@

# We need to shut down the builder server, because:
# We're using parallel make, and parallel make will start a jobserver, managed by file descriptors, where these file descriptors must be closed in all subprocesses for make to realize it's done.
# 'dotnet pack' might have started a build server
Expand Down
6 changes: 0 additions & 6 deletions dotnet/Workloads/SignList.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@
<Skip Include="Build\System.Text.Json.dll" />
<Skip Include="Build\System.Threading.Tasks.Dataflow.dll" />
<Skip Include="Build\System.Threading.Tasks.Extensions.dll" />
<!-- They are now signed by their origin build https://github.com/xamarin/XamarinVS/pull/14522 -->
<Skip Include="imobiledevice-*\*.dll" />
<Skip Include="imobiledevice-*\*.exe" />
</ItemGroup>

<ItemGroup>
Expand Down Expand Up @@ -113,7 +110,6 @@
<FirstParty Include="Xamarin.Localization.Mlaunch.dll" />
<FirstParty Include="Xamarin.Localization.Mlaunch.resources.dll" />
<!-- Microsoft.iOS.Windows.Sdk content -->
<FirstParty Include="iSign.Core.dll" />
<FirstParty Include="System.Diagnostics.Tracer.dll" />
<!-- Xamarin.Messaging -->
<FirstParty Include="Merq.dll" />
Expand All @@ -126,8 +122,6 @@
<FirstParty Include="Microsoft.Build*.dll" />
<FirstParty Include="Microsoft.NET.StringTools.dll" />
<FirstParty Include="System.IO.Abstractions.dll" />
<!-- Xamarin.PreBuilt.iOS.app.zip -->
<FirstParty Include="Xamarin.PreBuilt.iOS.app\*.dll" />
<!-- Our new Microsoft.* product dlls -->
<FirstParty Include="Microsoft.iOS.dll" />
<FirstParty Include="Microsoft.MacCatalyst.dll" />
Expand Down
20 changes: 8 additions & 12 deletions dotnet/targets/Xamarin.Shared.Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2056,10 +2056,9 @@
<ResolvedFileToPublish Remove="$(ProjectRuntimeConfigFilePath)" Condition="'$(GenerateRuntimeConfigurationFiles)' == 'true'" />
</ItemGroup>

<!-- This task is executed on Windows as well, for hotrestart builds -->
<ComputeBundleLocation
SessionId="$(BuildSessionId)"
Condition="'$(IsMacEnabled)' == 'true' Or '$(IsHotRestartBuild)' == 'true'"
Condition="'$(IsMacEnabled)' == 'true'"
AssemblyDirectory="$(_AppContentsRelativePath)"
BundleResource="@(BundleResource)"
BundlerDebug="$(_BundlerDebug)"
Expand Down Expand Up @@ -2150,12 +2149,11 @@
<ResolvedFileToPublish RelativePath="$(_RelativeAppBundlePath)\%(RelativePath)" OriginalRelativePath="%(RelativePath)" />
</ItemGroup>

<!-- This task is executed on Windows as well, for hotrestart builds -->
<!-- resolve any .xcframeworks and binding resource packages -->
<!-- Skip doing this when not building on macOS if we're not a remoteable platform (i.e. iOS), because we want such builds to succeed (even if they produce non-working output), and ResolveNativeReferences will fail if running into symlinks (which happens for macOS and Mac Catalyst builds) -->
<ResolveNativeReferences
SessionId="$(BuildSessionId)"
Condition="('$(IsMacEnabled)' == 'true' Or '$(IsHotRestartBuild)' == 'true') And '$(_IsNonMacOSBuildForNonRemotablePlatform)' != 'true'"
Condition="'$(IsMacEnabled)' == 'true' And '$(_IsNonMacOSBuildForNonRemotablePlatform)' != 'true'"
Architectures="$(TargetArchitectures)"
FrameworksDirectory="$(_AppFrameworksRelativePath)"
IntermediateOutputPath="$(DeviceSpecificIntermediateOutputPath)"
Expand Down Expand Up @@ -2217,10 +2215,9 @@
</_CompressedPlugIns>
</ItemGroup>

<!-- This task is executed from Windows as well when using HotRestart -->
<Unzip
SessionId="$(BuildSessionId)"
Condition="'$(IsMacEnabled)' == 'true' Or '$(IsHotRestartBuild)' == 'true'"
Condition="'$(IsMacEnabled)' == 'true'"
ZipFilePath="%(_CompressedPlugIns.Identity)"
ExtractionPath="%(_CompressedPlugIns.ExtractionPath)"
>
Expand Down Expand Up @@ -2260,10 +2257,9 @@
</_CompressedXpcServices>
</ItemGroup>

<!-- This task is executed from Windows as well when using HotRestart -->
<Unzip
SessionId="$(BuildSessionId)"
Condition="'$(IsMacEnabled)' == 'true' Or '$(IsHotRestartBuild)' == 'true'"
Condition="'$(IsMacEnabled)' == 'true'"
CopyToWindows="true"
ZipFilePath="%(_CompressedXpcServices.Identity)"
ExtractionPath="%(_CompressedXpcServices.ExtractionPath)"
Expand Down Expand Up @@ -2641,10 +2637,10 @@ global using nfloat = global::System.Runtime.InteropServices.NFloat%3B
treated as globs. The workaround is to use a custom task for this.

Note that this task should run remotely from Windows when there's
a Mac connected, but locally when there's not a Mac connected (for
Hot Restart builds for instance), so we're not conditioning this
task on IsMacEnabled. Instead we're only setting SessionId if we
have a session id *and* we're connected to a Mac.
a Mac connected, but locally when there's not a Mac connected,
so we're not conditioning this task on IsMacEnabled.
Instead we're only setting SessionId if we have a session id
*and* we're connected to a Mac.

-->
<GetFileSystemEntries
Expand Down
5 changes: 2 additions & 3 deletions msbuild/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<PropertyGroup>
<!--

Some feeds have testing versions of the Messaging and HotRestart
packages with versions 99.*. This means that we'll want the exact
Some feeds have testing versions of the Messaging packages
with versions 99.*. This means that we'll want the exact
version of the packages below, not the specified version or any
other later version, because if the requested version doesn't
exist, we'll get the testing version and things break in
Expand All @@ -16,7 +16,6 @@

-->
<MessagingVersion Condition="'$(MessagingVersion)' == ''">[18.0.280-ga047b642b9]</MessagingVersion>
<HotRestartVersion>[17.14.133-g001ce2ac7a]</HotRestartVersion>
</PropertyGroup>
<Import Project="$(MSBuildThisFileDirectory)../Directory.Build.props" />
</Project>
11 changes: 1 addition & 10 deletions msbuild/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ IOS_WINDOWS_TARGETS = \

TASK_ASSEMBLIES = Xamarin.MacDev.Tasks $(LOCALIZATION_ASSEMBLIES)
IOS_WINDOWS_TASK_ASSEMBLIES = Xamarin.iOS.Tasks.Windows
IOS_WINDOWS_DEPENDENCIES = Xamarin.iOS.Windows.Client iSign.Core ws2_32 System.Diagnostics.Tracer System.Formats.Asn1 System.Buffers System.Memory System.Numerics.Vectors System.Runtime.CompilerServices.Unsafe System.Security.Cryptography.ProtectedData System.Security.Cryptography.Pkcs Microsoft.Win32.Registry
IOS_WINDOWS_MOBILEDEVICE_TOOLS = iMobileDevice-net bz2 getopt ideviceactivation idevicebackup idevicebackup2 idevicecrashreport idevicedate idevicedebug idevicedebugserverproxy idevicediagnostics ideviceenterrecovery ideviceimagemounter ideviceinfo ideviceinstaller idevicename idevicenotificationproxy idevicepair ideviceprovision idevicerestore idevicescreenshot idevicesyslog idevice_id imobiledevice-net-lighthouse imobiledevice ios_webkit_debug_proxy iproxy irecovery irecovery libcharset libcurl LIBEAY32 libiconv libusb-1.0 libusb0 libxml2 lzma pcre pcreposix plist plistutil plist_cmp plist_test pthreadVC3 readline SSLEAY32 usbmuxd usbmuxd vcruntime140 zip zlib1
IOS_WINDOWS_DEPENDENCIES = System.Diagnostics.Tracer System.Formats.Asn1 System.Buffers System.Memory System.Numerics.Vectors System.Runtime.CompilerServices.Unsafe System.Security.Cryptography.ProtectedData System.Security.Cryptography.Pkcs Microsoft.Win32.Registry

PROPS_AND_TARGETS = \
$(wildcard Xamarin.Shared/*.props) \
Expand Down Expand Up @@ -105,22 +104,14 @@ MSBUILD_PRODUCTS += $(DOTNET_TARGETS)
DOTNET_IOS_WINDOWS_OUTPUT_FILES = \
$(foreach dll,$(IOS_WINDOWS_TASK_ASSEMBLIES),$(dll).*) \
$(foreach dll,$(IOS_WINDOWS_DEPENDENCIES),$(dll).*) \
iSign.Core.pdb \
Xamarin.iOS.Windows.Client.pdb \
Broker.zip \

DOTNET_IOS_WINDOWS_FILES = $(IOS_WINDOWS_TARGETS) $(foreach file,$(DOTNET_IOS_WINDOWS_OUTPUT_FILES),Xamarin.iOS.Tasks.Windows/bin/$(CONFIG)/$(TARGETFRAMEWORK)/$(WINDOWSRUNTIMEIDENTIFIER)/$(file))
DOTNET_IOS_WINDOWS_FILES += Messaging/Xamarin.Messaging.Build/obj/$(CONFIG)/Build.zip
DOTNET_IOS_WINDOWS_MOBILEDEVICE_TOOLS_X86 = $(foreach file,$(IOS_WINDOWS_MOBILEDEVICE_TOOLS),Xamarin.iOS.Tasks.Windows/bin/$(CONFIG)/$(TARGETFRAMEWORK)/$(WINDOWSRUNTIMEIDENTIFIER)/imobiledevice-x86/$(file).*)
DOTNET_IOS_WINDOWS_MOBILEDEVICE_TOOLS_X64 = $(foreach file,$(IOS_WINDOWS_MOBILEDEVICE_TOOLS),Xamarin.iOS.Tasks.Windows/bin/$(CONFIG)/$(TARGETFRAMEWORK)/$(WINDOWSRUNTIMEIDENTIFIER)/imobiledevice-x64/$(file).*)

.copy-windows-files: .build-stamp
$(Q) mkdir -p $(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS
$(Q) $(CP) $(DOTNET_IOS_WINDOWS_FILES) $(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/
$(Q) mkdir -p $(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/imobiledevice-x86
$(Q) $(CP) $(DOTNET_IOS_WINDOWS_MOBILEDEVICE_TOOLS_X86) $(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/imobiledevice-x86/
$(Q) mkdir -p $(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/imobiledevice-x64
$(Q) $(CP) $(DOTNET_IOS_WINDOWS_MOBILEDEVICE_TOOLS_X64) $(DOTNET_DESTDIR)/$(IOS_NUGET_WINDOWS_SDK_NAME)/tools/msbuild/iOS/imobiledevice-x64/

.dotnet-windows: .build-stamp .copy-windows-files

Expand Down
1 change: 0 additions & 1 deletion msbuild/Xamarin.HotRestart.PreBuilt/.gitignore

This file was deleted.

25 changes: 0 additions & 25 deletions msbuild/Xamarin.HotRestart.PreBuilt/Makefile

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Loading