-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
68 lines (61 loc) · 2.11 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
[workspace]
resolver = "2"
members = [
# Contains some small utilities used in bb_server
"bb_macros",
# The transfer protocol. This is built to be read from/written to
# by generated code, so it is not very easy to debug a packet.
"bb_transfer",
# The code generator. This takes json from sugarcane-data and
# generates Rust source.
"bb_data",
# Common utilities. These are things like item parsers, UUIDs,
# etc. This is anything that both the server and proxy need.
"bb_common",
# Generates C compatible structs, and creates C compatible enums
# using a union and a struct.
"bb_ffi_macros",
# This defines a bunch of #[repr(C)] structs/functions, which are
# used in the Wasm api. Depended on by the server and bb_plugin.
"bb_ffi",
# Proc macros to generate only used on the server.
"bb_server_macros",
# The Minecraft server. This is the first binary target. It depends
# on bb_common, bb_ffi, bb_transfer, and bb_server_macros.
"bb_server",
# The proxy. This is required for any clients to connection to
# the server. It converts the bb_transfer protocol into the
# Minecraft protocol using generated code.
"bb_proxy",
# A cli tool, used to connect to a Minecraft server and validate
# that it is sending good data (things like making sure the client
# won't leak chunks, checks for keep alive packets, etc).
#
# This is not part of the server! It is only used for testing.
"bb_cli",
# This is a library that should be included on the plugin side.
# It wraps all the types in `bb_ffi` with safe, easy to use types.
# To write a plugin in another language, one would need to work
# from `bb_ffi`, not `bb_plugin`, as this is very Rust-specific.
"bb_plugin",
]
[profile.rust-analyzer]
inherits = "dev"
opt-level = 0
# Using cargo flamegraph, this is needed.
# See more: https://github.com/flamegraph-rs/flamegraph
[profile.release]
debug = true
[profile.dev]
opt-level = 2
lto = "off"
[profile.bench]
opt-level = 2
# Used when we make our final binary.
[profile.deploy]
inherits = "release"
opt-level = 3
lto = true
debug = false
[profile.tarpaulin]
inherits = "rust-analyzer"