From 18761d9b67a09c0148ae606da10db0d1266932f9 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 21 Feb 2026 12:31:06 +0900 Subject: feat(resolver): integrate pubgrub dependency resolver Add dependency resolution module using pubgrub v0.3.0 to convert Composer-style constraints into range-based version solving. Includes ComposerVersion type with stability ordering, MozartProvider implementing DependencyProvider, platform package handling, stability filtering, and conflict support via complement ranges. Co-Authored-By: Claude Opus 4.6 --- Cargo.lock | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'Cargo.lock') diff --git a/Cargo.lock b/Cargo.lock index bce0330..f3889fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -963,6 +963,7 @@ dependencies = [ "dialoguer", "flate2", "md5", + "pubgrub", "regex", "reqwest", "serde", @@ -1051,6 +1052,17 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "priority-queue" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93980406f12d9f8140ed5abe7155acb10bb1e69ea55c88960b9c2f117445ef96" +dependencies = [ + "equivalent", + "indexmap", + "serde", +] + [[package]] name = "proc-macro2" version = "1.0.106" @@ -1060,6 +1072,20 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "pubgrub" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f5df7e552bc7edd075f5783a87fbfc21d6a546e32c16985679c488c18192d83" +dependencies = [ + "indexmap", + "log", + "priority-queue", + "rustc-hash", + "thiserror 2.0.18", + "version-ranges", +] + [[package]] name = "quinn" version = "0.11.9" @@ -1841,6 +1867,15 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +[[package]] +name = "version-ranges" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3595ffe225639f1e0fd8d7269dcc05d2fbfea93cfac2fea367daf1adb60aae91" +dependencies = [ + "smallvec", +] + [[package]] name = "version_check" version = "0.9.5" -- cgit v1.3.1