mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 12:38:30 +00:00
- Full Git dependency support in `dcr.toml`
- Support for `git`, `branch`, `tag`, and `rev` fields
- Automatic cloning and checkout via `git2`
- Dependencies are stored in `target/<profile>/deps/git/`
- New `dcr add` command for easy dependency management
- Short syntax: `github:user/repo`, `gitlab:user/repo`, `path:/to/lib`
- Automatic GitHub resolution for `git:user/repo`
- Visual feedback for dependency fetching with in-place status updates ("Fetching" → "Fetched")
- Modular dependency management architecture in `src/core/deps/`
1013 B
1013 B
Dependency format
Dependencies are defined in dcr.toml under [dependencies].
Full example (Path)
[dependencies]
fmt = { path = "./third_party/fmt", include = ["include"], lib = ["lib"], libs = ["fmt"] }
Full example (Git)
[dependencies]
json = { git = "https://github.com/nlohmann/json", tag = "v3.11.2" }
Field reference
path: local path to dependency root.git: URL of Git repository.branch: Git branch name.tag: Git tag name.rev: Git commit SHA.include: optional include subpaths (absolute or relative to dep root).lib: optional library subpaths (absolute or relative to dep root).libs: optional linker library names.
Common valid compact forms
[dependencies]
mylib = { path = "./libs/mylib" }
gitlib = { git = "https://github.com/user/repo" }
# Shortest form for path
simple = "./libs/simple"
In these forms DCR will try defaults for include/lib dirs and use the dependency name as the linker library name.