content: [package]
  authors = ["The Tremor Team"]
  build = "build.rs"
  description = "Tremor Runtime"
  documentation = "https://docs.tremor.rs"
  edition = "2021"
  homepage = "https://www.tremor.rs"
  license = "Apache-2.0"
  name = "tremor-runtime"
  readme = "README.md"
  repository = "https://github.com/tremor-rs/tremor-runtime"
  version = "0.13.0-rc.33"
  rust-version = "1.76"
  
  [workspace]
  
  members = [
    "tremor-api",
    "tremor-cli",
    "tremor-codec",
    "tremor-common",
    "tremor-influx",
    "tremor-interceptor",
    "tremor-pipeline",
    "tremor-script",
    "tremor-value",
    "tremor-system",
    "tremor-connectors",
    "tremor-connectors-aws",
    "tremor-connectors-gcp",
    "tremor-connectors-azure",
    "tremor-connectors-otel",
    "tremor-connectors-object-storage",
    "tremor-connectors-test-helpers",
    "tremor-archive",
  ]
  
  default-members = ["tremor-cli"]
  
  exclude = ["tremor-script-nif"]
  
  [profile.release]
  debug = true
  lto = "thin"
  opt-level = 3
  
  [dependencies]
  tremor-codec = { path = "tremor-codec", version = "0.13.0-rc.33" }
  tremor-common = { path = "tremor-common", version = "0.13.0-rc.33" }
  tremor-config = { path = "tremor-config", version = "0.13.0-rc.33" }
  tremor-connectors = { path = "tremor-connectors", version = "0.13.0-rc.33", default-features = false }
  tremor-connectors-aws = { path = "tremor-connectors-aws", version = "0.13.0-rc.33", optional = true }
  tremor-connectors-azure = { path = "tremor-connectors-azure", version = "0.13.0-rc.33", optional = true }
  tremor-connectors-gcp = { path = "tremor-connectors-gcp", version = "0.13.0-rc.33", optional = true }
  tremor-connectors-otel = { path = "tremor-connectors-otel", version = "0.13.0-rc.33", optional = true }
  tremor-influx = { path = "tremor-influx", version = "0.13.0-rc.33" }
  tremor-interceptor = { path = "tremor-interceptor", version = "0.13.0-rc.33" }
  tremor-pipeline = { path = "tremor-pipeline", version = "0.13.0-rc.33" }
  tremor-script = { path = "tremor-script", version = "0.13.0-rc.33" }
  tremor-system = { path = "tremor-system", version = "0.13.0-rc.33" }
  tremor-value = { path = "tremor-value", version = "0.13.0-rc.33" }
  tremor-archive = { path = "tremor-archive", version = "0.13.0-rc.33" }
  
  tokio = { version = "1.39", features = ["full"] }
  tokio-stream = "0.1"
  anyhow = "1"
  async-trait = "0.1"
  
  error-chain = "0.12"
  futures = "0.3.29"
  halfbrown = "0.2"
  hashbrown = { version = "0.14", features = ["serde"] }
  indexmap = "2"
  log = { version = "0.4", features = ["kv_unstable"] }
  serde = { version = "1", features = ["derive"] }
  serde_yaml = "0.9"
  simd-json = { version = "0.13", features = ["known-key"] }
  simd-json-derive = "0.13"
  value-trait = "0.8"
  
  
  [dev-dependencies]
  port_scanner = "0.1"
  env_logger = "0.11"
  proptest = "1.5"
  regex = "1"
  tempfile = { version = "3.8" }
  num_cpus = "1"
  serial_test = "3"
  pretty_assertions = "1"
  
  [features]
  default = ["all-connectors"]
  
  # support for 128bit numbers in tremor-value
  128bit = ["tremor-value/128bit"]
  bert = ["tremor-pipeline/bert"]
  
  all-connectors = [
    "connector-dns",
    "connector-elasticsearch",
    "connector-http",
    "connector-kafka",
    "connector-websocket",
    "connector-discord",
    "connector-file",
    "connector-kv",
    "connector-wal",
    "connector-clickhouse",
    "connector-crononome",
    "connector-stdio",
    "connector-metronome",
    "connector-null",
    "connector-metrics",
    "connector-tcp",
    "connector-udp",
    "connector-unix-socket",
    "connector-dev",
  
    "connector-aws",
    "connector-azure",
    "connector-gcp",
    "connector-otel",
  ]
  
  connector-dns = ["tremor-connectors/dns"]
  connector-elasticsearch = ["tremor-connectors/elasticsearch"]
  connector-http = ["tremor-connectors/http"]
  connector-kafka = ["tremor-connectors/kafka"]
  connector-websocket = ["tremor-connectors/websocket"]
  connector-discord = ["tremor-connectors/discord"]
  connector-file = ["tremor-connectors/file"]
  connector-kv = ["tremor-connectors/kv"]
  connector-wal = ["tremor-connectors/wal"]
  connector-clickhouse = ["tremor-connectors/clickhouse"]
  connector-crononome = ["tremor-connectors/crononome"]
  connector-stdio = ["tremor-connectors/stdio"]
  connector-metronome = ["tremor-connectors/metronome"]
  connector-null = ["tremor-connectors/null"]
  connector-metrics = ["tremor-connectors/metrics"]
  connector-tcp = ["tremor-connectors/tcp"]
  connector-udp = ["tremor-connectors/udp"]
  connector-unix-socket = ["tremor-connectors/unix-socket"]
  connector-dev = ["tremor-connectors/dev"]
  
  connector-aws = ["tremor-connectors-aws"]
  connector-azure = ["tremor-connectors-azure"]
  connector-gcp = ["tremor-connectors-gcp"]
  connector-otel = ["tremor-connectors-otel"]
  
  
  # those are falky tests
  flaky-test = []
  
  # for use during debian packaging, via cargo-deb
  # https://github.com/mmstick/cargo-deb#packagemetadatadeb-options
  [package.metadata.deb]
  name = "tremor"
  section = "net"
  # keep this in sync with the rpm dependencies (in rpm spec file)
  assets = [
    [
      "target/release/tremor",
      "/usr/bin/",
      "755",
    ],
    [
      "README.md",
      "/usr/share/doc/tremor/",
      "644",
    ],
    [
      "LICENSE",
      "/usr/share/doc/tremor/",
      "644",
    ],
    [
      "packaging/distribution/etc/tremor/*",
      "/etc/tremor/",
      "644",
    ],
    [
      "packaging/distribution/etc/tremor/config/*",
      "/etc/tremor/config/",
      "644",
    ],
    [
      "packaging/distribution/usr/share/tremor/tremor.sh",
      "/usr/share/tremor/",
      "755",
    ],
    [
      "tremor-script/lib/**/*",
      "/usr/share/tremor/lib",
      "644",
    ],
    [
      "packaging/distribution/etc/systemd/system/*",
      "/lib/systemd/system/",
      "644",
    ],
  ] # copying systemd service to standard location for debian packages
  conf-files = [
    "/etc/tremor/logger.yaml",
  ] # these files won't be overwritten when the package is upgraded
  depends = "libc6 (>= 2.17), libstdc++6, libatomic1"
  maintainer-scripts = "packaging/distribution/debian/maintainer-scripts/"
  # TODO generate this automatically as part of deb packaging (from README intro)
  # and place in "extended-description-file"
  extended-description = """\
  Tremor is an early stage event processing system for unstructured data with rich support for structural pattern matching, filtering and transformation.
  """
  
  # for use during rpm packaging, via cargo-rpm
  # https://github.com/iqlusioninc/cargo-rpm
  [package.metadata.rpm]
  package = "tremor"
  [package.metadata.rpm.cargo]
  # useful when using cargo rpm itself to build the project (i.e. without the
  # --no-cargo-build flag from `cargo rpm build`)
  buildflags = ["--release"]
  profile = "release"
  [package.metadata.rpm.targets]
  tremor = { path = "/usr/bin/tremor" }
  # The LHS paths here are relative to the rpm config dir (.rpm at project root).
  # If you add new files here, please make sure to add them to %files section in
  # the rpm spec file (inside .rpm) -- otherwise the rpm packaging will fail.
  [package.metadata.rpm.files]
  "../LICENSE" = { path = "/usr/share/licenses/tremor/LICENSE" }
  "../README.md" = { path = "/usr/share/doc/tremor/README.md" }
  "../packaging/distribution/etc/tremor/" = { path = "/etc/tremor/" }
  # TODO enable this after some example cleanup
  #"../demo/examples/" = { path = "/etc/tremor/config/examples/" }
  "../packaging/distribution/usr/share/tremor/tremor.sh" = { path = "/usr/share/tremor/tremor.sh", mode = "755" }
  "../tremor-script/lib/" = { path = "/usr/share/tremor/lib/" }
  # copying systemd service to standard location for rpm packages
  "../packaging/distribution/etc/systemd/system/tremor.service" = { path = "/usr/lib/systemd/system/tremor.service" }
  