pedant_types/execution_context.rs
1use serde::{Deserialize, Serialize};
2
3/// When during the software lifecycle a capability finding executes.
4///
5/// `Runtime` is normal application execution. `BuildHook` covers Rust `build.rs`
6/// and analogous compile-time scripts. `InstallHook` covers package manager
7/// install hooks (npm preinstall, pip setup.py). `Generator` covers code
8/// generation directives like Go's `//go:generate`.
9#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq, Hash)]
10#[serde(rename_all = "snake_case")]
11pub enum ExecutionContext {
12 /// Normal application execution.
13 Runtime,
14 /// Rust `build.rs` and analogous compile-time scripts.
15 BuildHook,
16 /// Package manager install hooks (npm preinstall, pip setup.py).
17 InstallHook,
18 /// Code generation directives (Go `//go:generate`).
19 Generator,
20}