- if !message.out_dir.as_str().is_empty() {
- let out_dir =
- AbsPathBuf::assert(PathBuf::from(message.out_dir.into_os_string()));
- package_build_data.out_dir = Some(out_dir);
- package_build_data.cfgs = cfgs;
+ let out_dir = message.out_dir.into_os_string();
+ if !out_dir.is_empty() {
+ let data = outputs[package].get_or_insert_with(Default::default);
+ let out_dir = Some(AbsPathBuf::assert(PathBuf::from(out_dir)));
+ (data.out_dir, data.cfgs) = (out_dir, cfgs);
+ }
+ if !message.env.is_empty() {
+ outputs[package].get_or_insert_with(Default::default).envs =
+ message.env;