forked from pantsbuild/pants
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
145 lines (137 loc) · 4.14 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
[package]
version = "0.0.1"
edition = "2018"
name = "engine"
authors = [ "Pants Build <pantsbuild@gmail.com>" ]
publish = false
[profile.release]
# Enable debug symbols in the `release` profile: doesn't add a noticeable overhead in size/speed,
# but enables profiling of optimized builds.
debug = true
# Optimise for the speed of our binary, rather than the speed of compilation.
codegen-units = 1
[workspace]
# These are the packages which are built/tested when the --all flag is passed to cargo.
#
# We need to explicitly list these, because otherwise the standalone tools
# (e.g. fs_util) won't be included when we build/test things.
members = [
".",
"async_semaphore",
"boxfuture",
"concrete_time",
"fs",
"fs/brfs",
"fs/fs_util",
"fs/store",
"graph",
"hashing",
"logging",
"nailgun",
"process_execution",
"process_executor",
"rule_graph",
"serverset",
"sharded_lmdb",
"tar_api",
"task_executor",
"testutil",
"testutil/mock",
"testutil/local_cas",
"testutil/local_execution_server",
"ui",
"watch",
"workunit_store"
]
# These are the packages which are built/tested when no special selector flags are passed to cargo.
#
# This is the set of packages which are expected to work on any arbitrary system that checks out the code.
# It should be exactly equivalent to members, except without any packages that require more system
# configuration than we're comfortable doing in our bootstrap scripts.
#
# In particular, it does not contain the fs/brfs package, which will not compile without a fuse installation.
# On Ubuntu, that means installing libfuse-dev. On OSX, that means installing OSXFUSE.
default-members = [
".",
"async_semaphore",
"boxfuture",
"concrete_time",
"fs",
"fs/fs_util",
"fs/store",
"graph",
"hashing",
"logging",
"nailgun",
"process_execution",
"process_executor",
"rule_graph",
"serverset",
"sharded_lmdb",
"tar_api",
"task_executor",
"testutil",
"testutil/mock",
"testutil/local_cas",
"testutil/local_execution_server",
"ui",
"watch",
"workunit_store"
]
[lib]
crate-type = ["cdylib"]
[features]
# NB: To actually load this crate from python, the `extension-module` feature must be enabled. But
# unfortunately, enabling `extension-module` causes tests linked against `cpython` to fail. We
# define a feature to enable that, but we do not enable it by default: someone building this module
# in order to extract `libengine.so` should pass `cargo build .. --features=extension-module`.
# see https://github.com/PyO3/pyo3/issues/340
extension-module = ["cpython/extension-module"]
default = []
[dependencies]
async_semaphore = { path = "async_semaphore" }
async-trait = "0.1"
boxfuture = { path = "boxfuture" }
bytes = "0.4.5"
concrete_time = { path = "concrete_time" }
cpython = "0.5"
crossbeam-channel = "0.4"
fnv = "1.0.5"
fs = { path = "fs" }
futures01 = { package = "futures", version = "0.1" }
futures = { version = "0.3", features = ["compat"] }
graph = { path = "graph" }
hashing = { path = "hashing" }
indexmap = "1.4"
itertools = "0.8.2"
lazy_static = "1"
log = "0.4"
logging = { path = "logging" }
nailgun = { path = "nailgun" }
num_enum = "0.4"
parking_lot = "0.6"
process_execution = { path = "process_execution" }
rand = "0.6"
reqwest = { version = "0.10", default_features = false, features = ["stream", "rustls-tls"] }
rule_graph = { path = "rule_graph" }
sharded_lmdb = { path = "sharded_lmdb" }
smallvec = "0.6"
store = { path = "fs/store" }
tar_api = { path = "tar_api" }
task_executor = { path = "task_executor" }
tempfile = "3"
time = "0.1.40"
tokio = { version = "0.2", features = ["rt-threaded"] }
ui = { path = "ui" }
url = "2.1"
uuid = { version = "0.7", features = ["v4"] }
watch = { path = "watch" }
workunit_store = { path = "workunit_store" }
[dev-dependencies]
testutil = { path = "./testutil" }
fs = { path = "./fs" }
env_logger = "0.5.4"
[patch.crates-io]
# TODO: Remove patch when we can upgrade to an official released version of protobuf with a fix.
# See: https://github.com/pantsbuild/pants/issues/7760 for context.
protobuf = { git="https://github.com/pantsbuild/rust-protobuf", rev="171611c33ec92f07e1b7107327f6d0139a7afebf", version="2.0.6", features = ["with-bytes"] }