diff --git a/.gitmodules b/.gitmodules index 46789ed1..18faf39c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "plugin/Packages/Highlighter"] path = plugin/Packages/Highlighter url = https://github.com/boatbomber/highlighter.git +[submodule "rbx-dom"] + path = rbx-dom + url = git@github.com:UserGeneratedLLC/rbx-dom.git diff --git a/Cargo.lock b/Cargo.lock index 9154e5d7..328e29ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -39,6 +39,18 @@ dependencies = [ "memchr", ] +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstyle" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" + [[package]] name = "anyhow" version = "1.0.100" @@ -210,6 +222,33 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half 2.7.1", +] + [[package]] name = "clap" version = "2.34.0" @@ -230,7 +269,7 @@ dependencies = [ "atty", "bitflags 1.3.2", "clap_derive", - "clap_lex", + "clap_lex 0.2.4", "indexmap 1.9.3", "once_cell", "strsim", @@ -238,6 +277,25 @@ dependencies = [ "textwrap 0.16.2", ] +[[package]] +name = "clap" +version = "4.5.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6e6ff9dcd79cff5cd969a17a545d79e84ab086e444102a591e288a8aa3ce394" +dependencies = [ + "clap_builder", +] + +[[package]] +name = "clap_builder" +version = "4.5.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa42cf4d2b7a41bc8f663a7cab4031ebafa1bf3875705bfaf8466dc60ab52c00" +dependencies = [ + "anstyle", + "clap_lex 0.7.7", +] + [[package]] name = "clap_derive" version = "3.2.25" @@ -260,6 +318,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" + [[package]] name = "console" version = "0.15.11" @@ -312,7 +376,7 @@ dependencies = [ "atty", "cast", "clap 2.34.0", - "criterion-plot", + "criterion-plot 0.4.5", "csv", "itertools", "lazy_static", @@ -329,6 +393,32 @@ dependencies = [ "walkdir", ] +[[package]] +name = "criterion" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap 4.5.54", + "criterion-plot 0.5.0", + "is-terminal", + "itertools", + "num-traits", + "once_cell", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + [[package]] name = "criterion-plot" version = "0.4.5" @@ -339,6 +429,16 @@ dependencies = [ "itertools", ] +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -373,6 +473,12 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-common" version = "0.1.7" @@ -820,6 +926,17 @@ version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if 1.0.4", + "crunchy", + "zerocopy", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1148,6 +1265,17 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "is-terminal" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" +dependencies = [ + "hermit-abi 0.5.2", + "libc", + "windows-sys 0.61.2", +] + [[package]] name = "itertools" version = "0.10.5" @@ -1796,9 +1924,12 @@ dependencies = [ [[package]] name = "rbx_binary" version = "2.0.1" -source = "git+https://github.com/UserGeneratedLLC/rbx-dom#7ef7d448ba6d30c4cb217b228d5c22c6f5ac07f3" dependencies = [ "ahash", + "criterion 0.5.1", + "env_logger", + "heck 0.4.1", + "insta", "log", "lz4_flex", "profiling", @@ -1813,9 +1944,9 @@ dependencies = [ [[package]] name = "rbx_dom_weak" version = "4.1.0" -source = "git+https://github.com/UserGeneratedLLC/rbx-dom#7ef7d448ba6d30c4cb217b228d5c22c6f5ac07f3" dependencies = [ "ahash", + "insta", "rbx_types", "serde", "ustr", @@ -1824,7 +1955,6 @@ dependencies = [ [[package]] name = "rbx_reflection" version = "6.1.0" -source = "git+https://github.com/UserGeneratedLLC/rbx-dom#7ef7d448ba6d30c4cb217b228d5c22c6f5ac07f3" dependencies = [ "rbx_types", "serde", @@ -1834,7 +1964,6 @@ dependencies = [ [[package]] name = "rbx_reflection_database" version = "2.0.2+roblox-700" -source = "git+https://github.com/UserGeneratedLLC/rbx-dom#7ef7d448ba6d30c4cb217b228d5c22c6f5ac07f3" dependencies = [ "dirs 5.0.1", "log", @@ -1846,24 +1975,28 @@ dependencies = [ [[package]] name = "rbx_types" version = "3.1.0" -source = "git+https://github.com/UserGeneratedLLC/rbx-dom#7ef7d448ba6d30c4cb217b228d5c22c6f5ac07f3" dependencies = [ "base64 0.13.1", + "bincode", "bitflags 1.3.2", "blake3", + "insta", "lazy_static", "rand", "serde", + "serde_json", "thiserror", ] [[package]] name = "rbx_xml" version = "2.0.1" -source = "git+https://github.com/UserGeneratedLLC/rbx-dom#7ef7d448ba6d30c4cb217b228d5c22c6f5ac07f3" dependencies = [ "ahash", "base64 0.13.1", + "env_logger", + "heck 0.4.1", + "insta", "log", "rbx_dom_weak", "rbx_reflection", @@ -2047,7 +2180,7 @@ dependencies = [ "bincode", "blake3", "clap 3.2.25", - "criterion", + "criterion 0.3.6", "crossbeam-channel", "csv", "data-encoding", @@ -2230,7 +2363,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" dependencies = [ - "half", + "half 1.8.3", "serde", ] diff --git a/Cargo.toml b/Cargo.toml index fe95b1af..52f3cbd8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -48,12 +48,12 @@ harness = false [dependencies] memofs = { version = "0.3.1", path = "crates/memofs" } -# rbx-dom dependencies (from fork, use [patch] section at bottom for local dev) -rbx_binary = { git = "https://github.com/UserGeneratedLLC/rbx-dom", features = ["unstable_text_format"] } -rbx_dom_weak = { git = "https://github.com/UserGeneratedLLC/rbx-dom" } -rbx_reflection = { git = "https://github.com/UserGeneratedLLC/rbx-dom" } -rbx_reflection_database = { git = "https://github.com/UserGeneratedLLC/rbx-dom" } -rbx_xml = { git = "https://github.com/UserGeneratedLLC/rbx-dom" } +# rbx-dom dependencies (local submodule) +rbx_binary = { path = "rbx-dom/rbx_binary", features = ["unstable_text_format"] } +rbx_dom_weak = { path = "rbx-dom/rbx_dom_weak" } +rbx_reflection = { path = "rbx-dom/rbx_reflection" } +rbx_reflection_database = { path = "rbx-dom/rbx_reflection_database" } +rbx_xml = { path = "rbx-dom/rbx_xml" } anyhow = "1.0.80" backtrace = "0.3.69" @@ -120,11 +120,3 @@ pretty_assertions = "1.4.0" serde_yaml = "0.8.26" tempfile = "3.10.1" walkdir = "2.5.0" - -# Uncomment for local development with rbx-dom -# [patch.'https://github.com/UserGeneratedLLC/rbx-dom'] -# rbx_binary = { path = "../rbx-dom/rbx_binary" } -# rbx_dom_weak = { path = "../rbx-dom/rbx_dom_weak" } -# rbx_reflection = { path = "../rbx-dom/rbx_reflection" } -# rbx_reflection_database = { path = "../rbx-dom/rbx_reflection_database" } -# rbx_xml = { path = "../rbx-dom/rbx_xml" }