Skip to content

Commit

Permalink
Move the baked exporter into its own crate (#5009)
Browse files Browse the repository at this point in the history
#4721 

The `icu_provider_datagen` crate can be a runtime dependency for baked
data, in order to expose dependencies that are required for databake
operation (I'm thinking zerotrie and writeable).

The former `icu_datagen::baked_exporter` module is this new crate's
`exporter` module, behind an `export` feature, analogous to
`icu_provider_blob` and `icu_provider_fs`.

This is also a better home for the `test-baked-source` test, because in
`icu_datagen`, if the baked source wouldn't build, `make-testdata` also
wouldn't, which is annoying (@younies).
  • Loading branch information
robertbastian committed Jun 11, 2024
1 parent ed328ad commit ae32da1
Show file tree
Hide file tree
Showing 428 changed files with 1,860 additions and 1,312 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ To build all code paths, improve build times in VSCode, and prevent locking the
}
```

Note: the path in `ICU4X_DATA_DIR` is relative to `provider/baked/*/src/lib.rs` and it causes VSCode to build ICU4X with only the `und` locale. This reduces build times but also makes some tests fail; to run them normally, run `cargo test --all-features` on the command line.
Note: the path in `ICU4X_DATA_DIR` is relative to `provider/data/*/src/lib.rs` and it causes VSCode to build ICU4X with only the `und` locale. This reduces build times but also makes some tests fail; to run them normally, run `cargo test --all-features` on the command line.

## Contributing a Pull Request

Expand Down
18 changes: 15 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 27 additions & 25 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ members = [

# Provider
"provider/adapters",
"provider/baked",
"provider/blob",
"provider/core",
"provider/core/macros",
Expand All @@ -42,18 +43,18 @@ members = [
"provider/registry",

# Baked data
"provider/baked/calendar",
"provider/baked/casemap",
"provider/baked/collator",
"provider/baked/datetime",
"provider/baked/decimal",
"provider/baked/list",
"provider/baked/locale",
"provider/baked/normalizer",
"provider/baked/plurals",
"provider/baked/properties",
"provider/baked/segmenter",
"provider/baked/timezone",
"provider/data/calendar",
"provider/data/casemap",
"provider/data/collator",
"provider/data/datetime",
"provider/data/decimal",
"provider/data/list",
"provider/data/locale",
"provider/data/normalizer",
"provider/data/plurals",
"provider/data/properties",
"provider/data/segmenter",
"provider/data/timezone",

# Utils
"utils/bies",
Expand Down Expand Up @@ -150,24 +151,25 @@ icu_datagen = { version = "~1.5.0", path = "provider/datagen", default-features
icu_provider = { version = "~1.5.0", path = "provider/core", default-features = false }
icu_provider_macros = { version = "~1.5.0", path = "provider/core/macros", default-features = false }
icu_provider_adapters = { version = "~1.5.0", path = "provider/adapters", default-features = false }
icu_provider_baked = { version = "~1.5.0", path = "provider/baked", default-features = false }
icu_provider_blob = { version = "~1.5.0", path = "provider/blob", default-features = false }
icu_provider_fs = { version = "~1.5.0", path = "provider/fs/", default-features = false }
icu_registry = { version = "~1.5.0", path = "provider/registry/", default-features = false }

# Baked data
icu_calendar_data = { version = "~1.5.0", path = "provider/baked/calendar", default-features = false }
icu_casemap_data = { version = "~1.5.0", path = "provider/baked/casemap", default-features = false }
icu_collator_data = { version = "~1.5.0", path = "provider/baked/collator", default-features = false }
icu_datetime_data = { version = "~1.5.0", path = "provider/baked/datetime", default-features = false }
icu_decimal_data = { version = "~1.5.0", path = "provider/baked/decimal", default-features = false }
icu_list_data = { version = "~1.5.0", path = "provider/baked/list", default-features = false }
icu_locale_data = { version = "~1.5.0", path = "provider/baked/locale", default-features = false }
icu_normalizer_data = { version = "~1.5.0", path = "provider/baked/normalizer", default-features = false }
icu_plurals_data = { version = "~1.5.0", path = "provider/baked/plurals", default-features = false }
icu_properties_data = { version = "~1.5.0", path = "provider/baked/properties", default-features = false }
icu_segmenter_data = { version = "~1.5.0", path = "provider/baked/segmenter", default-features = false }
icu_timezone_data = { version = "~1.5.0", path = "provider/baked/timezone", default-features = false }
icu_experimental_data = { version = "~0.1.0", path = "provider/baked/experimental", default-features = false }
icu_calendar_data = { version = "~1.5.0", path = "provider/data/calendar", default-features = false }
icu_casemap_data = { version = "~1.5.0", path = "provider/data/casemap", default-features = false }
icu_collator_data = { version = "~1.5.0", path = "provider/data/collator", default-features = false }
icu_datetime_data = { version = "~1.5.0", path = "provider/data/datetime", default-features = false }
icu_decimal_data = { version = "~1.5.0", path = "provider/data/decimal", default-features = false }
icu_list_data = { version = "~1.5.0", path = "provider/data/list", default-features = false }
icu_locale_data = { version = "~1.5.0", path = "provider/data/locale", default-features = false }
icu_normalizer_data = { version = "~1.5.0", path = "provider/data/normalizer", default-features = false }
icu_plurals_data = { version = "~1.5.0", path = "provider/data/plurals", default-features = false }
icu_properties_data = { version = "~1.5.0", path = "provider/data/properties", default-features = false }
icu_segmenter_data = { version = "~1.5.0", path = "provider/data/segmenter", default-features = false }
icu_timezone_data = { version = "~1.5.0", path = "provider/data/timezone", default-features = false }
icu_experimental_data = { version = "~0.1.0", path = "provider/data/experimental", default-features = false }

# Utils
bies = { version = "0.2.2", path = "utils/bies", default-features = false }
Expand Down
33 changes: 33 additions & 0 deletions provider/baked/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This file is part of ICU4X. For terms of use, please see the file
# called LICENSE at the top level of the ICU4X source tree
# (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).

[package]
name = "icu_provider_baked"

version.workspace = true
rust-version.workspace = true
authors.workspace = true
edition.workspace = true
repository.workspace = true
homepage.workspace = true
license.workspace = true
categories.workspace = true
include.workspace = true

[dependencies]
icu_provider = { workspace = true }

crlify = { workspace = true, optional = true }
databake = { workspace = true, optional = true}
icu_registry = { workspace = true, optional = true }
itertools = { workspace = true, optional = true }
log = { workspace = true, optional = true }
proc-macro2 = { workspace = true, optional = true }

[dev-dependencies]
icu_provider = { path = "../core", features = ["datagen"] }
icu_datagen = { path = "../datagen" }

[features]
export = ["dep:icu_registry", "dep:databake", "dep:proc-macro2", "dep:itertools", "dep:crlify", "dep:log", "icu_provider/datagen"]
File renamed without changes.
11 changes: 11 additions & 0 deletions provider/baked/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

42 changes: 0 additions & 42 deletions provider/baked/calendar/data/macros/calendar_dangicache_v1.rs.data

This file was deleted.

This file was deleted.

Loading

0 comments on commit ae32da1

Please sign in to comment.