aiken_project/
options.rs

1use crate::telemetry::CoverageMode;
2use aiken_lang::ast::Tracing;
3use std::path::PathBuf;
4
5pub struct Options {
6    pub code_gen_mode: CodeGenMode,
7    pub tracing: Tracing,
8    pub env: Option<String>,
9    pub blueprint_path: PathBuf,
10}
11
12impl Default for Options {
13    fn default() -> Self {
14        Self {
15            code_gen_mode: CodeGenMode::NoOp,
16            tracing: Tracing::silent(),
17            env: None,
18            blueprint_path: PathBuf::from("plutus.json"),
19        }
20    }
21}
22
23pub enum CodeGenMode {
24    Test {
25        match_tests: Option<Vec<String>>,
26        verbose: bool,
27        exact_match: bool,
28        seed: u32,
29        property_max_success: usize,
30        coverage_mode: CoverageMode,
31        plain_numbers: bool,
32    },
33    Build(bool),
34    Benchmark {
35        match_benchmarks: Option<Vec<String>>,
36        exact_match: bool,
37        seed: u32,
38        max_size: usize,
39    },
40    NoOp,
41}