mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-24 06:35:39 +00:00
Support $schema in JSON structures (#974)
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
# Rojo Changelog
|
# Rojo Changelog
|
||||||
|
|
||||||
## Unreleased Changes
|
## Unreleased Changes
|
||||||
|
* Support for a `$schema` field in all special JSON files (`.project.json`, `.model.json`, and `.meta.json`) ([#974])
|
||||||
* Projects may now manually link `Ref` properties together using `Attributes`. ([#843])
|
* Projects may now manually link `Ref` properties together using `Attributes`. ([#843])
|
||||||
This has two parts: using `id` or `$id` in JSON files or a `Rojo_Target` attribute, an Instance
|
This has two parts: using `id` or `$id` in JSON files or a `Rojo_Target` attribute, an Instance
|
||||||
is given an ID. Then, that ID may be used elsewhere in the project to point to an Instance
|
is given an ID. Then, that ID may be used elsewhere in the project to point to an Instance
|
||||||
@@ -85,6 +86,7 @@
|
|||||||
[#886]: https://github.com/rojo-rbx/rojo/pull/886
|
[#886]: https://github.com/rojo-rbx/rojo/pull/886
|
||||||
[#911]: https://github.com/rojo-rbx/rojo/pull/911
|
[#911]: https://github.com/rojo-rbx/rojo/pull/911
|
||||||
[#915]: https://github.com/rojo-rbx/rojo/pull/915
|
[#915]: https://github.com/rojo-rbx/rojo/pull/915
|
||||||
|
[#974]: https://github.com/rojo-rbx/rojo/pull/974
|
||||||
|
|
||||||
## [7.4.3] - August 6th, 2024
|
## [7.4.3] - August 6th, 2024
|
||||||
* Fixed issue with building binary files introduced in 7.4.2
|
* Fixed issue with building binary files introduced in 7.4.2
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ enum Error {
|
|||||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
#[serde(deny_unknown_fields, rename_all = "camelCase")]
|
#[serde(deny_unknown_fields, rename_all = "camelCase")]
|
||||||
pub struct Project {
|
pub struct Project {
|
||||||
|
#[serde(rename = "$schema", skip_serializing_if = "Option::is_none")]
|
||||||
|
schema: Option<String>,
|
||||||
|
|
||||||
/// The name of the top-level instance described by the project.
|
/// The name of the top-level instance described by the project.
|
||||||
pub name: Option<String>,
|
pub name: Option<String>,
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ pub fn snapshot_json_model(
|
|||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
struct JsonModel {
|
struct JsonModel {
|
||||||
|
#[serde(rename = "$schema", skip_serializing_if = "Option::is_none")]
|
||||||
|
schema: Option<String>,
|
||||||
|
|
||||||
#[serde(alias = "Name")]
|
#[serde(alias = "Name")]
|
||||||
name: Option<String>,
|
name: Option<String>,
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,9 @@ use crate::{resolution::UnresolvedValue, snapshot::InstanceSnapshot, RojoRef};
|
|||||||
#[derive(Debug, Serialize, Deserialize)]
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct AdjacentMetadata {
|
pub struct AdjacentMetadata {
|
||||||
|
#[serde(rename = "$schema", skip_serializing_if = "Option::is_none")]
|
||||||
|
schema: Option<String>,
|
||||||
|
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<String>,
|
pub id: Option<String>,
|
||||||
|
|
||||||
@@ -104,6 +107,9 @@ impl AdjacentMetadata {
|
|||||||
#[derive(Debug, Serialize, Deserialize)]
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct DirectoryMetadata {
|
pub struct DirectoryMetadata {
|
||||||
|
#[serde(rename = "$schema", skip_serializing_if = "Option::is_none")]
|
||||||
|
schema: Option<String>,
|
||||||
|
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub id: Option<String>,
|
pub id: Option<String>,
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user