Code migration phase 3 - Move Mono binaries to their own package (#1718)
* Rename "mono" project to Microsoft.AspNetCore.Blazor.Mono * Include binary content in Microsoft.AspNetCore.Blazor.Mono * Reference Mono binaries in Blazor.Mono project instead of Components.Build
This commit is contained in:
parent
c4486e2912
commit
6e7ea6a5c9
|
|
@ -7,8 +7,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{F5FD
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B867E038-B3CE-43E3-9292-61568C46CDEB}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "mono", "mono", "{7B5CAAB1-A3EB-44F7-87E3-A13ED89FC17D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoSanity", "blazor\samples\MonoSanity\MonoSanity.csproj", "{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Server", "src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj", "{5A694793-3257-4D37-BB74-4A41B3894685}"
|
||||
|
|
@ -105,7 +103,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{F380
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.JSInterop.Test", "modules\jsinterop\test\Microsoft.JSInterop.Test\Microsoft.JSInterop.Test.csproj", "{ECF02708-4CA4-44B3-B23F-274F4B417FA5}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mono", "blazor\src\mono\mono.csproj", "{DEEAE26E-D00C-4A3C-BE12-7A51A63CE55E}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Mono", "blazor\src\Microsoft.AspNetCore.Blazor.Mono\Microsoft.AspNetCore.Blazor.Mono.csproj", "{DEEAE26E-D00C-4A3C-BE12-7A51A63CE55E}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "blazor", "blazor", "{E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}"
|
||||
EndProject
|
||||
|
|
@ -492,7 +490,6 @@ Global
|
|||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{7B5CAAB1-A3EB-44F7-87E3-A13ED89FC17D} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
|
||||
{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7} = {2A076721-6081-4517-8329-B9E5110D6DAC}
|
||||
{5A694793-3257-4D37-BB74-4A41B3894685} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
|
||||
{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
|
||||
|
|
@ -538,7 +535,7 @@ Global
|
|||
{4A5D7F9D-9CED-44C1-983E-054D8E99A292} = {1386F99B-3862-40C2-B24D-796C07DC7921}
|
||||
{1386F99B-3862-40C2-B24D-796C07DC7921} = {F380B6B6-9486-42BC-9B24-C388F8BF13A3}
|
||||
{ECF02708-4CA4-44B3-B23F-274F4B417FA5} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
|
||||
{DEEAE26E-D00C-4A3C-BE12-7A51A63CE55E} = {7B5CAAB1-A3EB-44F7-87E3-A13ED89FC17D}
|
||||
{DEEAE26E-D00C-4A3C-BE12-7A51A63CE55E} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
|
||||
{DDE4B710-6936-4E17-9CA0-54C45333ED15} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
|
||||
{C7B9207E-BF85-422D-9EBC-E243C399F619} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
|
||||
{AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
dist/
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<DisableArcadeProjectLayout>true</DisableArcadeProjectLayout>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\Directory.Build.props" />
|
||||
</Project>
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
# Upgrading Mono
|
||||
|
||||
## Obtaining a Mono build
|
||||
|
||||
1. Find the latest Mono WebAssembly builds at https://jenkins.mono-project.com/job/test-mono-mainline-wasm/
|
||||
|
||||
1. Pick the build you want from the *Build History* pane (e.g., most recent green build).
|
||||
|
||||
1. At the bottom of the build info page, navigate to the chosen configuration (currently there's only one, called *Default*).
|
||||
|
||||
1. Now on the sidebar, navigate to *Azure Artifacts*.
|
||||
|
||||
1. Download the .zip file. Note that the commit's SHA hash is in the filename - you'll need that later to track which Mono version we're using in Blazor.
|
||||
|
||||
**Shortcut:** Browse directly to https://jenkins.mono-project.com/job/test-mono-mainline-wasm/255/label=ubuntu-1804-amd64/Azure/, replacing the number 255 with the desired build number.
|
||||
|
||||
## Updating Blazor's `src\mono\incoming` directory
|
||||
|
||||
1. Extract the contents of the Mono build .zip file to a temporary directory.
|
||||
|
||||
1. Replace the contents of `Blazor\src\mono\incoming` with the equivalents from the new Mono build:
|
||||
|
||||
* In Blazor's `src\mono\incoming\wasm` dir, replace `mono.wasm` and `mono.js` with the new files from Mono's `release` dir
|
||||
* In Blazor's `src\mono\incoming\bcl`, delete all the `.dll` files (including from the `Facades` subdirectory), and copy in all the new `.dll` files from Mono's `wasm-bcl\wasm` dir. **Note:** We *only* need the `.dll` files, so don't include `.pdb`/`.cs`/`.tmp`/`.stamp` or others. Also you can omit `nunitlite.dll` - we don't need that either.
|
||||
|
||||
The net effect is that you're replacing everything with the newer versions, including adding any new `.dll` files and removing any older `.dll` files that are no longer involved.
|
||||
|
||||
**Commit**
|
||||
|
||||
At this stage, make a Git commit with a message similar to `Upgrade Mono binaries to <their-commit-sha>`. Their commit SHA can be found in the filename of the Mono drop you downloaded.
|
||||
|
||||
## Verifying
|
||||
|
||||
Rebuild Blazor completely from a clean state:
|
||||
|
||||
* `cd` to the root of your Blazor repo
|
||||
* Verify `git status` shows your working copy has no uncommitted edits
|
||||
* `git clean -xdf`
|
||||
* `git submodule foreach git clean -xdf`
|
||||
* `build.cmd` or `./build.sh`
|
||||
|
||||
Now run the E2E tests.
|
||||
|
||||
If anything seems broken, you might want to start investigations in the MonoSanity project, since this just uses Mono directly, without most of what Blazor builds on top of it.
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Upgrading Mono Linker
|
||||
|
||||
* `git clone https://github.com/mono/linker.git`
|
||||
* `cd linker/corebuild`
|
||||
* `./dotnet.{sh/cmd} restore ./integration/linker.sln`
|
||||
* `./dotnet.{sh/cmd} pack ./integration/ILLink.Tasks/ILLink.Tasks.csproj -c Release`
|
||||
* `cd integration/bin/nupkgs`
|
||||
|
||||
In here you'll now have a `.nupkg` file. Extract its files (i.e., treating it as a `.zip` file), open its `tools/netcoreapp2.0` directory, and copy the following to `(blazorroot)/mono/tools/binaries/illink`:
|
||||
|
||||
* `illink.dll`
|
||||
* `Mono.Cecil.dll`
|
||||
* `Mono.Cecil.Mdb.dll`
|
||||
* `Mono.Cecil.Pdb.dll`
|
||||
|
||||
Presumably you should also copy any other new dependencies it has, though it's not necessary to copy `NuGet.*.dll` or `Newtonsoft.Json.dll`.
|
||||
|
||||
Note that `(blazorroot)/mono/tools/binaries/illink` also contains `illink.runtimeconfig.json`, which is necessary for `dotnet illink.dll` to work.
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# HttpClientHandler brings in about 500KB and will never be used under WebAssembly anyway
|
||||
# (we have a separate browser-compatible handler).
|
||||
#
|
||||
# To avoid causing issues for Flurl.Http (https://github.com/aspnet/Blazor/issues/1484),
|
||||
# we only wipe the minimal set of methods that pull in the large dependency graph and
|
||||
# don't do anything useful under WebAssembly anyway. It would be preferable if Flurl.Http
|
||||
# didn't use HttpClientHandler in the case where a custom handler has been configured,
|
||||
# but at the time of writing it does.
|
||||
|
||||
# SendAsync contains the bulk of the outbound references to HttpWebRequest etc.
|
||||
System.Net.Http.HttpClientHandler::SendAsync
|
||||
|
||||
# Dispose references ServicePointManager which is huge
|
||||
System.Net.Http.HttpClientHandler::Dispose
|
||||
|
|
@ -1 +0,0 @@
|
|||
# Nothing to do here yet
|
||||
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.
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.
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.
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.
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.
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.
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.
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue