MCPcopy Create free account
hub / github.com/PerroEngine/Perro / dlc_command

Function dlc_command

perro_source/devtools/perro_cli/src/project.rs:179–201  ·  view source on GitHub ↗
(args: &[String], cwd: &Path)

Source from the content-addressed store, hash-verified

177 })
178}
179
180pub(crate) fn dlc_command(args: &[String], cwd: &Path) -> Result<(), String> {
181 let Some(raw_dlc_name) = parse_flag_value(args, "--name") else {
182 return Err("missing required flag `--name`".to_string());
183 };
184 let dlc_name = validate_dlc_name(&raw_dlc_name)?;
185 let project_dir = parse_flag_value(args, "--path")
186 .map(|p| resolve_local_path(&p, cwd))
187 .unwrap_or_else(|| cwd.to_path_buf());
188 let project_dir = project_dir.canonicalize().unwrap_or(project_dir);
189 update_workspace_vscode_linked_projects(&workspace_root(), &project_dir)?;
190 update_project_vscode_linked_projects(&project_dir)?;
191
192 log_step("Building DLC");
193 let package = compile_dlc_bundle(&project_dir, &dlc_name).map_err(|err| {
194 format!(
195 "dlc pipeline failed for {} ({}): {err}",
196 project_dir.display(),
197 dlc_name
198 )
199 })?;
200 log_done(&format!("DLC Built ({})", package.display()));
201 Ok(())
202}
203
204pub(crate) fn dev_command(args: &[String], cwd: &Path) -> Result<(), String> {

Callers 1

mainFunction · 0.85

Calls 9

log_stepFunction · 0.85
compile_dlc_bundleFunction · 0.85
log_doneFunction · 0.85
parse_flag_valueFunction · 0.70
validate_dlc_nameFunction · 0.70
resolve_local_pathFunction · 0.70
workspace_rootFunction · 0.70

Tested by

no test coverage detected