From c60505ccd48bf535cf313948156d3b31e43c8fcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:17:53 -0400 Subject: [PATCH 01/11] Trim down the vsconfig requirements --- src/.vsconfig | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/src/.vsconfig b/src/.vsconfig index e2ed11bca9ca..d8ef0c08d3f5 100644 --- a/src/.vsconfig +++ b/src/.vsconfig @@ -56,23 +56,13 @@ "Microsoft.VisualStudio.Component.DockerTools", "Microsoft.VisualStudio.Component.Web", "Microsoft.VisualStudio.Component.Wcf.Tooling", - "Microsoft.VisualStudio.Component.GraphDocument", - "Microsoft.VisualStudio.Component.CodeMap", "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.VisualStudio.Component.VC.CoreIde", - "Microsoft.VisualStudio.Component.VC.Redist.14.Latest", "Microsoft.VisualStudio.Component.ClassDesigner", - "Microsoft.VisualStudio.ComponentGroup.ArchitectureTools.Native", - "Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core", "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", "Microsoft.VisualStudio.Component.Windows10SDK.17763", "Microsoft.VisualStudio.Component.Graphics.Tools", - "Microsoft.VisualStudio.Component.VC.DiagnosticTools", - "Microsoft.VisualStudio.Component.VC.CMake.Project", "Microsoft.VisualStudio.Component.VC.ATL", - "Microsoft.VisualStudio.Component.VC.TestAdapterForBoostTest", - "Microsoft.VisualStudio.Component.VC.TestAdapterForGoogleTest", - "Microsoft.VisualStudio.Workload.NativeDesktop", "Microsoft.Component.NetFX.Native", "Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard", "Microsoft.VisualStudio.Component.Graphics", @@ -100,15 +90,6 @@ "Microsoft.VisualStudio.Component.AspNet45", "Microsoft.VisualStudio.Component.WebDeploy", "Microsoft.VisualStudio.Workload.NetWeb", - "Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites", - "Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools", - "Microsoft.VisualStudio.Component.Azure.Waverton", - "Microsoft.Component.Azure.DataLake.Tools", - "Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools", - "Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools", - "Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices", - "Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools", - "Microsoft.VisualStudio.Workload.Azure", "Microsoft.VisualStudio.Component.Node.Tools", "Microsoft.VisualStudio.Workload.Node", "Microsoft.VisualStudio.Component.MonoDebugger", From f3b2d797093d0f9f666865c7bfca0ee5b8fcb8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:18:08 -0400 Subject: [PATCH 02/11] Adjust sample app for macOS --- .../SampleChooserViewModel.macOS.cs | 106 ++++++++++++++++++ .../UITests/Views/Controls/StarStackPanel.cs | 20 ++-- .../SamplesApp.UnitTests.Shared.projitems | 1 + .../SamplesApp.macOS/SamplesApp.macOS.csproj | 5 +- 4 files changed, 122 insertions(+), 10 deletions(-) create mode 100644 src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs diff --git a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs new file mode 100644 index 000000000000..6b5d4d76e9ba --- /dev/null +++ b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Presentation/SampleChooserViewModel.macOS.cs @@ -0,0 +1,106 @@ +#if __MACOS__ +using System; +using System.Threading; +using System.Threading.Tasks; +using System.Reflection; +using System.Linq; +using Uno.UI.Samples.Controls; +using System.Collections; +using System.Collections.Generic; +using SampleControl.Entities; +using Uno.Disposables; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using AppKit; +using System.IO; +using Foundation; +using Windows.UI; +using Uno.Extensions; +using Uno.Logging; +using Microsoft.Extensions.Logging; + +namespace SampleControl.Presentation +{ + + public partial class SampleChooserViewModel + { + public void PrintViewHierarchy(AppKit.NSView vg, System.Text.StringBuilder sb, int level = 0) + { + for (int i = 0; i < vg.Subviews.Length; i++) + { + var v = vg.Subviews[i]; + var vElement = v as IFrameworkElement; + var desc = string.Concat(Enumerable.Repeat(" |", level)) + $" [{i + 1}/{vg.Subviews.Length}] {v.Class.Name}"; + if (vElement != null) + { + desc += $" -- ActualHeight:{vElement.ActualHeight}, ActualWidth:{vElement.ActualWidth}, Height:{vElement.Height}, Width:{vElement.Width}, DataContext:{(vElement as IDataContextProvider)?.DataContext?.GetType().FullName}"; + var vTextBlock = vElement as TextBlock; + if (vTextBlock != null) + { + desc += $", Text: {vTextBlock.Text}"; + } + } + + sb.AppendLine(desc); + var childViewGroup = v as AppKit.NSView; + if (childViewGroup != null) + { + PrintViewHierarchy(childViewGroup, sb, level + 1); + } + } + } + + private async Task DumpOutputFolderName(CancellationToken ct, string folderName) + { + var fullPath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), folderName); + + Console.WriteLine($"Output folder for tests: {fullPath}"); + } + + private async Task GenerateBitmap(CancellationToken ct, string folderName, string fileName, IFrameworkElement content) + { + throw new NotSupportedException($"GenerateBitmap is not supported by this platform"); + + //content.MinWidth = 400; + //content.MinHeight = 400; + //(content as AppKit.NSView).BackgroundColor = Colors.White; + + //var size = (content as AppKit.NSView).SizeThatFits(new CoreGraphics.CGSize(1024, 1024)); + + //if (size.Width == nfloat.NaN || size.Height == nfloat.NaN) + //{ + // size = new CoreGraphics.CGSize(1024, 1024); + //} + + //NSGraphics.BeginImageContextWithOptions(size, true, 0); + //var ctx = NSGraphics.GetCurrentContext(); + + //(content as AppKit.NSView)?.Layer.RenderInContext(ctx); + + //using (var img = UIGraphics.GetImageFromCurrentImageContext()) + //{ + // NSGraphics.EndImageContext(); + + // var fullPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), folderName); + // var filePath = Path.Combine(fullPath, fileName); + + // Directory.CreateDirectory(fullPath); + + // NSError error; + // img.AsPNG().Save(filePath, true, out error); + + // if (error != null) + // { + // this.Log().Error(error.ToString()); + // } + + // if (this.Log().IsEnabled(LogLevel.Debug)) + // { + // this.Log().Debug($"Wrote screenshot to {filePath}"); + // } + //} + } + } +} +#endif diff --git a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs index a2d826e2b5d7..3e91a76ca8be 100644 --- a/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs +++ b/src/SamplesApp/SamplesApp.UnitTests.Shared/Controls/UITests/Views/Controls/StarStackPanel.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text.RegularExpressions; -#if !NETFX_CORE && !__ANDROID__ && !__IOS__ && !__WASM__ +#if !NETFX_CORE && !__ANDROID__ && !__IOS__ && !__WASM__ && !__MACOS__ using System.Windows; using System.Windows.Controls; #else @@ -13,13 +13,15 @@ using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; #endif -#if __ANDROID__ || __IOS__ || __WASM__ +#if __ANDROID__ || __IOS__ || __WASM__ || __MACOS__ using DependencyObject = System.Object; #endif #if __ANDROID__ using UIElement = Android.Views.View; #elif __IOS__ using UIElement = UIKit.UIView; +#elif __MACOS__ +using UIElement = AppKit.NSView; #endif namespace Uno.UI.Samples.Controls @@ -45,7 +47,7 @@ protected override Size MeasureOverride(Size availableSize) double starTotal = 0; var children = Children -#if !NETFX_CORE && !__ANDROID__ && !__IOS__ // Useless operator (==overhead on UI thread) for Jupiter platform +#if !NETFX_CORE && !__ANDROID__ && !__IOS__ && !__MACOS__ // Useless operator (==overhead on UI thread) for Jupiter platform .Cast() #endif .OrderBy(GetPriority) @@ -129,7 +131,7 @@ private void MesureChildAbsolute(UIElement child, Orientation orientation, Size availableSize.Width = Math.Max(sizeHint.Value, 0); } -#if __ANDROID__ || __IOS__ +#if __ANDROID__ || __IOS__ || __MACOS__ var desiredSize = MeasureElement(child, availableSize); #else child.Measure(availableSize); @@ -159,7 +161,7 @@ private void MesureChildAuto(UIElement child, Orientation orientation, Size avai availableSize.Width = Math.Max(availableSize.Width - totalSize.Width, 0); } -#if __ANDROID__ || __IOS__ +#if __ANDROID__ || __IOS__ || __MACOS__ var desiredSize = MeasureElement(child, availableSize); #else child.Measure(availableSize); @@ -197,7 +199,7 @@ private void MesureChildStar(UIElement child, Orientation orientation, Size avai availableSize.Width *= portion; } -#if __ANDROID__ || __IOS__ +#if __ANDROID__ || __IOS__ || __MACOS__ var desiredSize = MeasureElement(child, availableSize); #else child.Measure(availableSize); @@ -319,7 +321,7 @@ private Record ComputeChildSize(UIElement child, Orientation orientation, ref Si private void ComputeChildAutoSize(UIElement child, Orientation orientation, ref Size finalSize, ref double totalLength, ref Size size) { -#if __ANDROID__ || __IOS__ +#if __ANDROID__ || __IOS__ || __MACOS__ var desiredSize = GetElementDesiredSize(child); #else var desiredSize = child.DesiredSize; @@ -396,7 +398,7 @@ private void ArrangeChild(Record record, Orientation orientation, ref Size final totalLength += size.Width; } -#if __ANDROID__ || __IOS__ +#if __ANDROID__ || __IOS__ || __MACOS__ ArrangeElement(record.Child, rect); #else record.Child.Arrange(rect); @@ -436,7 +438,7 @@ private static void InvalidateLayoutOnChanged(DependencyObject d, DependencyProp panel.InvalidateMeasure(); -#if !__ANDROID__ && !__IOS__ +#if !__ANDROID__ && !__IOS__ && !__MACOS__ panel.InvalidateArrange(); #endif } diff --git a/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems b/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems index 3faabfb4b9d8..143cbde0accf 100644 --- a/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems +++ b/src/SamplesApp/SamplesApp.UnitTests.Shared/SamplesApp.UnitTests.Shared.projitems @@ -11,6 +11,7 @@ + diff --git a/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj b/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj index 0804b9bb54d1..1253aa52d7ee 100644 --- a/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj +++ b/src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj @@ -68,6 +68,9 @@ + + 12.0.1 + @@ -127,4 +130,4 @@ - \ No newline at end of file + From 52ec9e64eb7ab89a55e4f84861ae0d8c74be8ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:19:19 -0400 Subject: [PATCH 03/11] update build definitions for macOS --- .azure-devops-macos.yml | 50 ++++++++++++++++++++++++++++++++++++++++ .vsts-ci.yml | 51 +---------------------------------------- 2 files changed, 51 insertions(+), 50 deletions(-) create mode 100644 .azure-devops-macos.yml diff --git a/.azure-devops-macos.yml b/.azure-devops-macos.yml new file mode 100644 index 000000000000..89cbd777f26c --- /dev/null +++ b/.azure-devops-macos.yml @@ -0,0 +1,50 @@ +jobs: +- job: macOS + variables: + CI_Build: true + SourceLinkEnabled: false + + pool: + vmImage: 'macOS-10.14' + + steps: + - checkout: self + clean: true + + - bash: /bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1" + displayName: Select Xamarin Version + + - task: NuGetToolInstaller@0 + inputs: + versionSpec: 4.7.0 + checkLatest: false + + - task: MSBuild@1 + inputs: + solution: src/SamplesApp/SamplesApp.macOS/SamplesApp.macOS.csproj + msbuildLocationMethod: version + msbuildVersion: latest + msbuildArchitecture: x86 + msbuildArguments: /r /p:Configuration=Release /detailedsummary /bl:$(build.artifactstagingdirectory)/build-macos.binlog + clean: false + maximumCpuCount: true + restoreNugetPackages: false + logProjectEvents: false + createLogFile: false + + - task: CopyFiles@2 + displayName: 'Copy macOS artifacts' + inputs: + SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.macOS/bin/Release + Contents: '**/*.pkg' + TargetFolder: $(build.artifactstagingdirectory) + CleanTargetFolder: false + OverWrite: false + flattenFolders: false + + - task: PublishBuildArtifacts@1 + condition: always() + inputs: + PathtoPublish: $(build.artifactstagingdirectory) + ArtifactName: uno-macos-artifacts + ArtifactType: Container diff --git a/.vsts-ci.yml b/.vsts-ci.yml index 1d8cb7b38a75..dbd16e00327b 100644 --- a/.vsts-ci.yml +++ b/.vsts-ci.yml @@ -5,6 +5,7 @@ resources: jobs: - template: .azure-devops-wasm-uitests.yml +- template: .azure-devops-macos.yml - job: VS_Latest @@ -96,56 +97,6 @@ jobs: ArtifactName: NugetPackages ArtifactType: Container -# Disabled until VS4Mac is updated to 7.7 or later. -#- job: macOS -# variables: -# NUGET_PACKAGES: $(Agent.WorkFolder)\.nuget -# NUGET_HTTP_CACHE_PATH: $(Agent.WorkFolder)\.nuget-http-cache -# CombinedConfiguration: Release|Any CPU -# CI_Build: true -# SourceLinkEnabled: false -# -# queue: -# name: Hosted macOS -# -# steps: -# - checkout: self -# clean: true -# -# - task: NuGetToolInstaller@0 -# inputs: -# versionSpec: 4.7.0 -# checkLatest: false -# -# - task: NuGetCommand@2 -# inputs: -# command: restore -# solution: src/Uno.UI-vs4mac.sln -# selectOrConfig: select -# includeNuGetOrg: true -# verbosityRestore: Normal -# -# - task: MSBuild@1 -# inputs: -# solution: Build/Uno.UI.proj -# msbuildLocationMethod: version -# msbuildVersion: latest -# msbuildArchitecture: x86 -# msbuildArguments: /r /p:CheckExclusions=True "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-macos.binlog -# clean: false -# maximumCpuCount: true -# restoreNugetPackages: false -# logProjectEvents: false -# createLogFile: false -# -# - task: PublishBuildArtifacts@1 -# # https://developercommunity.visualstudio.com/content/problem/284991/public-vsts-previouw-cant-set-build-number-of-pr-b.html -# condition: eq(variables['System.PullRequest.IsFork'], 'False') -# inputs: -# PathtoPublish: $(build.artifactstagingdirectory) -# ArtifactName: uno-macos-artifacts -# ArtifactType: Container - - job: Documentation pool: From 3b38b2eec594e48df9ea26282b233dd525245941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:19:33 -0400 Subject: [PATCH 04/11] Always publish wasm uitests results --- .azure-devops-wasm-uitests.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.azure-devops-wasm-uitests.yml b/.azure-devops-wasm-uitests.yml index 1ffd13241776..0835491fc03c 100644 --- a/.azure-devops-wasm-uitests.yml +++ b/.azure-devops-wasm-uitests.yml @@ -46,8 +46,6 @@ jobs: flattenFolders: false - task: PublishBuildArtifacts@1 - # https://developercommunity.visualstudio.com/content/problem/284991/public-vsts-previouw-cant-set-build-number-of-pr-b.html - condition: eq(variables['System.PullRequest.IsFork'], 'False') inputs: PathtoPublish: $(build.artifactstagingdirectory) ArtifactName: wasm-uitests From 5bcb432cc04750eaa169e46c27ff21be73a5a9c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:19:48 -0400 Subject: [PATCH 05/11] Include macOS in the nuget spec --- build/Uno.UI.nuspec | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/build/Uno.UI.nuspec b/build/Uno.UI.nuspec index 141975da8653..abfdd1f3a90a 100644 --- a/build/Uno.UI.nuspec +++ b/build/Uno.UI.nuspec @@ -42,6 +42,13 @@ + + + + + + + @@ -57,9 +64,14 @@ + + + + + @@ -82,6 +94,15 @@ + + + + + + + + + @@ -139,8 +160,7 @@ - - + @@ -151,6 +171,17 @@ + + + + + + + + + + + @@ -182,9 +213,11 @@ + + From 9343ab7451b2a684964fa2ef169785b0c12053b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:21:08 -0400 Subject: [PATCH 06/11] Adjust for macOS build --- src/Uno.UI/Uno.UI.csproj | 62 +++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/src/Uno.UI/Uno.UI.csproj b/src/Uno.UI/Uno.UI.csproj index 2ecab293996a..3e7f3da6c036 100644 --- a/src/Uno.UI/Uno.UI.csproj +++ b/src/Uno.UI/Uno.UI.csproj @@ -28,11 +28,11 @@ - + - + @@ -62,14 +62,14 @@ DependencyPropertyMixins.tt - FrameworkElementMixins.tt - True - True + FrameworkElementMixins.tt + True + True - VisualStatesMixins.tt - True - True + VisualStatesMixins.tt + True + True True @@ -145,7 +145,7 @@ - + @@ -155,7 +155,7 @@ - + none @@ -192,9 +192,9 @@ false - + false - + @@ -290,13 +290,13 @@ - + - - $(MSBuildThisFileDirectory)..\SourceGenerators\Uno.UI.SourceGenerators\bin\$(Configuration) + + $(MSBuildThisFileDirectory)..\SourceGenerators\Uno.UI.SourceGenerators\bin\$(Configuration) $(MSBuildThisFileDirectory)..\SourceGenerators\Uno.UI.Tasks\bin\$(Configuration)_Shadow - + @@ -338,15 +338,15 @@ - + - - TextTemplatingFileGenerator - + + TextTemplatingFileGenerator + - + @@ -354,7 +354,24 @@ - + + + + + <_ReferenceToRemove + Include="@(Reference)" + Condition="'%(Reference.Identity)'=='System.Memory'" /> + + + + - From 6b8c43a0d93fd9cd3de651dd2933c1b6fb3868c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 16:46:57 -0400 Subject: [PATCH 07/11] Build all sample apps --- src/Uno.UI.sln | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Uno.UI.sln b/src/Uno.UI.sln index 64709b26b343..86bcc82557da 100644 --- a/src/Uno.UI.sln +++ b/src/Uno.UI.sln @@ -30,7 +30,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.UI.BindingHelper.Androi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uno.UI.AssemblyComparer", "Uno.UI.AssemblyComparer\Uno.UI.AssemblyComparer.csproj", "{2B899715-3B2E-4178-ACB5-70AB4B26EEDF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uno.UI.SourceGenerators", "SourceGenerators\Uno.UI.SourceGenerators\Uno.UI.SourceGenerators.csproj", "{68E667C4-AAED-4242-A47F-3D77C33C489E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Uno.UI.SourceGenerators", "SourceGenerators\Uno.UI.SourceGenerators\Uno.UI.SourceGenerators.csproj", "{68E667C4-AAED-4242-A47F-3D77C33C489E}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Uno.UI.Tasks", "SourceGenerators\Uno.UI.Tasks\Uno.UI.Tasks.csproj", "{946D318B-305A-4264-81A4-31698DCC22F7}" EndProject @@ -2985,6 +2985,7 @@ Global {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release_UWP|x86.ActiveCfg = AppStore|iPhone {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release_UWP|x86.Build.0 = AppStore|iPhone {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|Any CPU.ActiveCfg = Release|iPhone + {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|Any CPU.Build.0 = Release|iPhone {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|ARM.ActiveCfg = Release|iPhone {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|iPhone.ActiveCfg = Release|iPhone {B71AE380-558C-4D6C-81D8-9C043B50262C}.Release|iPhone.Build.0 = Release|iPhone @@ -3113,6 +3114,7 @@ Global {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release_UWP|x86.Build.0 = Release|x86 {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release_UWP|x86.Deploy.0 = Release|x86 {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|Any CPU.ActiveCfg = Release|x86 + {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|Any CPU.Build.0 = Release|x86 {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|ARM.ActiveCfg = Release|ARM {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|ARM.Build.0 = Release|ARM {6C25BEB3-E332-48D3-B4DE-20A0B71935CD}.Release|ARM.Deploy.0 = Release|ARM @@ -3589,6 +3591,7 @@ Global {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release_UWP|x86.ActiveCfg = Release|iPhoneSimulator {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release_UWP|x86.Build.0 = Release|iPhoneSimulator {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|Any CPU.Build.0 = Release|iPhoneSimulator {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|ARM.ActiveCfg = Release|iPhoneSimulator {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|iPhone.ActiveCfg = Release|iPhoneSimulator {313FCF91-A6DB-4585-A23E-49BBEEF4784D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator From 712d76406e5d48311304ab3f65acbe395319ed19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Wed, 17 Apr 2019 17:42:46 -0400 Subject: [PATCH 08/11] Disable .NET Native for UWP --- src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj index b30d4a05d4c2..ea690f76016d 100644 --- a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj +++ b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj @@ -39,7 +39,7 @@ false prompt true - true + false true @@ -62,7 +62,7 @@ false prompt true - true + false true @@ -85,7 +85,7 @@ false prompt true - true + false From a9a13aa17c465bd81085c7eaddb51cf226f9f92c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Thu, 18 Apr 2019 08:01:40 -0400 Subject: [PATCH 09/11] Add missing uwp certificate --- .../SamplesApp.UWP/Package.appxmanifest | 2 +- .../SamplesApp.UWP/SamplesApp.UWP.csproj | 1 + .../SamplesApp.UWP_TemporaryKey.pfx | Bin 0 -> 2504 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP_TemporaryKey.pfx diff --git a/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest b/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest index af0ec6e66da1..2ad36b27c31a 100644 --- a/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest +++ b/src/SamplesApp/SamplesApp.UWP/Package.appxmanifest @@ -8,7 +8,7 @@ diff --git a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj index ea690f76016d..3f8a47b4a7db 100644 --- a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj +++ b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP.csproj @@ -17,6 +17,7 @@ 512 {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} SamplesApp.UWP_TemporaryKey.pfx + 8AE555112B5DF25CE67EF5BB90ADE081391BBC51 true diff --git a/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP_TemporaryKey.pfx b/src/SamplesApp/SamplesApp.UWP/SamplesApp.UWP_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..31e165e4863416a22f656a27adf0a55870bb8ca8 GIT binary patch literal 2504 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 Q{|PWA`;=+}V!Z literal 0 HcmV?d00001 From 73ca07bb1b12bd724e8288ea75e7c9d5c4bf7b86 Mon Sep 17 00:00:00 2001 From: "Dr.Rx" Date: Wed, 17 Apr 2019 15:58:02 -0400 Subject: [PATCH 10/11] Fix the API diff check configuration for the new package version --- build/PackageDiffIgnore.xml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/build/PackageDiffIgnore.xml b/build/PackageDiffIgnore.xml index c278dcaba528..0d7f51d479a6 100644 --- a/build/PackageDiffIgnore.xml +++ b/build/PackageDiffIgnore.xml @@ -64,7 +64,7 @@ reason="Removed as Routed Events implement it properly"/> + reason="Removed to improve the C#/JS call performance"/> @@ -92,5 +92,18 @@ reason="Unused Uno specific property" /> + + + + + + + + + + + From d34d2962ddd6f3c118759a891875cb14e453a6ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Thu, 18 Apr 2019 09:25:23 -0400 Subject: [PATCH 11/11] Update release notes --- doc/ReleaseNotes/_ReleaseNotes.md | 1 + doc/articles/debugging-uno-ui.md | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/ReleaseNotes/_ReleaseNotes.md b/doc/ReleaseNotes/_ReleaseNotes.md index 87217139eaaf..29b9f394b976 100644 --- a/doc/ReleaseNotes/_ReleaseNotes.md +++ b/doc/ReleaseNotes/_ReleaseNotes.md @@ -35,6 +35,7 @@ * [Wasm] Add support of hardware/browser back button in `SystemNavigationManager.BackRequested` * [Wasm] Added support for custom DOM events * WebAssembly UI tests are now integrated in the CI +* Enable support for macOS head development ### Breaking Changes * The `WebAssemblyRuntime.InvokeJSUnmarshalled` method with three parameters has been removed. diff --git a/doc/articles/debugging-uno-ui.md b/doc/articles/debugging-uno-ui.md index 85ab727f8e9f..82c8ce2be936 100644 --- a/doc/articles/debugging-uno-ui.md +++ b/doc/articles/debugging-uno-ui.md @@ -66,17 +66,14 @@ to the documentation of the [Uno.PackageDiff tool](https://github.com/nventive/U ## Building Uno.UI for macOS using Visual Studio for Mac -Building Uno.UI for the macOS platform using vs4mac requires Visual Studio for mac 7.7 preview or later. +Building Uno.UI for the macOS platform using vs4mac requires Visual Studio for mac 8.0 or later. A few steps to be able to build: - The `xamarinmac20` Target Framework must be the first in the `TargetFrameworks` list of the `Uno.UI`, `Uno`, `Uno.Foundation` and `Uno.Xaml` projects. VS4Mac only builds the first Target Framework. -- In both `Uno` and `Uno.UI` the ItemGroups containing references to `Xamarin.Android.Support.v4` and `Xamarin.Android.Support.v7.AppCompat` must be commented out. -Failing to remove those groups will make the nuget restore fail, because VS4Mac does not support conditional package references. - In `Uno.UI`, comment the project reference to the `Uno.UI.BindingHelper` project, because VS4Mac does not support conditional project references. -- Disable both nuget restore features in Visual Studio for Mac configuration To build and run: -- In a shell in the `src/Uno.UI` folder, run `msbuild /r`. This will make the nuget restore work properly. +- In a shell in the `src/Uno.UI` folder, run `msbuild /r`. This will make the nuget restore work faster. - Once done, in VS4Mac, run the `SampleApp.macOS` project, which will build the dependencies and the app itself. ## Troubleshooting Source Generation