Tweak codegen

This commit is contained in:
Taiki Endo
2023-01-07 21:09:43 +09:00
parent c4298ca31e
commit ae0e1936a4

View File

@@ -7,7 +7,7 @@ use std::{
collections::{BTreeMap, BTreeSet},
env, fmt,
io::Read,
path::Path,
path::{Path, PathBuf},
slice,
str::FromStr,
time::Duration,
@@ -23,14 +23,14 @@ fn main() -> Result<()> {
}
let package = &args[0];
let root_dir = Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../..")
.canonicalize()?;
let manifest_path = &root_dir.join("manifests").join(format!("{package}.json"));
let download_cache_dir = &root_dir.join("tools/codegen/tmp/cache").join(package);
let workspace_root = &workspace_root();
let manifest_path = &workspace_root
.join("manifests")
.join(format!("{package}.json"));
let download_cache_dir = &workspace_root.join("tools/codegen/tmp/cache").join(package);
fs::create_dir_all(download_cache_dir)?;
let base_info: BaseManifest = serde_json::from_slice(&fs::read(
root_dir
workspace_root
.join("tools/codegen/base")
.join(format!("{package}.json")),
)?)?;
@@ -334,6 +334,13 @@ fn main() -> Result<()> {
Ok(())
}
fn workspace_root() -> PathBuf {
let mut dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
dir.pop(); // codegen
dir.pop(); // tools
dir
}
fn replace_vars(s: &str, package: &str, version: &str, platform: HostPlatform) -> Result<String> {
let s = s
.replace("${package}", package)