MCPcopy Create free account
hub / github.com/faern/rustscript / create_toml

Function create_toml

src/scriptbuilder.rs:71–93  ·  view source on GitHub ↗
(script_name: &str,
                               extern_crates: &[CrateImport],
                               project_dir: P)

Source from the content-addressed store, hash-verified

69}
70
71fn create_toml<P: AsRef<Path>>(script_name: &str,
72 extern_crates: &[CrateImport],
73 project_dir: P)
74 -> Result<()> {
75 let project_dir = project_dir.as_ref();
76 let project_name = script_name.replace('.', "_");
77 let mut toml = format!("[package]
78 name = \"{}\"
79 version = \"0.0.0\"
80 [[bin]]
81 name = \"bin\"
82 [dependencies]
83 ",
84 project_name);
85 for extern_crate in extern_crates {
86 toml.push_str(&extern_crate.to_cargo_toml_format());
87 toml.push('\n');
88 }
89 let mut toml_f =
90 fs::File::create(project_dir.join("Cargo.toml")).chain_err(|| "Unable to create Cargo.toml")?;
91 toml_f.write_all(toml.as_bytes()).chain_err(|| "Unable to write to Cargo.toml")?;
92 Ok(())
93}
94
95fn format_code(extern_crates: &[CrateImport], code: &str) -> String {
96 let mut output_code = String::new();

Callers 1

build_script_crateFunction · 0.85

Calls 1

to_cargo_toml_formatMethod · 0.80

Tested by

no test coverage detected