Support commenting out overlays
This commit is contained in:
parent
f5e9ba0279
commit
5b05f1e51a
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"slot_0": {
|
"slot_0": {
|
||||||
"timer_tests": {
|
"!timer_tests": {
|
||||||
"pattern": "bin/*/src/Overlay/TimerTests2/*.o"
|
"pattern": "bin/*/src/Overlay/TimerTests/*.o"
|
||||||
},
|
},
|
||||||
"gpu_tests": {
|
"gpu_tests": {
|
||||||
"pattern": "bin/*/src/Overlay/GPUTests/*.o"
|
"pattern": "bin/*/src/Overlay/GPUTests/*.o"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "mkoverlay"
|
name = "mkoverlay"
|
||||||
version = "1.5.1"
|
version = "1.6.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
|
|
@ -7,7 +7,10 @@ pub fn read_config(input: Input) -> Result<OverlayDesc, Error> {
|
||||||
|
|
||||||
if let Some(objects) = json_reader.as_object() {
|
if let Some(objects) = json_reader.as_object() {
|
||||||
for object in objects {
|
for object in objects {
|
||||||
overlay_desc.push(read_as_slot(object)?);
|
let slot = read_as_slot(object)?;
|
||||||
|
if !slot.is_commented_out() && slot.has_sections() {
|
||||||
|
overlay_desc.push(slot);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(overlay_desc)
|
Ok(overlay_desc)
|
||||||
|
@ -24,7 +27,10 @@ fn read_as_slot(json_value: (&String, &serde_json::Value)) -> Result<OverlaySlot
|
||||||
|
|
||||||
if let Some(json_value) = json_value.as_object() {
|
if let Some(json_value) = json_value.as_object() {
|
||||||
for (name, json_value) in json_value {
|
for (name, json_value) in json_value {
|
||||||
slot.add_section(read_as_section(name.clone(), json_value)?);
|
let section = read_as_section(name.clone(), json_value)?;
|
||||||
|
if !section.is_commented_out() {
|
||||||
|
slot.add_section(section);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ pub mod json_reader;
|
||||||
|
|
||||||
pub type OverlayDesc = Vec<OverlaySlot>;
|
pub type OverlayDesc = Vec<OverlaySlot>;
|
||||||
|
|
||||||
|
const COMMENT_PREFIX:char = '!';
|
||||||
|
|
||||||
pub struct OverlaySlot {
|
pub struct OverlaySlot {
|
||||||
pub(super) name: String,
|
pub(super) name: String,
|
||||||
pub(super) sections: Vec<OverlaySection>
|
pub(super) sections: Vec<OverlaySection>
|
||||||
|
@ -15,6 +17,14 @@ impl OverlaySlot {
|
||||||
pub fn add_section(&mut self, section: OverlaySection) {
|
pub fn add_section(&mut self, section: OverlaySection) {
|
||||||
self.sections.push(section);
|
self.sections.push(section);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_commented_out(&self) -> bool {
|
||||||
|
self.name.starts_with(COMMENT_PREFIX)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn has_sections(&self) -> bool {
|
||||||
|
!self.sections.is_empty()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct OverlaySection {
|
pub struct OverlaySection {
|
||||||
|
@ -30,4 +40,8 @@ impl OverlaySection {
|
||||||
pub fn add_file_pattern(&mut self, file_pattern: String) {
|
pub fn add_file_pattern(&mut self, file_pattern: String) {
|
||||||
self.file_pattern.push(file_pattern);
|
self.file_pattern.push(file_pattern);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_commented_out(&self) -> bool {
|
||||||
|
self.name.starts_with(COMMENT_PREFIX)
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue