summaryrefslogtreecommitdiff
path: root/chromium/third_party/rust/third_party.toml
blob: 54b2f2f0fb64bbc06ea2b009b93d4479aa3d7887 (plain)
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
# This file lists all dependencies used from first-party code. It should not
# include transitive dependencies, as those will be determined from Cargo.
#
# All versions should be specified as a version epoch (a single non-zero version
# component such as "2" or "0.3").
#   e.g.
#   santas-workshop = "2"
#
# Any features used by first-party code must be declared here in order to ensure
# they are included in the crate when it is built.
#   e.g.
#   santas-workshop = { version = "3", features = [ "candycanes" ] }
#
# We have some extensions in order to provide additional info for the BUILD.gn
# files that can't be derived from Cargo. Any extension should be added to
# the dependency crate's set of properties.
#   e.g.
#   santas-workshop = { version = "3", some-extension = true }
#
# Extensions:
#
# allow-first-party-usage: If false, the crate should not be visible to first
#   party code even though it is present in this file. It defaults to true. Use
#   this if you need to declare extensions for a crate that is only meant for
#   use as a transitive dependency of third-party crates.
#   e.g. allow-first-party-usage = false
#
# build-script-outputs: A list of file paths, rooted from where the BUILD.gn
#   file is located, of files generated by the crate's build script.
#   e.g. build-script-outputs = [ "crate/src/gen/gen_stuff.rs" ]

# Crates listed in dependencies will have a :lib GN target built for them in
# their BUILD.gn file. The :lib target can be depended on from Chromium
# production and test code. Third-party crates that are not listed in this
# file are not visible to Chromium code.

# Since autocxx-gen is used as a standalone binary, rather than as a library, we
# can't depend on it in the usual way. Add it as a workspace member so cargo can
# resolve its dependencies.
[workspace]
members = [
    "autocxx_gen/v0_22/crate",
]

[dependencies]
cxxbridge-cmd = "1"
cxx = "1"
serde = "1"
autocxx = "0.22"
memoffset = { version = "0.6", features = [ "unstable_const" ] }
static_assertions = "1"

[dependencies.autocxx-gen]
version = "0.22"
features = [ "static" ]

[dependencies.serde_json_lenient]
version = "0.1"
features = [ "unbounded_depth", "float_roundtrip" ]

[dependencies.bindgen]
version = "0.60"
build-script-outputs = [ "host-target.txt" ]
features = [ "static" ]

[dependencies.autocxx-bindgen]
version = "0.60"
build-script-outputs = [ "host-target.txt" ]
features = [ "static" ]

[dependencies.rustversion]
version = "1"
allow-first-party-usage = false
build-script-outputs = [ "version.rs" ]

[dependencies.unicode-linebreak]
version = "0.1"
allow-first-party-usage = false
build-script-outputs = [ "tables.rs" ]

# Crates listed in dev-dependencies will have a :test_support GN target
# built for them in their BUILD.gn file, which is marked testonly=true.
# This allows them built in a configuration that can be used from Chromium
# tests, but not used from production.
[dev-dependencies]
rstest = "0.12"
small_ctor = "0.1"
syn = {version = "1", features = ["full"]}

# Used in Rust tool for BUILD.gn generation.
cargo_metadata = "0.14"
cargo-platform = "0.1"
clap = "3"
once_cell = "1"
semver = "1"
tempfile = "3"
toml = {version = "0.5", features = ["preserve_order"]}