dol 0.8.1

DOL (Design Ontology Language) - A declarative specification language for ontology-first development
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.81"
name = "dol"
version = "0.8.1"
authors = ["Univrs <ardeshir.org@gmail.com>"]
build = false
exclude = [
    ".github/",
    "docs/tutorials/",
    "examples/*.test",
    "packages/",
    "compiler-progress/",
    "effect-v2-results/",
    "identity-progress/",
    "vm-progress/",
    "stdlib/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DOL (Design Ontology Language) - A declarative specification language for ontology-first development"
homepage = "https://github.com/univrs/dol"
documentation = "https://docs.rs/dol"
readme = "README.md"
keywords = [
    "dsl",
    "ontology",
    "specification",
    "parser",
    "language",
]
categories = [
    "development-tools",
    "parser-implementations",
    "command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/univrs/dol"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[badges.maintenance]
status = "actively-developed"

[features]
cli = [
    "dep:clap",
    "dep:anyhow",
    "dep:colored",
    "dep:regex",
    "serde",
]
default = []
mlir = [
    "melior",
    "dep:home",
]
serde = [
    "dep:serde",
    "dep:serde_json",
]
vudo = [
    "cli",
    "wasm",
]
wasm = [
    "wasm-compile",
    "wasm-runtime",
]
wasm-compile = ["wasm-encoder"]
wasm-mlir = [
    "wasm",
    "mlir",
]
wasm-runtime = ["wasmtime"]

[lib]
name = "metadol"
path = "src/lib.rs"

[[bin]]
name = "dol-build-crate"
path = "src/bin/dol-build-crate.rs"
required-features = ["cli"]

[[bin]]
name = "dol-check"
path = "src/bin/dol-check.rs"
required-features = ["cli"]

[[bin]]
name = "dol-codegen"
path = "src/bin/dol-codegen.rs"
required-features = ["cli"]

[[bin]]
name = "dol-mcp"
path = "src/bin/dol-mcp.rs"
required-features = ["cli"]

[[bin]]
name = "dol-migrate"
path = "src/bin/dol-migrate.rs"
required-features = ["cli"]

[[bin]]
name = "dol-parse"
path = "src/bin/dol-parse.rs"
required-features = ["cli"]

[[bin]]
name = "dol-test"
path = "src/bin/dol-test.rs"
required-features = ["cli"]

[[bin]]
name = "vudo"
path = "src/bin/vudo.rs"
required-features = ["vudo"]

[[bin]]
name = "wasm-stress-test"
path = "src/bin/wasm-stress-test.rs"

[[example]]
name = "compile_counter"
path = "examples/compile_counter.rs"
required-features = ["wasm"]

[[example]]
name = "compiler_demo"
path = "examples/compiler_demo.rs"

[[example]]
name = "test_repl_expressions"
path = "examples/test_repl_expressions.rs"

[[example]]
name = "wasm_basic"
path = "examples/wasm_basic.rs"

[[test]]
name = "adaptive_tests"
path = "tests/adaptive_tests.rs"

[[test]]
name = "ast_structure"
path = "tests/ast_structure.rs"

[[test]]
name = "biology_tests"
path = "tests/biology_tests.rs"

[[test]]
name = "codegen_golden"
path = "tests/codegen_golden.rs"

[[test]]
name = "codegen_operators_test"
path = "tests/codegen_operators_test.rs"

[[test]]
name = "codegen_rust_tests"
path = "tests/codegen_rust_tests.rs"

[[test]]
name = "codegen_unit"
path = "tests/codegen_unit.rs"

[[test]]
name = "compiler_e2e"
path = "tests/compiler_e2e.rs"

[[test]]
name = "compiler_integration"
path = "tests/compiler_integration.rs"

[[test]]
name = "dol2_tests"
path = "tests/dol2_tests.rs"

[[test]]
name = "error_handling"
path = "tests/error_handling.rs"

[[test]]
name = "expr_comprehensive"
path = "tests/expr_comprehensive.rs"

[[test]]
name = "gdl_domain_tests"
path = "tests/gdl_domain_tests.rs"

[[test]]
name = "idiom_tests"
path = "tests/idiom_tests.rs"

[[test]]
name = "integration_comprehensive"
path = "tests/integration_comprehensive.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "lexer_exhaustive"
path = "tests/lexer_exhaustive.rs"

[[test]]
name = "lexer_stress"
path = "tests/lexer_stress.rs"

[[test]]
name = "lexer_tests"
path = "tests/lexer_tests.rs"

[[test]]
name = "module_tests"
path = "tests/module_tests.rs"

[[test]]
name = "parser_exhaustive"
path = "tests/parser_exhaustive.rs"

[[test]]
name = "parser_stress"
path = "tests/parser_stress.rs"

[[test]]
name = "parser_tests"
path = "tests/parser_tests.rs"

[[test]]
name = "quote_tests"
path = "tests/quote_tests.rs"

[[test]]
name = "reflect_tests"
path = "tests/reflect_tests.rs"

[[test]]
name = "sex_tests"
path = "tests/sex_tests.rs"

[[test]]
name = "spirit_tests"
path = "tests/spirit_tests.rs"

[[test]]
name = "stress_tests"
path = "tests/stress_tests.rs"

[[test]]
name = "test_v0_8_0_types"
path = "tests/test_v0_8_0_types.rs"

[[test]]
name = "typechecker_exhaustive"
path = "tests/typechecker_exhaustive.rs"

[[test]]
name = "validator_unit"
path = "tests/validator_unit.rs"

[[test]]
name = "wasm_debug"
path = "tests/wasm_debug.rs"

[[test]]
name = "wasm_execution"
path = "tests/wasm_execution.rs"

[[test]]
name = "wasm_test_helpers"
path = "tests/wasm_test_helpers.rs"

[dependencies.anyhow]
version = "1.0"
optional = true

[dependencies.clap]
version = "4.4"
features = ["derive"]
optional = true

[dependencies.colored]
version = "2.1"
optional = true

[dependencies.home]
version = "=0.5.9"
optional = true

[dependencies.logos]
version = "0.14"

[dependencies.melior]
version = "0.18"
optional = true

[dependencies.regex]
version = "1"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.thiserror]
version = "1.0"

[dependencies.wasm-encoder]
version = "0.41"
optional = true

[dependencies.wasmtime]
version = "21"
optional = true

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.insta]
version = "1.34"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.tempfile]
version = "3.9"

[profile.dev]
opt-level = 0
debug = 2

[profile.release]
lto = true
codegen-units = 1
strip = true

[profile.test]
opt-level = 1