Upgrade rbx_dom_weak, rbx_reflection, and rbx_xml

This commit is contained in:
Lucien Greathouse
2019-05-12 12:57:24 -07:00
parent 3ea432ef2d
commit 27e2612fc9
16 changed files with 52 additions and 48 deletions

View File

@@ -1,6 +1,17 @@
# Rojo Changelog
## [Unreleased]
* Upgraded significant dependencies:
* rbx_dom_weak 1.6.0
* `Content` properties can now be specified in projects and model files as strings
* Added support for `BrickColor`, but with no handy conversions yet
* rbx_reflection 3.0.384
* Updated reflection database to client release 384
* Adds support for new enum variants like `Lighting.Technology` as `"ShadowMap"`
* rbx_xml 0.7.0
* Performance improvements dealing with model/place files due to smaller error type
* Fixed serializing empty `Content` properties
* Improved content compatibility utilizing the reflection database
* Added support for implicit property values in JSON model files ([#154](https://github.com/LPGhatguy/rojo/pull/154))
## [0.5.0 Alpha 9](https://github.com/LPGhatguy/rojo/releases/tag/v0.5.0-alpha.9) (April 4, 2019)

35
Cargo.lock generated
View File

@@ -1115,12 +1115,12 @@ dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"lz4 1.23.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "rbx_dom_weak"
version = "1.4.0"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1130,27 +1130,24 @@ dependencies = [
[[package]]
name = "rbx_reflection"
version = "2.0.377"
version = "3.0.384"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "rbx_xml"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_reflection 3.0.384 (registry+https://github.com/rust-lang/crates.io-index)",
"xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -1285,15 +1282,14 @@ dependencies = [
"paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_binary 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_reflection 2.0.377 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_xml 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_dom_weak 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_reflection 3.0.384 (registry+https://github.com/rust-lang/crates.io-index)",
"rbx_xml 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"reqwest 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
"ritz 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rlua 0.16.2 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
"tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1379,6 +1375,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
name = "serde"
version = "1.0.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"serde_derive 1.0.90 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "serde_derive"
@@ -1982,9 +1981,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
"checksum rbx_binary 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b147f236284747ac1b4643476265dd36b402877d97adb7cbd0fafc1d247de0a5"
"checksum rbx_dom_weak 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d581dcb6e5eb395a5923e1efe39883124115d725dacae07cdf084204345611e7"
"checksum rbx_reflection 2.0.377 (registry+https://github.com/rust-lang/crates.io-index)" = "21ba49260081530590ee48dd1ce6014ac5abc79f581ccb4be0626d436af59e92"
"checksum rbx_xml 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "891a97bd72d0c6847fe624e724ff3080e3369de74e4ef3b3dab07c6d8ce2bc23"
"checksum rbx_dom_weak 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9af92582e8ac283fce50fe223d741e8f7f865a13ec99fdecc38cfb431de3ccf"
"checksum rbx_reflection 3.0.384 (registry+https://github.com/rust-lang/crates.io-index)" = "8bf0e45a2f1abeddf8096591c1081151e9114f4426fed97cab1d123b3fe4010f"
"checksum rbx_xml 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1142b88066f633c05a6589b8c19b69f04e9474dc9d1b659df6fc523ca8712ead"
"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"

View File

@@ -1,4 +1,7 @@
[workspace]
members = [
"server",
]
]
[profile.dev]
opt-level = 1

View File

@@ -30,15 +30,14 @@ log = "0.4"
maplit = "1.0.1"
notify = "4.0"
rbx_binary = "0.4.0"
rbx_dom_weak = "1.3.0"
rbx_xml = "0.6.0"
rbx_reflection = "2.0.374"
rbx_dom_weak = "1.6.0"
rbx_xml = "0.7.0"
rbx_reflection = "3.0.384"
regex = "1.0"
reqwest = "0.9.5"
rlua = "0.16"
ritz = "0.1.0"
serde = "1.0"
serde_derive = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
uuid = { version = "0.7", features = ["v4", "serde"] }

View File

@@ -100,7 +100,7 @@ pub fn build(options: &BuildOptions) -> Result<(), BuildError> {
// descendants.
let root_id = tree.get_root_id();
rbx_xml::encode(&tree, &[root_id], &mut file)?;
rbx_xml::to_writer_default(&mut file, &tree, &[root_id])?;
},
OutputKind::Rbxlx => {
// Place files don't contain an entry for the DataModel, but our
@@ -108,7 +108,7 @@ pub fn build(options: &BuildOptions) -> Result<(), BuildError> {
let root_id = tree.get_root_id();
let top_level_ids = tree.get_instance(root_id).unwrap().get_children_ids();
rbx_xml::encode(&tree, top_level_ids, &mut file)?;
rbx_xml::to_writer_default(&mut file, &tree, top_level_ids)?;
},
OutputKind::Rbxm => {
let root_id = tree.get_root_id();

View File

@@ -80,10 +80,10 @@ pub fn upload(options: &UploadOptions) -> Result<(), UploadError> {
match options.kind {
Some("place") | None => {
let top_level_ids = tree.get_instance(root_id).unwrap().get_children_ids();
rbx_xml::encode(&tree, top_level_ids, &mut contents)?;
rbx_xml::to_writer_default(&mut contents, &tree, top_level_ids)?;
},
Some("model") => {
rbx_xml::encode(&tree, &[root_id], &mut contents)?;
rbx_xml::to_writer_default(&mut contents, &tree, &[root_id])?;
},
Some(invalid) => return Err(UploadError::InvalidKind(invalid.to_owned())),
}

View File

@@ -8,7 +8,7 @@ use std::{
};
use failure::Fail;
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use crate::project::{Project, ProjectNode};

View File

@@ -3,7 +3,7 @@ use std::{
collections::{HashMap, HashSet},
};
use serde_derive::Serialize;
use serde::Serialize;
use log::warn;
#[derive(Debug, Serialize)]

View File

@@ -10,7 +10,7 @@
//!
//! ```
//! # use std::path::PathBuf;
//! # use serde_derive::{Serialize, Deserialize};
//! # use serde::{Serialize, Deserialize};
//!
//! #[derive(Serialize, Deserialize)]
//! struct Mine {

View File

@@ -9,8 +9,7 @@ use std::{
use log::warn;
use failure::Fail;
use rbx_dom_weak::{UnresolvedRbxValue, RbxValue};
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Serializer};
use serde::{Serialize, Serializer, Deserialize};
static DEFAULT_PLACE: &'static str = include_str!("../assets/place.project.json");

View File

@@ -7,7 +7,7 @@ use std::{
};
use rlua::Lua;
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use log::{info, trace, error};
use rbx_dom_weak::{RbxTree, RbxId};

View File

@@ -14,7 +14,7 @@ use failure::Fail;
use log::info;
use maplit::hashmap;
use rbx_dom_weak::{RbxTree, RbxValue, RbxInstanceProperties, UnresolvedRbxValue};
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use rbx_reflection::{try_resolve_value, ValueResolveError};
use crate::{
@@ -653,20 +653,13 @@ fn snapshot_xml_model_file<'source>(
.file_stem().expect("Could not extract file stem")
.to_str().expect("Could not convert path to UTF-8");
let mut temp_tree = RbxTree::new(RbxInstanceProperties {
name: "Temp".to_owned(),
class_name: "Folder".to_owned(),
properties: HashMap::new(),
});
let root_id = temp_tree.get_root_id();
rbx_xml::decode(&mut temp_tree, root_id, file.contents.as_slice())
let temp_tree = rbx_xml::from_reader_default(file.contents.as_slice())
.map_err(|inner| SnapshotError::XmlModelDecodeError {
inner,
path: file.path.clone(),
})?;
let root_instance = temp_tree.get_instance(root_id).unwrap();
let root_instance = temp_tree.get_instance(temp_tree.get_root_id()).unwrap();
let children = root_instance.get_children_ids();
match children.len() {

View File

@@ -1,4 +1,4 @@
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use uuid::Uuid;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]

View File

@@ -11,7 +11,7 @@ use std::{
};
use rbx_dom_weak::{RbxTree, RbxId, RbxInstanceProperties, RbxValue};
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use crate::{
path_map::PathMap,

View File

@@ -21,7 +21,7 @@ use hyper::{
Request,
Response,
};
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use rbx_dom_weak::{RbxId, RbxInstance};
use crate::{

View File

@@ -20,7 +20,7 @@ use std::{
};
use log::error;
use serde_derive::{Serialize, Deserialize};
use serde::{Serialize, Deserialize};
use rbx_dom_weak::{RbxId, RbxTree};
use librojo::{