-
Notifications
You must be signed in to change notification settings - Fork 34
/
Cargo.toml
70 lines (67 loc) · 3.36 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[workspace]
resolver = "2"
members = [
"crates/cairo-lint-cli",
"crates/cairo-lint-core",
"crates/cairo-lint-test-utils",
"xtask"
]
[workspace.package]
version = "0.1.0"
edition = "2021"
repository = "https://github.com/software-mansion/cairo-lint"
license-file = "LICENSE"
# Managing dependencies on crates from starkware-libs/cairo repository:
#
# The Cairo compiler is made of a bunch of crates that inter-depend on each other and have
# synchronised versioning.
# It is very important to use a single revision of these crates in the entire Cairo toolchain,
# which consists of Cairo compiler, Scarb, CairoLS and other tools.
# The toolchain is eventually built by Scarb, which depends on everything other as regular crates.
# To ensure that all crates in the toolchain use the same revision of Cairo crates, we use a patch
# mechanism that Cargo provides.
# Because Cargo requires patches to change the crate source, we have an unspoken contract that
# all tools *always* depend on some crates.io versions of Cairo crates and Scarb uses
# [patch.crates.io] table to set final git revision for everything.
#
# To keep our Cargo.toml following this contract, always use `cargo xtask upgrade`
# for manipulating these dependencies.
[workspace.dependencies]
cairo-lang-compiler = "*"
cairo-lang-utils = "*"
cairo-lang-semantic = "*"
cairo-lang-filesystem = "*"
cairo-lang-diagnostics = "*"
cairo-lang-test-plugin = "*"
cairo-lang-syntax = "*"
cairo-lang-defs = "*"
cairo-lang-starknet = "*"
cairo-lang-test-utils = "*"
test-case = "3.0"
pretty_assertions = "1.4.1"
ctor = "0.2.9"
paste = "1.0.15"
itertools = "0.13.0"
log = "0.4.22"
clap = { version = "4.5.23", features = ["derive"]}
anyhow = "1.0.94"
smol_str = "0.2.2"
annotate-snippets = "0.11.5"
num-bigint = "0.4.6"
if_chain = "1.0.2"
# Here we specify real dependency specifications for Cairo crates *if* currently we want to use
# a particular unreleased commit (which is frequent mid-development).
# We list all Cairo crates that go into Scarb's compilation unit even if Scarb itself does not depend
# on some of them directly.
# This ensures no duplicate instances of Cairo crates are pulled in by mistake.
[patch.crates-io]
cairo-lang-compiler = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-utils = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-semantic = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-filesystem = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-diagnostics = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-test-plugin = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-syntax = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-defs = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-starknet = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }
cairo-lang-test-utils = { git = "https://github.com/starkware-libs/cairo", rev = "3848dce8591446f9bbcc036fef391927d13dccc6" }