From 11deccb84c0b585673b5792d6dab6baded9b17b7 Mon Sep 17 00:00:00 2001 From: David Date: Wed, 8 Nov 2023 14:05:01 -0500 Subject: [PATCH] feat: Add ability to enable hot-reload in release (for automated testing purposes only) --- .../XamlGenerator/XamlFileGenerator.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/SourceGenerators/Uno.UI.SourceGenerators/XamlGenerator/XamlFileGenerator.cs b/src/SourceGenerators/Uno.UI.SourceGenerators/XamlGenerator/XamlFileGenerator.cs index c756fec66026..841de8bd0afb 100644 --- a/src/SourceGenerators/Uno.UI.SourceGenerators/XamlGenerator/XamlFileGenerator.cs +++ b/src/SourceGenerators/Uno.UI.SourceGenerators/XamlGenerator/XamlFileGenerator.cs @@ -448,7 +448,7 @@ private void BuildInitializeComponent(IndentedStringBuilder writer, XamlObjectDe } else { - if (_isDebug) + if (_isHotReloadEnabled) { // Insert hot reload support writer.AppendLineIndented($"var __resourceLocator = new global::System.Uri(\"file:///{_fileDefinition.FilePath.Replace("\\", "/")}\");"); @@ -656,7 +656,7 @@ private void InitializeRemoteControlClient(IndentedStringBuilder writer) // a nuget package. writer.AppendLineIndented($"// Automatic remote control startup is disabled"); } - else if (_isDebug) + else if (_isHotReloadEnabled) { if (_metadataHelper.FindTypeByFullName("Uno.UI.RemoteControl.RemoteControlClient") != null) { @@ -1306,7 +1306,7 @@ IDisposable WrapSingleton() private void WriteMetadataNewTypeAttribute(IIndentedStringBuilder writer) { - if (_isDebug) + if (_isHotReloadEnabled) { writer.AppendLineIndented("[global::System.Runtime.CompilerServices.CreateNewOnMetadataUpdate]"); } @@ -2778,10 +2778,10 @@ private void BuildResourceDictionary(IIndentedStringBuilder writer, XamlMemberDe { // Some resources (such as material colors) are initialized upon creation and so can't be tracked this way, // as can't add the `SetElementProperty` call in a getter. - if (!isInInitializer && _isDebug) + if (!isInInitializer && _isHotReloadEnabled) { // Track source location of resources by key as they may be lazily initialized. - // Attach the values to the named string for similarity with other places where this informatin is stored. + // Attach the values to the named string for similarity with other places where this information is stored. writer.AppendLineIndented($"global::Uno.UI.Helpers.MarkupHelper.SetElementProperty(\"ResourceSourceLocations\", \"{key}\", \"file:///{_fileDefinition.FilePath.Replace("\\", "/")}#L{resource.LineNumber}:{resource.LinePosition}\"){closingPunctuation}"); } @@ -3622,7 +3622,7 @@ private void BuildExtendedProperties(IIndentedStringBuilder outerwriter, XamlObj if (IsFrameworkElement(objectDefinition.Type)) { - if (_isDebug) + if (_isHotReloadEnabled) { writer.AppendLineIndented( $"global::Uno.UI.FrameworkElementHelper.SetBaseUri(" + @@ -3639,7 +3639,7 @@ private void BuildExtendedProperties(IIndentedStringBuilder outerwriter, XamlObj } } - if (IsNotFrameworkElementButNeedsSourceLocation(objectDefinition) && _isDebug) + if (IsNotFrameworkElementButNeedsSourceLocation(objectDefinition) && _isHotReloadEnabled) { writer.AppendLineIndented($"global::Uno.UI.Helpers.MarkupHelper.SetElementProperty({closureName}, \"OriginalSourceLocation\", \"file:///{_fileDefinition.FilePath.Replace("\\", "/")}#L{objectDefinition.LineNumber}:{objectDefinition.LinePosition}\");"); }