diff --git a/cargo-dinghy/src/main.rs b/cargo-dinghy/src/main.rs index df987ce2..4b7f44dd 100644 --- a/cargo-dinghy/src/main.rs +++ b/cargo-dinghy/src/main.rs @@ -120,6 +120,7 @@ fn run_command(cli: DinghyCli) -> Result<()> { dynamic_libraries: vec![], runnable: Runnable { id: exe_id, + package_name: std::env::var("CARGO_PKG_NAME")?, exe: PathBuf::from(exe).canonicalize()?, // cargo launches the runner inside the dir of the crate source: PathBuf::from(".").canonicalize()?, diff --git a/dinghy-lib/src/device.rs b/dinghy-lib/src/device.rs index 48204497..e377418f 100644 --- a/dinghy-lib/src/device.rs +++ b/dinghy-lib/src/device.rs @@ -32,8 +32,8 @@ pub fn make_remote_app_with_name( let root_dir = build.target_path.join("dinghy"); let bundle_path = match bundle_name { - Some(name) => root_dir.join(&build.runnable.id).join(name), - None => root_dir.join(&build.runnable.id), + Some(name) => root_dir.join(&build.runnable.package_name).join(name), + None => root_dir.join(&build.runnable.package_name), }; let bundle_libs_path = root_dir.join("overlay"); let bundle_target_path = &bundle_path; diff --git a/dinghy-lib/src/lib.rs b/dinghy-lib/src/lib.rs index 7f1440c5..c5418562 100644 --- a/dinghy-lib/src/lib.rs +++ b/dinghy-lib/src/lib.rs @@ -291,6 +291,7 @@ impl BuildBundle { #[derive(Clone, Debug, Default)] pub struct Runnable { pub id: String, + pub package_name: String, pub exe: path::PathBuf, pub source: path::PathBuf, } diff --git a/dinghy-lib/src/project.rs b/dinghy-lib/src/project.rs index 9a14b798..21ad3a56 100644 --- a/dinghy-lib/src/project.rs +++ b/dinghy-lib/src/project.rs @@ -97,7 +97,7 @@ impl Project { if metadata.is_dir() { rec_copy(file, dst, td.copy_git_ignored)?; } else { - fs::copy(file, dst)?; + copy_and_sync_file(file, dst)?; } } else { log::warn!(