Skip to content

Commit 4514a6a

Browse files
committed
build: add a feature writers-and-readers, so we can import only the types in some cases
1 parent b549fe7 commit 4514a6a

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

runtime_tracing/Cargo.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "runtime_tracing"
3-
version = "0.15.0"
3+
version = "0.16.0"
44
edition = "2024"
55
authors = ["Metacraft Labs Ltd"]
66
description = "A library for the schema and tracing helpers for the CodeTracer db trace format"
@@ -36,3 +36,10 @@ capnpc = "0.21.0"
3636
[lib]
3737
name = "runtime_tracing"
3838
path = "src/lib.rs"
39+
40+
[features]
41+
writers_and_readers = []
42+
# to not sure the default features, a dependency must use: `default-features = false ` !
43+
# https://doc.rust-lang.org/cargo/reference/features.html
44+
default = ["writers_and_readers"]
45+
# default = []

runtime_tracing/src/lib.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,58 @@
88
//! This crate provides the [`Tracer`] type for emitting trace events and a
99
//! collection of serializable structures describing the trace format.
1010
//! The format is documented in `docs/` and the README.
11+
12+
#[cfg(feature = "writers_and_readers")]
1113
mod abstract_trace_writer;
1214
mod base64;
15+
#[cfg(feature = "writers_and_readers")]
1316
mod capnptrace;
1417

18+
#[cfg(feature = "writers_and_readers")]
1519
#[cfg(target_arch = "wasm32")]
1620
#[path = "./cbor_zstd_reader_wasm.rs"]
1721
mod cbor_zstd_reader;
22+
#[cfg(feature = "writers_and_readers")]
1823
#[cfg(target_arch = "wasm32")]
1924
#[path = "./cbor_zstd_writer_wasm.rs"]
2025
mod cbor_zstd_writer;
2126

2227
#[cfg(not(target_arch = "wasm32"))]
28+
#[cfg(feature = "writers_and_readers")]
2329
mod cbor_zstd_reader;
2430
#[cfg(not(target_arch = "wasm32"))]
31+
#[cfg(feature = "writers_and_readers")]
2532
mod cbor_zstd_writer;
2633

34+
#[cfg(feature = "writers_and_readers")]
2735
mod non_streaming_trace_writer;
36+
#[cfg(feature = "writers_and_readers")]
2837
mod trace_readers;
38+
#[cfg(feature = "writers_and_readers")]
2939
mod trace_writer;
40+
#[cfg(feature = "writers_and_readers")]
3041
mod tracer;
42+
43+
// enabled always!
3144
mod types;
3245

46+
#[cfg(feature = "writers_and_readers")]
3347
pub use crate::non_streaming_trace_writer::NonStreamingTraceWriter;
48+
#[cfg(feature = "writers_and_readers")]
3449
pub use crate::trace_readers::TraceReader;
50+
#[cfg(feature = "writers_and_readers")]
3551
pub use crate::trace_writer::TraceWriter;
36-
pub use crate::tracer::{NONE_TYPE_ID, NONE_VALUE, TraceEventsFileFormat, create_trace_reader, create_trace_writer};
52+
#[cfg(feature = "writers_and_readers")]
53+
pub use crate::tracer::{create_trace_reader, create_trace_writer, TraceEventsFileFormat, NONE_TYPE_ID, NONE_VALUE};
54+
#[cfg(feature = "writers_and_readers")]
3755
pub use crate::types::*;
3856

57+
#[cfg(feature = "writers_and_readers")]
3958
pub mod trace_capnp {
4059
include!(concat!(env!("OUT_DIR"), "/src/trace_capnp.rs"));
4160
}
4261

62+
#[cfg(feature = "writers_and_readers")]
4363
#[cfg(test)]
4464
mod tests {
4565
use super::*;

0 commit comments

Comments
 (0)