difftreelog
fix build without codegenerated-stdlib feature
in: master
2 files changed
crates/jrsonnet-stdlib/build.rsdiffbeforeafterboth1use std::{env, fs::File, io::Write, path::Path};23use jrsonnet_parser::{parse, ParserSettings, Source};4use structdump::CodegenResult;56fn main() {1fn main() {2 #[cfg(feature = "codegenerated-stdlib")]3 {4 use std::{env, fs::File, io::Write, path::Path};56 use jrsonnet_parser::{parse, ParserSettings, Source};7 use structdump::CodegenResult;87 let parsed = parse(9 let parsed = parse(8 include_str!("./src/std.jsonnet"),10 include_str!("./src/std.jsonnet"),21 let dest_path = Path::new(&out_dir).join("stdlib.rs");26 let dest_path = Path::new(&out_dir).join("stdlib.rs");22 let mut f = File::create(dest_path).unwrap();27 let mut f = File::create(dest_path).unwrap();23 f.write_all(28 f.write_all(24 ("#[allow(clippy::redundant_clone)]".to_owned() + &v.to_string())29 ("#[allow(clippy::redundant_clone)]".to_owned() + &v.to_string()).as_bytes(),25 .replace(';', ";\n")26 .as_bytes(),27 )30 )28 .unwrap();31 .unwrap();29 }32 }33 }30}34}3135crates/jrsonnet-stdlib/src/expr.rsdiffbeforeafterboth--- a/crates/jrsonnet-stdlib/src/expr.rs
+++ b/crates/jrsonnet-stdlib/src/expr.rs
@@ -1,11 +1,5 @@
use jrsonnet_parser::LocExpr;
-mod structdump_import {
- pub(super) use std::{option::Option, rc::Rc, vec};
-
- pub(super) use jrsonnet_parser::*;
-}
-
pub fn stdlib_expr() -> LocExpr {
#[cfg(feature = "serialized-stdlib")]
{
@@ -85,15 +79,25 @@
#[cfg(feature = "codegenerated-stdlib")]
{
+ mod structdump_import {
+ pub(super) use std::{option::Option, rc::Rc, vec};
+
+ pub(super) use jrsonnet_parser::*;
+ };
+
include!(concat!(env!("OUT_DIR"), "/stdlib.rs"))
}
#[cfg(not(feature = "codegenerated-stdlib"))]
{
+ use jrsonnet_parser::Source;
+
+ const STDLIB_STR: &str = include_str!("./std.jsonnet");
+
jrsonnet_parser::parse(
STDLIB_STR,
- &ParserSettings {
- file_name: Source::new_virtual(Cow::Borrowed("<std>"), STDLIB_STR.into()),
+ &jrsonnet_parser::ParserSettings {
+ source: Source::new_virtual("<std>".into(), STDLIB_STR.into()),
},
)
.unwrap()