mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 15:20:51 +00:00
feat: Enhance dependency management and project setup
- Added support for registry-based dependencies in the dependencies section. - Updated the package section to include a project type field. - Introduced a new CLI command `dcr setup` to load and display registry configurations. - Implemented a new module for handling registry operations, including loading and resolving packages from registries. - Enhanced the build process to handle library packaging, including copying headers and libraries to the appropriate target directories. - Updated the CLI to support building library packages and added tests for library package builds. - Improved error handling and output messages during dependency resolution and package fetching.
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
pub fn bin_path(profile: &str, name: &str, target_dir: Option<&str>) -> String {
|
||||
match target_dir {
|
||||
Some(dir) => format!("{}/{}", dir.trim_end_matches('/'), name),
|
||||
None => format!("./target/{profile}/{name}"),
|
||||
None => {
|
||||
let arch = std::env::consts::ARCH;
|
||||
let target = format!("{arch}-unknown-linux-gnu");
|
||||
format!("./target/{target}/{profile}/{name}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,12 +29,16 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn bin_path_default() {
|
||||
assert_eq!(bin_path("debug", "hello", None), "./target/debug/hello");
|
||||
let arch = std::env::consts::ARCH;
|
||||
let expected = format!("./target/{arch}-unknown-linux-gnu/debug/hello");
|
||||
assert_eq!(bin_path("debug", "hello", None), expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bin_path_release() {
|
||||
assert_eq!(bin_path("release", "hello", None), "./target/release/hello");
|
||||
let arch = std::env::consts::ARCH;
|
||||
let expected = format!("./target/{arch}-unknown-linux-gnu/release/hello");
|
||||
assert_eq!(bin_path("release", "hello", None), expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user