[M2] add curated linkdb + semver matcher
This commit is contained in:
14
CHANGELOG.md
14
CHANGELOG.md
@@ -43,3 +43,17 @@ All notable changes to cargoxx will be documented in this file.
|
||||
Codegen of `flake.nix` / `CMakeLists.txt` is intentionally deferred to M3.
|
||||
CLI11 v2.6.2 vendored at `third_party/CLI11.hpp`; entry point is now
|
||||
`cargoxx::cli::run(argc, argv)`. `tests/cmd_new.cpp` covers 9 cases.
|
||||
- `util::satisfies(version, range)` — minimal semver range matcher
|
||||
supporting `*`, `==/>=/<=/>/<` operators, and comma-separated AND
|
||||
clauses. Versions are zero-padded to three components.
|
||||
`tests/semver_satisfies.cpp` covers 7 cases.
|
||||
- `cargoxx.linkdb`: `Recipe`, `Database::open()`, `Database::resolve(...)`
|
||||
for curated lookups. The curated database ships at `data/linkdb.json`
|
||||
with all 25 packages from `SPEC.md` §11. Component-substitution helpers
|
||||
expand `{{components}}` (space-joined) in `find_package` and fan out
|
||||
`{{component}}` per-target. Path is injected via the
|
||||
`CARGOXX_LINKDB_DEFAULT_PATH` compile definition. nlohmann/json 3.12.0
|
||||
vendored at `third_party/json.hpp`. SQLite overlay and `add_manual`
|
||||
are deferred to the M2 follow-up commit.
|
||||
`tests/linkdb_lookup.cpp` covers 13 cases including a smoke test that
|
||||
resolves all 25 curated packages.
|
||||
|
||||
Reference in New Issue
Block a user