Skip to main content

munin_msbuild/
lib.rs

1// Copyright (c) Michael Grier
2
3//! Munin — MSBuild binary log (.binlog) reader and seekable data model.
4//!
5//! This crate reads and decodes the MSBuild binary log format, providing
6//! both sequential streaming access and a seekable indexed data model over
7//! the build events recorded in a `.binlog` file.
8//!
9//! The binary log format is a GZip-compressed stream of serialized
10//! `BuildEventArgs` records with deduplicated string and name-value-list
11//! tables. See the MSBuild repository for the canonical format documentation:
12//! <https://github.com/dotnet/msbuild/blob/main/documentation/wiki/Binary-Log.md>
13
14pub mod context;
15pub mod error;
16pub mod events;
17pub mod field_flags;
18pub mod fields;
19pub mod header;
20pub mod index;
21pub mod jsonlog;
22pub mod nvl_table;
23pub mod primitives;
24pub mod reader;
25pub mod readers;
26pub mod record_kind;
27pub mod redact;
28pub mod string_table;
29pub mod writers;
30
31pub use context::BuildEventContext;
32pub use error::MuninError;
33pub use field_flags::BuildEventArgsFieldFlags;
34pub use fields::{BuildEventArgsFields, ExtendedDataFields};
35pub use header::{BinlogHeader, open_binlog};
36pub use index::{BinlogIndex, EventMeta};
37pub use nvl_table::{NameValueListTable, NameValuePair};
38pub use primitives::BinlogDateTime;
39pub use reader::{ArchiveEntry, BinlogEvent, BinlogReader};
40pub use readers::{read_dedup_string, read_optional_string, read_string_dictionary};
41pub use record_kind::BinaryLogRecordKind;
42pub use string_table::StringTable;
43
44/// Alias for `Result<T, MuninError>`.
45pub type Result<T> = std::result::Result<T, MuninError>;