diff --git a/tools/hermes/src/parse.rs b/tools/hermes/src/parse.rs index a6a15aa76d..626bb6af8c 100644 --- a/tools/hermes/src/parse.rs +++ b/tools/hermes/src/parse.rs @@ -102,6 +102,7 @@ pub fn read_file_and_scan_compilation_unit( where F: FnMut(&str, Result), { + log::trace!("read_file_and_scan_compilation_unit({:?})", path); let source = fs::read_to_string(path).expect("Failed to read file"); let unloaded_modules = scan_compilation_unit(&source, f); Ok((source, unloaded_modules)) diff --git a/tools/hermes/src/resolve.rs b/tools/hermes/src/resolve.rs index 4f83cd3651..ef0b1e8dad 100644 --- a/tools/hermes/src/resolve.rs +++ b/tools/hermes/src/resolve.rs @@ -98,6 +98,7 @@ impl TryFrom<&TargetKind> for HermesTargetKind { } } +#[derive(Debug)] pub struct Roots { pub workspace: PathBuf, pub cargo_target_dir: PathBuf, @@ -109,6 +110,7 @@ pub struct Roots { /// /// Each entry represents a distinct compilation artifact to be verified. pub fn resolve_roots(args: &Args) -> Result { + log::trace!("resolve_roots({:?})", args); let mut cmd = MetadataCommand::new(); if let Some(path) = &args.manifest.manifest_path { @@ -154,6 +156,8 @@ pub fn resolve_roots(args: &Args) -> Result { } fn resolve_shadow_path(metadata: &Metadata) -> PathBuf { + log::trace!("resolve_shadow_path"); + log::debug!("workspace_root: {:?}", metadata.workspace_root.as_std_path()); // NOTE: Automatically handles `CARGO_TARGET_DIR` env var. let target_dir = metadata.target_directory.as_std_path(); @@ -179,6 +183,7 @@ fn resolve_packages<'a>( metadata: &'a Metadata, args: &clap_cargo::Workspace, ) -> Result> { + log::trace!("resolve_packages(workspace: {}, all: {})", args.workspace, args.all); let mut packages = Vec::new(); if !args.package.is_empty() { @@ -244,6 +249,7 @@ fn resolve_targets<'a>( package: &'a Package, args: &Args, ) -> Result> { + log::trace!("resolve_targets({})", package.name); let mut selected_artifacts = Vec::new(); // If no specific target flags are set, default to libs + bins. @@ -306,6 +312,7 @@ fn resolve_targets<'a>( /// within the workspace root. Returns an error if an external path dependency /// is found. pub fn check_for_external_deps(metadata: &Metadata) -> Result<()> { + log::trace!("check_for_external_deps"); let workspace_root = metadata.workspace_root.as_std_path(); for pkg in &metadata.packages { diff --git a/tools/hermes/src/shadow.rs b/tools/hermes/src/shadow.rs index 3cb54beada..2a9959ecef 100644 --- a/tools/hermes/src/shadow.rs +++ b/tools/hermes/src/shadow.rs @@ -17,6 +17,7 @@ use crate::{parse, resolve::Roots, transform}; /// encountered. /// 2. Creates symlinks for the remaining skeleton. pub fn build_shadow_crate(roots: &Roots) -> Result<()> { + log::trace!("build_shadow_crate({:?})", roots); if roots.shadow_root.exists() { fs::remove_dir_all(&roots.shadow_root).context("Failed to clear shadow root")?; } @@ -85,6 +86,7 @@ fn process_file_recursive<'a>( visited: &'a DashSet, err_tx: Sender, ) { + log::trace!("process_file_recursive(src_path: {:?})", src_path); if !visited.insert(src_path.to_path_buf()) { return; } @@ -175,6 +177,12 @@ fn resolve_module_path( mod_name: &str, path_attr: Option<&str>, ) -> Option { + log::trace!( + "resolve_module_path(base_dir: {:?}, mod_name: {:?}, path_attr: {:?})", + base_dir, + mod_name, + path_attr + ); // 1. Handle explicit #[path = "..."] if let Some(custom_path) = path_attr { let p = base_dir.join(custom_path); @@ -205,6 +213,7 @@ fn create_symlink_skeleton( target_dir: &Path, skip_paths: &HashSet, ) -> Result<()> { + log::trace!("create_symlink_skeleton(source_root: {:?}, dest_root: {:?}, target_dir: {:?}, skip_paths_count: {})", source_root, dest_root, target_dir, skip_paths.len()); let walker = WalkDir::new(source_root) .follow_links(false) // Security: don't follow symlinks out of the root. .into_iter();