From 5fa85371fb3c8f97575cbe8c4dd2bc6e2f214d42 Mon Sep 17 00:00:00 2001 From: Henri Sivonen Date: Fri, 15 Jul 2022 09:55:18 +0300 Subject: [PATCH] Move collator and normalizer from experimental to components (#2058) Closes #971. Closes #972. --- CODEOWNERS | 4 ++-- Cargo.toml | 4 ++-- .../collator/Cargo.toml | 2 +- {experimental => components}/collator/LICENSE | 0 .../collator/README.md | 4 ++-- .../collator/fuzz/.gitignore | 0 .../collator/fuzz/Cargo.lock | 0 .../collator/fuzz/Cargo.toml | 0 .../collator/fuzz/LICENSE | 0 .../collator/fuzz/README.md | 0 .../fuzz/fuzz_targets/compare_utf16.rs | 0 .../collator/src/comparison.rs | 0 .../collator/src/elements.rs | 0 .../collator/src/error.rs | 0 .../collator/src/lib.rs | 4 ++-- .../collator/src/options.rs | 0 .../collator/src/provider.rs | 0 .../collator/src/tests.rs | 0 .../CollationTest_CLDR_NON_IGNORABLE.txt | 0 .../testdata/CollationTest_CLDR_SHIFTED.txt | 0 .../collator/testdata/README.md | 0 .../collator/testdata/riwords.txt | 0 .../normalizer/Cargo.toml | 1 + .../normalizer/LICENSE | 0 .../normalizer/README.md | 0 .../normalizer/fuzz/.gitignore | 0 .../normalizer/fuzz/Cargo.lock | 0 .../normalizer/fuzz/Cargo.toml | 0 .../normalizer/fuzz/LICENSE | 0 .../normalizer/fuzz/README.md | 0 .../fuzz/fuzz_targets/compare_utf16.rs | 0 .../normalizer/src/error.rs | 0 .../normalizer/src/lib.rs | 16 +++++++++++++--- .../normalizer/src/provider.rs | 0 .../normalizer/src/tests.rs | 0 .../normalizer/src/u24.rs | 0 .../normalizer/testdata/NormalizationTest.txt | 0 .../normalizer/testdata/README.md | 0 provider/datagen/Cargo.toml | 6 +++--- provider/datagen/src/registry.rs | 18 ++++++++++-------- .../datagen/src/transform/icuexport/mod.rs | 2 -- provider/testdata/Cargo.toml | 4 ++-- tools/scripts/tidy.toml | 2 +- 43 files changed, 39 insertions(+), 28 deletions(-) rename {experimental => components}/collator/Cargo.toml (97%) rename {experimental => components}/collator/LICENSE (100%) rename {experimental => components}/collator/README.md (97%) rename {experimental => components}/collator/fuzz/.gitignore (100%) rename {experimental => components}/collator/fuzz/Cargo.lock (100%) rename {experimental => components}/collator/fuzz/Cargo.toml (100%) rename {experimental => components}/collator/fuzz/LICENSE (100%) rename {experimental => components}/collator/fuzz/README.md (100%) rename {experimental => components}/collator/fuzz/fuzz_targets/compare_utf16.rs (100%) rename {experimental => components}/collator/src/comparison.rs (100%) rename {experimental => components}/collator/src/elements.rs (100%) rename {experimental => components}/collator/src/error.rs (100%) rename {experimental => components}/collator/src/lib.rs (97%) rename {experimental => components}/collator/src/options.rs (100%) rename {experimental => components}/collator/src/provider.rs (100%) rename {experimental => components}/collator/src/tests.rs (100%) rename {experimental => components}/collator/testdata/CollationTest_CLDR_NON_IGNORABLE.txt (100%) rename {experimental => components}/collator/testdata/CollationTest_CLDR_SHIFTED.txt (100%) rename {experimental => components}/collator/testdata/README.md (100%) rename {experimental => components}/collator/testdata/riwords.txt (100%) rename {experimental => components}/normalizer/Cargo.toml (99%) rename {experimental => components}/normalizer/LICENSE (100%) rename {experimental => components}/normalizer/README.md (100%) rename {experimental => components}/normalizer/fuzz/.gitignore (100%) rename {experimental => components}/normalizer/fuzz/Cargo.lock (100%) rename {experimental => components}/normalizer/fuzz/Cargo.toml (100%) rename {experimental => components}/normalizer/fuzz/LICENSE (100%) rename {experimental => components}/normalizer/fuzz/README.md (100%) rename {experimental => components}/normalizer/fuzz/fuzz_targets/compare_utf16.rs (100%) rename {experimental => components}/normalizer/src/error.rs (100%) rename {experimental => components}/normalizer/src/lib.rs (99%) rename {experimental => components}/normalizer/src/provider.rs (100%) rename {experimental => components}/normalizer/src/tests.rs (100%) rename {experimental => components}/normalizer/src/u24.rs (100%) rename {experimental => components}/normalizer/testdata/NormalizationTest.txt (100%) rename {experimental => components}/normalizer/testdata/README.md (100%) diff --git a/CODEOWNERS b/CODEOWNERS index 58853afe8be..98b5475eb14 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,19 +7,19 @@ # List of components with at least two owners as specified in docs/crate-ownership. +components/collator/ @hsivonen @echeran components/datetime/ @zbraniecki @gregtatum @nordzilla components/decimal/ @sffc components/icu/ @unicode-org/icu4x-owners components/icu4x/ @unicode-org/icu4x-owners components/locale_canonicalizer/ @dminor @zbraniecki components/locid/ @zbraniecki @nciric +components/normalizer/ @hsivonen @echeran components/plurals/ @zbraniecki @sffc components/uniset/ @echeran @iainireland experimental/bies/ @sffc experimental/calendar/ @Manishearth @sffc experimental/codepointtrie/ @echeran -experimental/collator/ @hsivonen @echeran -experimental/normalizer/ @hsivonen @echeran experimental/provider_ppucd/ @echeran experimental/segmenter/ @aethanyc @makotokato @sffc ffi/capi/ @Manishearth diff --git a/Cargo.toml b/Cargo.toml index 2879c4c098f..4155b5965e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,7 @@ resolver = "2" members = [ "components/calendar", + "components/collator", "components/datetime", "components/decimal", "components/icu", @@ -13,6 +14,7 @@ members = [ "components/list", "components/locale_canonicalizer", "components/locid", + "components/normalizer", "components/plurals", "components/properties", "experimental/bies", @@ -20,8 +22,6 @@ members = [ "experimental/char16trie", "utils/databake", "utils/databake/derive", - "experimental/collator", - "experimental/normalizer", "experimental/segmenter", "ffi/capi_cdylib", "ffi/diplomat", diff --git a/experimental/collator/Cargo.toml b/components/collator/Cargo.toml similarity index 97% rename from experimental/collator/Cargo.toml rename to components/collator/Cargo.toml index ac2bf206ff9..f2072290856 100644 --- a/experimental/collator/Cargo.toml +++ b/components/collator/Cargo.toml @@ -38,7 +38,7 @@ icu_codepointtrie = { version = "0.4", path = "../../utils/codepointtrie" } icu_char16trie = { version = "0.1", path = "../../experimental/char16trie" } icu_provider = { version = "0.6", path = "../../provider/core", features = ["macros"] } icu_locid = { version = "0.6", path = "../../components/locid" } -icu_normalizer = { version = "0.6", path = "../../experimental/normalizer" } +icu_normalizer = { version = "0.6", path = "../../components/normalizer" } icu_properties = { version = "0.6", path = "../../components/properties" } icu_uniset = { version = "0.5", path = "../../utils/uniset" } serde = { version = "1.0", default-features = false, features = ["derive", "alloc"], optional = true } diff --git a/experimental/collator/LICENSE b/components/collator/LICENSE similarity index 100% rename from experimental/collator/LICENSE rename to components/collator/LICENSE diff --git a/experimental/collator/README.md b/components/collator/README.md similarity index 97% rename from experimental/collator/README.md rename to components/collator/README.md index 0261131a9c4..d9efb82635e 100644 --- a/experimental/collator/README.md +++ b/components/collator/README.md @@ -40,7 +40,7 @@ Clone `rust_icu` from to `$PROJECTS/rust_ic In `$PROJECTS/icu-build` run `make install`. -`cd $PROJECTS/icu4x/experimental/collator` +`cd $PROJECTS/icu4x/components/collator` Run the fuzzer until a panic: @@ -52,7 +52,7 @@ Once there is a panic, recompile with debug symbols by adding `--dev`: Record with -`LD_LIBRARY_PATH="$PROJECTS/localicu/lib" rr fuzz/target/x86_64-unknown-linux-gnu/debug/compare_utf16 -artifact_prefix=$PROJECTS/icu4x/experimental/collator/fuzz/artifacts/compare_utf16/ fuzz/artifacts/compare_utf16/crash-$ARTIFACTHASH` +`LD_LIBRARY_PATH="$PROJECTS/localicu/lib" rr fuzz/target/x86_64-unknown-linux-gnu/debug/compare_utf16 -artifact_prefix=$PROJECTS/icu4x/components/collator/fuzz/artifacts/compare_utf16/ fuzz/artifacts/compare_utf16/crash-$ARTIFACTHASH` ## Design notes diff --git a/experimental/collator/fuzz/.gitignore b/components/collator/fuzz/.gitignore similarity index 100% rename from experimental/collator/fuzz/.gitignore rename to components/collator/fuzz/.gitignore diff --git a/experimental/collator/fuzz/Cargo.lock b/components/collator/fuzz/Cargo.lock similarity index 100% rename from experimental/collator/fuzz/Cargo.lock rename to components/collator/fuzz/Cargo.lock diff --git a/experimental/collator/fuzz/Cargo.toml b/components/collator/fuzz/Cargo.toml similarity index 100% rename from experimental/collator/fuzz/Cargo.toml rename to components/collator/fuzz/Cargo.toml diff --git a/experimental/collator/fuzz/LICENSE b/components/collator/fuzz/LICENSE similarity index 100% rename from experimental/collator/fuzz/LICENSE rename to components/collator/fuzz/LICENSE diff --git a/experimental/collator/fuzz/README.md b/components/collator/fuzz/README.md similarity index 100% rename from experimental/collator/fuzz/README.md rename to components/collator/fuzz/README.md diff --git a/experimental/collator/fuzz/fuzz_targets/compare_utf16.rs b/components/collator/fuzz/fuzz_targets/compare_utf16.rs similarity index 100% rename from experimental/collator/fuzz/fuzz_targets/compare_utf16.rs rename to components/collator/fuzz/fuzz_targets/compare_utf16.rs diff --git a/experimental/collator/src/comparison.rs b/components/collator/src/comparison.rs similarity index 100% rename from experimental/collator/src/comparison.rs rename to components/collator/src/comparison.rs diff --git a/experimental/collator/src/elements.rs b/components/collator/src/elements.rs similarity index 100% rename from experimental/collator/src/elements.rs rename to components/collator/src/elements.rs diff --git a/experimental/collator/src/error.rs b/components/collator/src/error.rs similarity index 100% rename from experimental/collator/src/error.rs rename to components/collator/src/error.rs diff --git a/experimental/collator/src/lib.rs b/components/collator/src/lib.rs similarity index 97% rename from experimental/collator/src/lib.rs rename to components/collator/src/lib.rs index cd91548992d..ef495def545 100644 --- a/experimental/collator/src/lib.rs +++ b/components/collator/src/lib.rs @@ -59,7 +59,7 @@ //! //! In `$PROJECTS/icu-build` run `make install`. //! -//! `cd $PROJECTS/icu4x/experimental/collator` +//! `cd $PROJECTS/icu4x/components/collator` //! //! Run the fuzzer until a panic: //! @@ -71,7 +71,7 @@ //! //! Record with //! -//! `LD_LIBRARY_PATH="$PROJECTS/localicu/lib" rr fuzz/target/x86_64-unknown-linux-gnu/debug/compare_utf16 -artifact_prefix=$PROJECTS/icu4x/experimental/collator/fuzz/artifacts/compare_utf16/ fuzz/artifacts/compare_utf16/crash-$ARTIFACTHASH` +//! `LD_LIBRARY_PATH="$PROJECTS/localicu/lib" rr fuzz/target/x86_64-unknown-linux-gnu/debug/compare_utf16 -artifact_prefix=$PROJECTS/icu4x/components/collator/fuzz/artifacts/compare_utf16/ fuzz/artifacts/compare_utf16/crash-$ARTIFACTHASH` //! //! # Design notes //! diff --git a/experimental/collator/src/options.rs b/components/collator/src/options.rs similarity index 100% rename from experimental/collator/src/options.rs rename to components/collator/src/options.rs diff --git a/experimental/collator/src/provider.rs b/components/collator/src/provider.rs similarity index 100% rename from experimental/collator/src/provider.rs rename to components/collator/src/provider.rs diff --git a/experimental/collator/src/tests.rs b/components/collator/src/tests.rs similarity index 100% rename from experimental/collator/src/tests.rs rename to components/collator/src/tests.rs diff --git a/experimental/collator/testdata/CollationTest_CLDR_NON_IGNORABLE.txt b/components/collator/testdata/CollationTest_CLDR_NON_IGNORABLE.txt similarity index 100% rename from experimental/collator/testdata/CollationTest_CLDR_NON_IGNORABLE.txt rename to components/collator/testdata/CollationTest_CLDR_NON_IGNORABLE.txt diff --git a/experimental/collator/testdata/CollationTest_CLDR_SHIFTED.txt b/components/collator/testdata/CollationTest_CLDR_SHIFTED.txt similarity index 100% rename from experimental/collator/testdata/CollationTest_CLDR_SHIFTED.txt rename to components/collator/testdata/CollationTest_CLDR_SHIFTED.txt diff --git a/experimental/collator/testdata/README.md b/components/collator/testdata/README.md similarity index 100% rename from experimental/collator/testdata/README.md rename to components/collator/testdata/README.md diff --git a/experimental/collator/testdata/riwords.txt b/components/collator/testdata/riwords.txt similarity index 100% rename from experimental/collator/testdata/riwords.txt rename to components/collator/testdata/riwords.txt diff --git a/experimental/normalizer/Cargo.toml b/components/normalizer/Cargo.toml similarity index 99% rename from experimental/normalizer/Cargo.toml rename to components/normalizer/Cargo.toml index a3ffbf87d07..1b393f79530 100644 --- a/experimental/normalizer/Cargo.toml +++ b/components/normalizer/Cargo.toml @@ -59,3 +59,4 @@ bench = false # This option is required for Benchmark CI default = [] serde = ["dep:serde", "icu_codepointtrie/serde", "zerovec/serde", "icu_uniset/serde", "icu_properties/serde", "icu_char16trie/serde"] datagen = ["serde", "databake", "icu_codepointtrie/databake", "zerovec/databake", "icu_uniset/databake", "icu_properties/databake", "icu_char16trie/databake"] +experimental = [] diff --git a/experimental/normalizer/LICENSE b/components/normalizer/LICENSE similarity index 100% rename from experimental/normalizer/LICENSE rename to components/normalizer/LICENSE diff --git a/experimental/normalizer/README.md b/components/normalizer/README.md similarity index 100% rename from experimental/normalizer/README.md rename to components/normalizer/README.md diff --git a/experimental/normalizer/fuzz/.gitignore b/components/normalizer/fuzz/.gitignore similarity index 100% rename from experimental/normalizer/fuzz/.gitignore rename to components/normalizer/fuzz/.gitignore diff --git a/experimental/normalizer/fuzz/Cargo.lock b/components/normalizer/fuzz/Cargo.lock similarity index 100% rename from experimental/normalizer/fuzz/Cargo.lock rename to components/normalizer/fuzz/Cargo.lock diff --git a/experimental/normalizer/fuzz/Cargo.toml b/components/normalizer/fuzz/Cargo.toml similarity index 100% rename from experimental/normalizer/fuzz/Cargo.toml rename to components/normalizer/fuzz/Cargo.toml diff --git a/experimental/normalizer/fuzz/LICENSE b/components/normalizer/fuzz/LICENSE similarity index 100% rename from experimental/normalizer/fuzz/LICENSE rename to components/normalizer/fuzz/LICENSE diff --git a/experimental/normalizer/fuzz/README.md b/components/normalizer/fuzz/README.md similarity index 100% rename from experimental/normalizer/fuzz/README.md rename to components/normalizer/fuzz/README.md diff --git a/experimental/normalizer/fuzz/fuzz_targets/compare_utf16.rs b/components/normalizer/fuzz/fuzz_targets/compare_utf16.rs similarity index 100% rename from experimental/normalizer/fuzz/fuzz_targets/compare_utf16.rs rename to components/normalizer/fuzz/fuzz_targets/compare_utf16.rs diff --git a/experimental/normalizer/src/error.rs b/components/normalizer/src/error.rs similarity index 100% rename from experimental/normalizer/src/error.rs rename to components/normalizer/src/error.rs diff --git a/experimental/normalizer/src/lib.rs b/components/normalizer/src/lib.rs similarity index 99% rename from experimental/normalizer/src/lib.rs rename to components/normalizer/src/lib.rs index 0c12728b35e..e7dcfbe4e17 100644 --- a/experimental/normalizer/src/lib.rs +++ b/components/normalizer/src/lib.rs @@ -72,6 +72,7 @@ use crate::error::NormalizerError; use crate::provider::CanonicalDecompositionDataV1Marker; use crate::provider::CompatibilityDecompositionSupplementV1Marker; use crate::provider::DecompositionDataV1; +#[cfg(any(test, feature = "experimental"))] use crate::provider::Uts46DecompositionSupplementV1Marker; use alloc::string::String; use alloc::vec::Vec; @@ -93,6 +94,7 @@ use provider::CompatibilityDecompositionTablesV1Marker; use provider::CompositionPassthroughV1; use provider::DecompositionSupplementV1; use provider::DecompositionTablesV1; +#[cfg(any(test, feature = "experimental"))] use provider::Uts46CompositionPassthroughV1Marker; use smallvec::SmallVec; use u24::EMPTY_U24; @@ -105,6 +107,7 @@ use zerovec::ZeroSlice; enum SupplementPayloadHolder { Compatibility(DataPayload), + #[cfg(any(test, feature = "experimental"))] Uts46(DataPayload), } @@ -112,6 +115,7 @@ impl SupplementPayloadHolder { fn get(&self) -> &DecompositionSupplementV1 { match self { SupplementPayloadHolder::Compatibility(d) => d.get(), + #[cfg(any(test, feature = "experimental"))] SupplementPayloadHolder::Uts46(d) => d.get(), } } @@ -120,6 +124,7 @@ impl SupplementPayloadHolder { enum PassthroughPayloadHolder { Canonical(DataPayload), Compatibility(DataPayload), + #[cfg(any(test, feature = "experimental"))] Uts46(DataPayload), } @@ -128,6 +133,7 @@ impl PassthroughPayloadHolder { match self { PassthroughPayloadHolder::Canonical(d) => d.get(), PassthroughPayloadHolder::Compatibility(d) => d.get(), + #[cfg(any(test, feature = "experimental"))] PassthroughPayloadHolder::Uts46(d) => d.get(), } } @@ -1159,6 +1165,7 @@ macro_rules! normalizer_methods { } /// Normalize a string slice into a `Write` sink. + #[cfg(feature = "experimental")] pub fn normalize_to( &self, text: &str, @@ -1193,6 +1200,7 @@ macro_rules! normalizer_methods { /// /// Unpaired surrogates are mapped to the REPLACEMENT CHARACTER /// before normalizing. + #[cfg(feature = "experimental")] pub fn normalize_utf16_to( &self, text: &[u16], @@ -1223,6 +1231,7 @@ macro_rules! normalizer_methods { /// /// Errors are mapped to the REPLACEMENT CHARACTER according /// to the WHATWG Encoding Standard. + #[cfg(feature = "experimental")] pub fn normalize_utf8_to( &self, text: &[u8], @@ -1363,6 +1372,7 @@ impl DecomposingNormalizer { /// to other reorderable characters. /// /// Deliberately private and not available outside the crate. + #[cfg(any(test, feature = "experimental"))] fn try_new_uts46_decomposed_without_ignored_and_disallowed( data_provider: &D, ) -> Result @@ -1527,9 +1537,9 @@ impl ComposingNormalizer { /// canonically equivant with each other if they differ by how U+0345 is ordered relative /// to other reorderable characters. /// - /// NOTE: This method should probably remain experimental when this crate moves to - /// `components` until suitability of this feature as part of IDNA processing has - /// been demonstrated. + /// NOTE: This method remains experimental until suitability of this feature as part of + /// IDNA processing has been demonstrated. + #[cfg(any(test, feature = "experimental"))] pub fn try_new_uts46_without_ignored_and_disallowed( data_provider: &D, ) -> Result diff --git a/experimental/normalizer/src/provider.rs b/components/normalizer/src/provider.rs similarity index 100% rename from experimental/normalizer/src/provider.rs rename to components/normalizer/src/provider.rs diff --git a/experimental/normalizer/src/tests.rs b/components/normalizer/src/tests.rs similarity index 100% rename from experimental/normalizer/src/tests.rs rename to components/normalizer/src/tests.rs diff --git a/experimental/normalizer/src/u24.rs b/components/normalizer/src/u24.rs similarity index 100% rename from experimental/normalizer/src/u24.rs rename to components/normalizer/src/u24.rs diff --git a/experimental/normalizer/testdata/NormalizationTest.txt b/components/normalizer/testdata/NormalizationTest.txt similarity index 100% rename from experimental/normalizer/testdata/NormalizationTest.txt rename to components/normalizer/testdata/NormalizationTest.txt diff --git a/experimental/normalizer/testdata/README.md b/components/normalizer/testdata/README.md similarity index 100% rename from experimental/normalizer/testdata/README.md rename to components/normalizer/testdata/README.md diff --git a/provider/datagen/Cargo.toml b/provider/datagen/Cargo.toml index e6cf06a9d8c..f71a2879cae 100644 --- a/provider/datagen/Cargo.toml +++ b/provider/datagen/Cargo.toml @@ -35,17 +35,17 @@ all-features = true # ICU components icu_calendar = { version = "0.6", path = "../../components/calendar", features = ["datagen"] } +icu_collator = { version = "0.6", path = "../../components/collator", features = ["datagen"] } icu_datetime = { version = "0.6", path = "../../components/datetime", features = ["datagen"] } icu_decimal = { version = "0.6", path = "../../components/decimal", features = ["datagen"] } icu_list = { version = "0.6", path = "../../components/list", features = ["datagen"]} icu_locale_canonicalizer = { version = "0.6", path = "../../components/locale_canonicalizer", features = ["datagen"] } +icu_normalizer = { version = "0.6", path = "../../components/normalizer", features = ["datagen"] } icu_plurals = { version = "0.6", path = "../../components/plurals", features = ["datagen"] } icu_properties = { version = "0.6", path = "../../components/properties", features = ["datagen"]} # (experimental) icu_casemapping = { version = "0.1", path = "../../experimental/casemapping", features = ["datagen"], optional = true } icu_segmenter = { version = "0.6", path = "../../experimental/segmenter", features = ["datagen"], optional = true } -icu_collator = { version = "0.6", path = "../../experimental/collator", features = ["datagen"], optional = true } -icu_normalizer = { version = "0.6", path = "../../experimental/normalizer", features = ["datagen"], optional = true } # ICU provider infrastructure icu_provider = { version = "0.6", path = "../core", features = ["std", "log_error_context", "datagen"]} @@ -92,7 +92,7 @@ icu_testdata = { path = "../testdata", features = ["metadata"] } [features] default = [] -experimental = ["icu_casemapping", "icu_segmenter", "icu_collator", "icu_normalizer"] +experimental = ["icu_casemapping", "icu_segmenter"] bin = ["clap", "eyre", "simple_logger"] [[bin]] diff --git a/provider/datagen/src/registry.rs b/provider/datagen/src/registry.rs index 8dd6407c679..b496d79cf63 100644 --- a/provider/datagen/src/registry.rs +++ b/provider/datagen/src/registry.rs @@ -33,21 +33,14 @@ pub fn all_keys() -> Vec { icu_provider_adapters::fallback::provider::LocaleFallbackParentsV1Marker::KEY, #[cfg(feature = "experimental")] icu_casemapping::provider::CaseMappingV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CanonicalDecompositionDataV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CompatibilityDecompositionSupplementV1Marker::KEY, #[cfg(feature = "experimental")] icu_normalizer::provider::Uts46DecompositionSupplementV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CanonicalDecompositionTablesV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CompatibilityDecompositionTablesV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CanonicalCompositionsV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CanonicalCompositionPassthroughV1Marker::KEY, - #[cfg(feature = "experimental")] icu_normalizer::provider::CompatibilityCompositionPassthroughV1Marker::KEY, #[cfg(feature = "experimental")] icu_normalizer::provider::Uts46CompositionPassthroughV1Marker::KEY, @@ -55,7 +48,6 @@ pub fn all_keys() -> Vec { v.extend(icu_properties::provider::ALL_KEYS); #[cfg(feature = "experimental")] v.extend(icu_segmenter::ALL_KEYS); - #[cfg(feature = "experimental")] v.extend(crate::transform::icuexport::collator::ALL_KEYS); v } @@ -110,6 +102,16 @@ macro_rules! create_datagen_provider { $crate::transform::cldr::TimeZonesProvider, $crate::transform::cldr::WeekDataProvider, $crate::transform::cldr::ListProvider, + $crate::transform::icuexport::collator::CollationProvider, + $crate::transform::icuexport::normalizer::CanonicalDecompositionDataProvider, + $crate::transform::icuexport::normalizer::CompatibilityDecompositionSupplementProvider, + $crate::transform::icuexport::normalizer::Uts46DecompositionSupplementProvider, + $crate::transform::icuexport::normalizer::CanonicalDecompositionTablesProvider, + $crate::transform::icuexport::normalizer::CompatibilityDecompositionTablesProvider, + $crate::transform::icuexport::normalizer::CanonicalCompositionsProvider, + $crate::transform::icuexport::normalizer::CanonicalCompositionPassthroughProvider, + $crate::transform::icuexport::normalizer::CompatibilityCompositionPassthroughProvider, + $crate::transform::icuexport::normalizer::Uts46CompositionPassthroughProvider, $crate::transform::icuexport::uprops::EnumeratedPropertyCodePointTrieProvider, $crate::transform::icuexport::uprops::ScriptWithExtensionsPropertyProvider, $crate::transform::icuexport::uprops::BinaryPropertyUnicodeSetDataProvider, diff --git a/provider/datagen/src/transform/icuexport/mod.rs b/provider/datagen/src/transform/icuexport/mod.rs index d5518c8a671..18476393116 100644 --- a/provider/datagen/src/transform/icuexport/mod.rs +++ b/provider/datagen/src/transform/icuexport/mod.rs @@ -5,9 +5,7 @@ //! This module contains provider implementations backed by TOML files //! exported from ICU. -#[cfg(feature = "experimental")] pub mod collator; -#[cfg(feature = "experimental")] pub mod normalizer; #[cfg(feature = "experimental")] pub mod ucase; diff --git a/provider/testdata/Cargo.toml b/provider/testdata/Cargo.toml index 759b6d5561b..7b11cad7f57 100644 --- a/provider/testdata/Cargo.toml +++ b/provider/testdata/Cargo.toml @@ -171,10 +171,12 @@ writeable = { version = "0.4", path = "../../utils/writeable", optional = true } # databake deps icu_calendar = { version = "0.6", path = "../../components/calendar", optional = true } icu_casemapping = { version = "0.1", path = "../../experimental/casemapping", optional = true } +icu_collator = { version = "0.6", path = "../../components/collator", optional = true } icu_datetime = { version = "0.6", path = "../../components/datetime", optional = true } icu_decimal = { version = "0.6", path = "../../components/decimal", optional = true } icu_list = { version = "0.6", path = "../../components/list", optional = true } icu_locale_canonicalizer = { version = "0.6", path = "../../components/locale_canonicalizer", optional = true } +icu_normalizer = { version = "0.6", path = "../../components/normalizer", optional = true } icu_plurals = { version = "0.6", path = "../../components/plurals", optional = true } icu_properties = { version = "0.6", path = "../../components/properties", optional = true } icu_provider_adapters = { path = "../adapters" } @@ -182,8 +184,6 @@ icu_segmenter = { version = "0.6", path = "../../experimental/segmenter", option icu_char16trie = { version = "0.1", path = "../../experimental/char16trie", optional = true } icu_codepointtrie = { version = "0.4", path = "../../utils/codepointtrie", optional = true } icu_uniset = { version = "0.5", path = "../../utils/uniset", optional = true } -icu_normalizer = { version = "0.6", path = "../../experimental/normalizer", optional = true } -icu_collator = { version = "0.6", path = "../../experimental/collator", optional = true } tinystr = { version = "0.6", path = "../../utils/tinystr", optional = true } zerovec = { version = "0.7", path = "../../utils/zerovec", optional = true } diff --git a/tools/scripts/tidy.toml b/tools/scripts/tidy.toml index d7babebdca7..4af1fc99466 100644 --- a/tools/scripts/tidy.toml +++ b/tools/scripts/tidy.toml @@ -107,7 +107,7 @@ script = ''' exit_on_error true glob_pattern = set "./**/Cargo.toml" -skip_paths = set_new "experimental/collator/fuzz/Cargo.toml" "experimental/normalizer/fuzz/Cargo.toml" +skip_paths = set_new "components/collator/fuzz/Cargo.toml" "components/normalizer/fuzz/Cargo.toml" template = canonicalize README.tpl