Generate visual parameter and foliage catalogs (#48)
This commit is contained in:
@@ -10,6 +10,7 @@ publish = false
|
||||
|
||||
[dependencies]
|
||||
prettyplease = "0.2"
|
||||
roxmltree = "0.21.1"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
sha2 = "0.11"
|
||||
|
||||
@@ -11,9 +11,13 @@ use std::fmt::Write as _;
|
||||
use std::fs;
|
||||
use std::path::{Component, Path, PathBuf};
|
||||
|
||||
mod xml_catalog;
|
||||
|
||||
pub const INVENTORY_PATH: &str = "codegen/sources.json";
|
||||
pub const MANIFEST_OUTPUT: &str = "codegen/generated/source_manifest.rs";
|
||||
pub const PACKET_OUTPUT: &str = "crates/libremetaverse/src/packet_catalog.rs";
|
||||
pub const VISUAL_OUTPUT: &str = "crates/libremetaverse/src/visual_catalog.rs";
|
||||
pub const FOLIAGE_OUTPUT: &str = "crates/libremetaverse/src/foliage_catalog.rs";
|
||||
pub const PUBLIC_API_PATH: &str = "api/public-api.json";
|
||||
const RUST_KEYWORDS: &[&str] = &[
|
||||
"as", "break", "const", "continue", "crate", "else", "enum", "extern", "false", "fn", "for",
|
||||
@@ -2043,6 +2047,14 @@ pub fn regenerate(root: &Path, check: bool) -> Result<(), String> {
|
||||
let outputs = [
|
||||
(root.join(MANIFEST_OUTPUT), source_manifest_bytes(root)?),
|
||||
(root.join(PACKET_OUTPUT), packet_catalog_bytes(root)?),
|
||||
(
|
||||
root.join(VISUAL_OUTPUT),
|
||||
xml_catalog::visual_catalog_bytes(root)?,
|
||||
),
|
||||
(
|
||||
root.join(FOLIAGE_OUTPUT),
|
||||
xml_catalog::foliage_catalog_bytes(root)?,
|
||||
),
|
||||
];
|
||||
if check {
|
||||
for (path, expected) in outputs {
|
||||
@@ -2077,6 +2089,16 @@ mod tests {
|
||||
let first_packets = packet_catalog_bytes(&root).expect("first packet generation");
|
||||
let second_packets = packet_catalog_bytes(&root).expect("second packet generation");
|
||||
assert_eq!(first_packets, second_packets);
|
||||
let first_visual =
|
||||
xml_catalog::visual_catalog_bytes(&root).expect("first visual generation");
|
||||
let second_visual =
|
||||
xml_catalog::visual_catalog_bytes(&root).expect("second visual generation");
|
||||
assert_eq!(first_visual, second_visual);
|
||||
let first_foliage =
|
||||
xml_catalog::foliage_catalog_bytes(&root).expect("first foliage generation");
|
||||
let second_foliage =
|
||||
xml_catalog::foliage_catalog_bytes(&root).expect("second foliage generation");
|
||||
assert_eq!(first_foliage, second_foliage);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
1104
tools/codegen/src/xml_catalog.rs
Normal file
1104
tools/codegen/src/xml_catalog.rs
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user