Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/5.0-preview8] Wasm ICU #39739

Merged
merged 3 commits into from
Jul 22, 2020

Conversation

lewing
Copy link
Member

@lewing lewing commented Jul 21, 2020

Include Globalization in the preview8 wasm runtime.

A direct port of the changes in master related to icu.

Description

Adds a static build of dotnet/icu to the wasm runtime and some additional support javascript.

Customer Impact

Enables full globalization rather than forced invariant mode in the WASM runtime. Supports proper string collation and the included locales.

Risk

Low, Blazor is the consumer here and would like this change in the preview.

kg and others added 2 commits July 21, 2020 15:53
This PR overhauls runtime startup/asset loading and adds support for ICU integration.

The mono-config.js format is reworked and simplified, with new functionality added:

    Individual assets can be loaded from one or more remote sources with configurable fallback behavior
    In addition to the existing support for loading assemblies, you can now pre-load arbitrary files into the native heap or into emscripten's virtual file system. VFS support previously only existed in runtime-test.js but now is available to any consumer of dotnet.js.
    Assets can have a virtual path set so that their application-facing path does not necessarily have to match their path on the server.
    One or more ICU data archives can be added to the assets list and will be automatically loaded and used to enable ICU-based globalization support.
    Many configuration knobs that previously required API calls can now be set declaratively in the configuration file (environment variables, etc.)

WasmAppBuilder is updated to add ICUDataFiles and RemoteSources parameters that can be used to add the associated information to the config file declaratively from a msbuild project.

Various adjustments are made to existing tests and test cases so that they will pass with the addition of ICU integration.

Co-authored-by: EgorBo <egorbo@gmail.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
* Add data archive loading to the generic loading logic
@lewing lewing requested review from akoeplinger, kg and EgorBo July 21, 2020 21:18
@lewing lewing requested a review from steveisok July 21, 2020 21:30
@lewing lewing changed the title Wasm icu preview8 [release/5.0-preview8] Wasm ICU Jul 21, 2020
@lewing lewing marked this pull request as ready for review July 21, 2020 21:46
@lewing
Copy link
Member Author

lewing commented Jul 21, 2020

The 1 wasm test failure is #39473

@Anipik
Copy link
Contributor

Anipik commented Jul 22, 2020

@lewing you need to add the servicing template to the issue description. This will help the tactics in evaluating the effect & scope of the change. eg #39657

After adding the description please mark the issue with servicing-consider label. The change will be discussed in the next meeting.

if you want an immediate answer you can send an email to tactics team with the servicing template.

@lewing lewing merged commit 3cab6dd into dotnet:release/5.0-preview8 Jul 22, 2020
@lewing
Copy link
Member Author

lewing commented Jul 22, 2020

Approved offline by @SteveCarrollMSFT

@lewing lewing deleted the wasm-icu-preview8 branch July 24, 2020 17:06
@ghost ghost locked as resolved and limited conversation to collaborators Dec 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants