From 07f5eda4ae3785c3066eff8b0fb27aed9c5b01cb Mon Sep 17 00:00:00 2001 From: Max Katz Date: Mon, 15 Jan 2024 22:12:30 -0800 Subject: [PATCH] Property support StaticWebAssets SDK when it's available --- .gitignore | 1 + .../ControlCatalog.Browser.Blazor.csproj | 4 ++-- .../ControlCatalog.Browser.csproj | 5 ++--- .../MobileSandbox.Browser.csproj | 4 ++-- .../Avalonia.Browser.Blazor.csproj | 21 +----------------- .../BlazorSingleViewLifetime.cs | 3 --- .../Avalonia.Browser/Avalonia.Browser.csproj | 16 +++++++++----- .../Avalonia.Browser/Avalonia.Browser.props | 10 --------- .../build/Avalonia.Browser.props | 15 +++++++++++++ .../{ => build}/Avalonia.Browser.targets | 7 +++--- ...Microsoft.AspNetCore.StaticWebAssets.props | 22 +++++++++++++++++++ .../Avalonia.Browser/{ => build}/interop.js | 0 src/Browser/Avalonia.Browser/webapp/build.js | 2 +- 13 files changed, 60 insertions(+), 50 deletions(-) delete mode 100644 src/Browser/Avalonia.Browser/Avalonia.Browser.props create mode 100644 src/Browser/Avalonia.Browser/build/Avalonia.Browser.props rename src/Browser/Avalonia.Browser/{ => build}/Avalonia.Browser.targets (87%) create mode 100644 src/Browser/Avalonia.Browser/build/Microsoft.AspNetCore.StaticWebAssets.props rename src/Browser/Avalonia.Browser/{ => build}/interop.js (100%) diff --git a/.gitignore b/.gitignore index ddbe436d3a..32ada6ca2b 100644 --- a/.gitignore +++ b/.gitignore @@ -218,3 +218,4 @@ src/Browser/Avalonia.Browser.Blazor/webapp/package-lock.json src/Browser/Avalonia.Browser.Blazor/wwwroot src/Browser/Avalonia.Browser/wwwroot api/diff +src/Browser/Avalonia.Browser/staticwebassets diff --git a/samples/ControlCatalog.Browser.Blazor/ControlCatalog.Browser.Blazor.csproj b/samples/ControlCatalog.Browser.Blazor/ControlCatalog.Browser.Blazor.csproj index 733a4b7194..363c6a8b27 100644 --- a/samples/ControlCatalog.Browser.Blazor/ControlCatalog.Browser.Blazor.csproj +++ b/samples/ControlCatalog.Browser.Blazor/ControlCatalog.Browser.Blazor.csproj @@ -22,8 +22,8 @@ - - + + diff --git a/samples/ControlCatalog.Browser/ControlCatalog.Browser.csproj b/samples/ControlCatalog.Browser/ControlCatalog.Browser.csproj index 12338d615e..232cccfeaf 100644 --- a/samples/ControlCatalog.Browser/ControlCatalog.Browser.csproj +++ b/samples/ControlCatalog.Browser/ControlCatalog.Browser.csproj @@ -1,6 +1,4 @@  - - net7.0 browser-wasm @@ -20,5 +18,6 @@ - + + diff --git a/samples/MobileSandbox.Browser/MobileSandbox.Browser.csproj b/samples/MobileSandbox.Browser/MobileSandbox.Browser.csproj index 001fe94c7f..4d1b2b5e47 100644 --- a/samples/MobileSandbox.Browser/MobileSandbox.Browser.csproj +++ b/samples/MobileSandbox.Browser/MobileSandbox.Browser.csproj @@ -38,6 +38,6 @@ - - + + diff --git a/src/Browser/Avalonia.Browser.Blazor/Avalonia.Browser.Blazor.csproj b/src/Browser/Avalonia.Browser.Blazor/Avalonia.Browser.Blazor.csproj index 19d18e2e29..66cb6f7780 100644 --- a/src/Browser/Avalonia.Browser.Blazor/Avalonia.Browser.Blazor.csproj +++ b/src/Browser/Avalonia.Browser.Blazor/Avalonia.Browser.Blazor.csproj @@ -1,8 +1,7 @@ - + net7.0 - _IncludeGeneratedAvaloniaStaticFiles;$(ResolveStaticWebAssetsInputsDependsOn) @@ -20,22 +19,4 @@ - - - - <_AvaloniaWebAssets Include="$(MSBuildThisFileDirectory)../Avalonia.Browser/wwwroot/**/*.*" /> - - - - - diff --git a/src/Browser/Avalonia.Browser.Blazor/BlazorSingleViewLifetime.cs b/src/Browser/Avalonia.Browser.Blazor/BlazorSingleViewLifetime.cs index 7c5ee27c66..cf3c034b00 100644 --- a/src/Browser/Avalonia.Browser.Blazor/BlazorSingleViewLifetime.cs +++ b/src/Browser/Avalonia.Browser.Blazor/BlazorSingleViewLifetime.cs @@ -17,9 +17,6 @@ public static class BlazorAppBuilder /// Browser backend specific options. public static async Task StartBlazorAppAsync(this AppBuilder builder, BrowserPlatformOptions? options = null) { - options ??= new BrowserPlatformOptions(); - options.FrameworkAssetPathResolver ??= filePath => $"/_content/Avalonia.Browser.Blazor/{filePath}"; - builder = await BrowserAppBuilder.PreSetupBrowser(builder, options); builder.SetupWithLifetime(new BlazorSingleViewLifetime()); diff --git a/src/Browser/Avalonia.Browser/Avalonia.Browser.csproj b/src/Browser/Avalonia.Browser/Avalonia.Browser.csproj index ec65717cbb..83f4b8c75f 100644 --- a/src/Browser/Avalonia.Browser/Avalonia.Browser.csproj +++ b/src/Browser/Avalonia.Browser/Avalonia.Browser.csproj @@ -1,7 +1,6 @@ net7.0 - enable true @@ -22,21 +21,26 @@ - + + true build/ - + + true + build/;buildTransitive/;buildMultiTargeting/ + + true build/;buildTransitive/ - + true build/interop.js;buildTransitive/interop.js - + true - build/wwwroot;buildTransitive/wwwroot + staticwebassets/ diff --git a/src/Browser/Avalonia.Browser/Avalonia.Browser.props b/src/Browser/Avalonia.Browser/Avalonia.Browser.props deleted file mode 100644 index 2c3942de1f..0000000000 --- a/src/Browser/Avalonia.Browser/Avalonia.Browser.props +++ /dev/null @@ -1,10 +0,0 @@ - - - True - True - True - - - ./ - - diff --git a/src/Browser/Avalonia.Browser/build/Avalonia.Browser.props b/src/Browser/Avalonia.Browser/build/Avalonia.Browser.props new file mode 100644 index 0000000000..76343db8e9 --- /dev/null +++ b/src/Browser/Avalonia.Browser/build/Avalonia.Browser.props @@ -0,0 +1,15 @@ + + + True + True + True + + True + True + + + ./ + + + + diff --git a/src/Browser/Avalonia.Browser/Avalonia.Browser.targets b/src/Browser/Avalonia.Browser/build/Avalonia.Browser.targets similarity index 87% rename from src/Browser/Avalonia.Browser/Avalonia.Browser.targets rename to src/Browser/Avalonia.Browser/build/Avalonia.Browser.targets index 8740564ea9..ea263408b0 100644 --- a/src/Browser/Avalonia.Browser/Avalonia.Browser.targets +++ b/src/Browser/Avalonia.Browser/build/Avalonia.Browser.targets @@ -4,9 +4,10 @@ $(EmccExtraLDFlags) -sERROR_ON_UNDEFINED_SYMBOLS=0 - - - + + + + diff --git a/src/Browser/Avalonia.Browser/build/Microsoft.AspNetCore.StaticWebAssets.props b/src/Browser/Avalonia.Browser/build/Microsoft.AspNetCore.StaticWebAssets.props new file mode 100644 index 0000000000..c598f46dd6 --- /dev/null +++ b/src/Browser/Avalonia.Browser/build/Microsoft.AspNetCore.StaticWebAssets.props @@ -0,0 +1,22 @@ + + + <_AvaloniaWebAssetsFolder>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)../staticwebassets/)) + + + + <_AvaloniaWebAssets Include="$(_AvaloniaWebAssetsFolder)**/*.*" /> + + Package + Avalonia.Browser + $(_AvaloniaWebAssetsFolder) + / + $(WasmRuntimeAssetsLocation)/%(FileName)%(Extension) + All + All + Primary + PreserveNewest + PreserveNewest + $(_AvaloniaWebAssetsFolder)%(FileName)%(Extension) + + + diff --git a/src/Browser/Avalonia.Browser/interop.js b/src/Browser/Avalonia.Browser/build/interop.js similarity index 100% rename from src/Browser/Avalonia.Browser/interop.js rename to src/Browser/Avalonia.Browser/build/interop.js diff --git a/src/Browser/Avalonia.Browser/webapp/build.js b/src/Browser/Avalonia.Browser/webapp/build.js index e8e49554cd..3b278e7dcb 100644 --- a/src/Browser/Avalonia.Browser/webapp/build.js +++ b/src/Browser/Avalonia.Browser/webapp/build.js @@ -4,7 +4,7 @@ require("esbuild").build({ "./modules/storage.ts", "./modules/sw.ts" ], - outdir: "../wwwroot", + outdir: "../staticwebassets", bundle: true, minify: true, format: "esm",