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

Ship data for certain components directly on crates.io #2888

Closed
sffc opened this issue Dec 14, 2022 · 3 comments
Closed

Ship data for certain components directly on crates.io #2888

sffc opened this issue Dec 14, 2022 · 3 comments
Assignees
Labels
C-data-infra Component: provider, datagen, fallback, adapters S-medium Size: Less than a week (larger bug fix or enhancement) U-gecko User: Gecko

Comments

@sffc
Copy link
Member

sffc commented Dec 14, 2022

Data for certain components, especially ones that aren't locale-dependent, can be shipped on crates.io to make integration processes easier. Examples:

  1. icu_normalizer
  2. icu_properties
  3. icu_segmenter

CC @robertbastian @hsivonen

@sffc sffc added C-data-infra Component: provider, datagen, fallback, adapters discuss Discuss at a future ICU4X-SC meeting labels Dec 14, 2022
@robertbastian
Copy link
Member

I'm in favour of this. A few points that we discussed on Slack that I want to record here:

  • We will need to figure out a way to combine baked providers without using ForkByKeyProvider. This can be achieved by generating macros that add the DataProvider implementations, instead of generating a provider struct.
    • This macro could also be used to select locales, although datagen should be the primary interface for that
  • We probably need to ship postcard data as well, unless we figure out a way to fork between AnyProvider and BufferProvider. Tbd whether to do this in the same crate behind a feature, or have 2x crates

@hsivonen
Copy link
Member

Marking this U-gecko, because this would make it easier to allow IDNA in the upstream url crate be (optionally) backed by ICU4X such that the relevant normalization data (and data that #2850 will hopefully introduce) won't be duplicated with the rest of Gecko. (As opposed to carrying Gecko-specific patches to this effect.)

@robertbastian robertbastian self-assigned this Jun 1, 2023
@robertbastian robertbastian added this to the 1.3 Blocking ⟨P1⟩ milestone Jun 1, 2023
@sffc sffc added S-epic Size: Major project (create smaller child issues) S-medium Size: Less than a week (larger bug fix or enhancement) and removed discuss Discuss at a future ICU4X-SC meeting S-epic Size: Major project (create smaller child issues) labels Jun 15, 2023
@robertbastian
Copy link
Member

Closing this in favour of #2945 which is the canonical shipped-compile-time-data issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-data-infra Component: provider, datagen, fallback, adapters S-medium Size: Less than a week (larger bug fix or enhancement) U-gecko User: Gecko
Projects
None yet
Development

No branches or pull requests

3 participants