diff --git a/Cargo.lock b/Cargo.lock index a386ad6..7bfe4e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -188,6 +188,38 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" +[[package]] +name = "camino" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.18", +] + [[package]] name = "cc" version = "1.2.48" @@ -326,12 +358,13 @@ checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" [[package]] name = "cocogitto" -version = "6.5.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaed94dc33d02e7755115d7c657b2cf22ca4712bda75d0e30c9e53a179defa72" +checksum = "b436939d5f1d8bfa5ace8f8c44b161c5087077addced2483ab14499bdbb8c49e" dependencies = [ "anyhow", "chrono", + "cocogitto-dependency-resolver", "colored", "config 0.14.1", "conventional_commit_parser", @@ -355,6 +388,20 @@ dependencies = [ "which 6.0.3", ] +[[package]] +name = "cocogitto-dependency-resolver" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00f6b299e497ba4ab647d30b83393491b3c2abf3c71428ee31d35e89ae59cf57" +dependencies = [ + "cargo_metadata", + "petgraph", + "serde", + "serde-xml-rs", + "serde_json", + "speculoos", +] + [[package]] name = "colorchoice" version = "1.0.4" @@ -683,6 +730,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f364860e764787163c8c8f58231003839be31276e821e2ad2092ddf496b1aa09" dependencies = [ + "shell-words", "tempfile", "which 4.4.2", ] @@ -771,6 +819,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "float-cmp" version = "0.10.0" @@ -923,7 +977,7 @@ dependencies = [ "regex", "signal-hook 0.4.3", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -964,7 +1018,7 @@ dependencies = [ "gix-trace", "kstring", "smallvec", - "thiserror", + "thiserror 2.0.18", "unicode-bom", ] @@ -994,7 +1048,7 @@ dependencies = [ "gix-traverse", "gix-worktree", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1048,7 +1102,7 @@ dependencies = [ "gix-sec", "memchr", "smallvec", - "thiserror", + "thiserror 2.0.18", "unicode-bom", "winnow", ] @@ -1063,7 +1117,7 @@ dependencies = [ "bstr", "gix-path", "libc", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1081,7 +1135,7 @@ dependencies = [ "gix-sec", "gix-trace", "gix-url", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1119,7 +1173,7 @@ dependencies = [ "gix-worktree", "imara-diff 0.1.8", "imara-diff 0.2.0", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1139,7 +1193,7 @@ dependencies = [ "gix-trace", "gix-utils", "gix-worktree", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1154,7 +1208,7 @@ dependencies = [ "gix-path", "gix-ref", "gix-sec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1183,7 +1237,7 @@ dependencies = [ "once_cell", "parking_lot", "prodash", - "thiserror", + "thiserror 2.0.18", "walkdir", "zlib-rs", ] @@ -1206,7 +1260,7 @@ dependencies = [ "gix-trace", "gix-utils", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1220,7 +1274,7 @@ dependencies = [ "gix-features", "gix-path", "gix-utils", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1244,7 +1298,7 @@ dependencies = [ "faster-hex", "gix-features", "sha1-checked", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1296,7 +1350,7 @@ dependencies = [ "memmap2", "rustix 1.1.4", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1307,7 +1361,7 @@ checksum = "e16d406220ef9df105645a9ddcaa42e8c882ba920344ace866d0403570aea599" dependencies = [ "gix-tempfile", "gix-utils", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1353,7 +1407,7 @@ dependencies = [ "gix-validate", "itoa", "smallvec", - "thiserror", + "thiserror 2.0.18", "winnow", ] @@ -1374,7 +1428,7 @@ dependencies = [ "gix-quote", "parking_lot", "tempfile", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1393,7 +1447,7 @@ dependencies = [ "gix-path", "memmap2", "smallvec", - "thiserror", + "thiserror 2.0.18", "uluru", ] @@ -1406,7 +1460,7 @@ dependencies = [ "bstr", "faster-hex", "gix-trace", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1418,7 +1472,7 @@ dependencies = [ "bstr", "gix-trace", "gix-validate", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1433,7 +1487,7 @@ dependencies = [ "gix-config-value", "gix-glob", "gix-path", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1446,7 +1500,7 @@ dependencies = [ "gix-config-value", "parking_lot", "rustix 1.1.4", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1465,7 +1519,7 @@ dependencies = [ "gix-utils", "maybe-async", "nonempty", - "thiserror", + "thiserror 2.0.18", "winnow", ] @@ -1497,7 +1551,7 @@ dependencies = [ "gix-utils", "gix-validate", "memmap2", - "thiserror", + "thiserror 2.0.18", "winnow", ] @@ -1514,7 +1568,7 @@ dependencies = [ "gix-revision", "gix-validate", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1549,7 +1603,7 @@ dependencies = [ "gix-hashtable", "gix-object", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1574,7 +1628,7 @@ dependencies = [ "gix-hash", "gix-lock", "nonempty", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1597,7 +1651,7 @@ dependencies = [ "gix-pathspec", "gix-worktree", "portable-atomic", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1612,7 +1666,7 @@ dependencies = [ "gix-pathspec", "gix-refspec", "gix-url", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1649,7 +1703,7 @@ dependencies = [ "gix-quote", "gix-sec", "gix-url", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1666,7 +1720,7 @@ dependencies = [ "gix-object", "gix-revwalk", "smallvec", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1678,7 +1732,7 @@ dependencies = [ "bstr", "gix-path", "percent-encoding", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -1734,7 +1788,7 @@ dependencies = [ "gix-path", "gix-worktree", "io-close", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -2395,6 +2449,70 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -2537,6 +2655,16 @@ dependencies = [ "sha2", ] +[[package]] +name = "petgraph" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +dependencies = [ + "fixedbitset", + "indexmap", +] + [[package]] name = "phf" version = "0.11.3" @@ -2744,7 +2872,7 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ "getrandom 0.2.16", "libredox", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -2786,7 +2914,7 @@ dependencies = [ "nix", "regex", "tempfile", - "thiserror", + "thiserror 2.0.18", ] [[package]] @@ -2871,6 +2999,10 @@ name = "semver" version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +dependencies = [ + "serde", + "serde_core", +] [[package]] name = "serde" @@ -2894,6 +3026,18 @@ dependencies = [ "typeid", ] +[[package]] +name = "serde-xml-rs" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb3aa78ecda1ebc9ec9847d5d3aba7d618823446a049ba2491940506da6e2782" +dependencies = [ + "log", + "serde", + "thiserror 1.0.69", + "xml-rs", +] + [[package]] name = "serde_core" version = "1.0.228" @@ -3052,6 +3196,15 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +[[package]] +name = "speculoos" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "113dfd4fcb5579d1b72f56ed115400db93eda48763c2a5aba45e76e9d915ae64" +dependencies = [ + "num", +] + [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -3155,13 +3308,33 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + [[package]] name = "thiserror" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -3694,6 +3867,12 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5" +[[package]] +name = "xml-rs" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" + [[package]] name = "yaml-rust2" version = "0.10.4" diff --git a/Cargo.toml b/Cargo.toml index 5ed5ebd..5e7ca1c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ path = "src/lib/lib.rs" [dependencies] anyhow = "1.0" clap = { version = "4.5", features = ["derive"] } -cocogitto = { version = "6.5", default-features = false } +cocogitto = { version = "7.0", default-features = false } conventional_commit_parser = "0.9" dirs = "6.0" emojis = "0.8"