content: [package]
  name = "tremor-connectors"
  version = "0.13.0-rc.33"
  edition = "2021"
  license = "Apache-2.0"
  homepage = "https://www.tremor.rs"
  authors = ["The Tremor Team"]
  
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  
  [dependencies]
  tremor-common = { path = "../tremor-common", version = "0.13.0-rc.33" }
  tremor-config = { path = "../tremor-config", version = "0.13.0-rc.33" }
  tremor-codec = { path = "../tremor-codec", 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-value = { path = "../tremor-value", version = "0.13.0-rc.33" }
  tremor-interceptor = { path = "../tremor-interceptor", version = "0.13.0-rc.33" }
  tremor-system = { path = "../tremor-system", version = "0.13.0-rc.33" }
  tokio = { version = "1.39", default-features = false }
  beef = { version = "0.5", default-features = false }
  value-trait = { version = "0.8", default-features = false }
  futures = { version = "0.3.30", default-features = false, features = ["std"] }
  halfbrown = { version = "0.2", default-features = false }
  simd-json = { version = "0.13", default-features = false }
  serde = { version = "1.0", default-features = false, features = ["derive"] }
  url = { version = "2.5", default-features = false }
  async-trait = { version = "0.1", default-features = false }
  log = { version = "0.4", features = ["kv_unstable"] }
  tokio-stream = { version = "0.1", default-features = false }
  bimap = { version = "0.6", default-features = false, features = [
      "serde",
      "std",
  ] }
  hostname = { version = "0.4", default-features = false }
  thiserror = { version = "1.0", default-features = false }
  anyhow = { version = "1.0", default-features = true }
  event-listener = { version = "5", default-features = false }
  lazy_static = { version = "1", default-features = false }
  either = { version = "1.13", default-features = false, features = ["serde"] }
  rand = { version = "0.8.5", default-features = false }
  
  # shared
  simd-json-derive = { version = "0.13", optional = true, default-features = false }
  uuid = { version = "1.9", optional = true, default-features = false, features = [
      "v4",
  ] }
  hyper = { version = "1.3.1", optional = true, default-features = false, features = [
      "server",
      "http1",
      "http2",
  ] }
  hyper-util = { version = "0.1.6", optional = true, default-features = false, features = [
      "http1",
      "http2",
      "client",
      "client-legacy",
      "tokio",
      "server-auto",
  ] }
  gouth = { version = "0.2", optional = true, default-features = true }
  
  
  # tls
  tokio-rustls = { version = "0.26", optional = true, default-features = false }
  rustls = { version = "0.23.18", optional = true, default-features = false }
  rustls-pemfile = { version = "2.1.2", optional = true, default-features = false }
  rustls-native-certs = { version = "0.7", optional = true, default-features = false }
  
  # dns
  trust-dns-resolver = { version = "0.23", optional = true, default-features = false, features = [
      "tokio-runtime",
      "system-config",
  ] }
  
  # elasticsearch
  elasticsearch = { version = "=8.5.0-alpha.1", optional = true, default-features = false, features = [
      "rustls-tls",
  ] }
  
  # http
  http = { version = "1.1", optional = true, default-features = false }
  hyper-rustls = { version = "0.27", optional = true, default-features = false, features = [
      "rustls-native-certs",
      "http1",
      "http2",
      "ring",
  ] }
  http-body-util = { version = "0.1", optional = true, default-features = false }
  mime = { version = "0.3", optional = true, default-features = false }
  base64 = { version = "0.22", optional = true, default-features = false }
  dashmap = { version = "6.0", optional = true, default-features = false }
  async-stream = { version = "0.3", optional = true, default-features = false }
  
  # kafka
  rdkafka = { version = "0.36", optional = true, features = [
      "cmake-build",
      "libz-static",
      "tokio",
  ], default-features = false }
  rdkafka-sys = { version = "4.6", optional = true, features = [
      "cmake-build",
      "libz-static",
  ], default-features = false }
  indexmap = { version = "2", optional = true, default-features = false }
  
  # websockets
  tokio-tungstenite = { version = "0.23", optional = true, default-features = false, features = [
      "handshake",
  ] }
  
  # discord
  serenity = { version = "0.11", optional = true, default-features = false, features = [
      "client",
      "gateway",
      "rustls_backend",
      "model",
      "cache",
  ] }
  
  # file
  file-mode = { version = "0.1", optional = true, default-features = false }
  async-compression = { version = "0.4", optional = true, default-features = false, features = [
      "xz",
      "tokio",
  ] }
  
  # kv
  sled = { version = "0.34", optional = true, default-features = false }
  
  qwal = { version = "0.1.0", optional = true, default-features = false, features = [
      "tokio",
  ] } # wal
  
  # bench
  hdrhistogram = { version = "7", optional = true, default-features = false }
  xz2 = { version = "0.1", optional = true, default-features = false }
  
  
  # clickhouse
  clickhouse-rs = { version = "1.1.0-alpha.1", optional = true, default-features = false, features = [
      "tokio_io",
      "tls",
  ] }
  # Clickhouse chrono-tz is out of date so we ringfence it here. Hopefully a new version will be released soon...
  clickhouse-chrono-tz = { package = "chrono-tz", version = "0.8", optional = true, default-features = false }
  
  # crononome
  serde_yaml = { version = "0.9", optional = true, default-features = false }
  chrono = { version = "0.4", optional = true, default-features = false }
  cron = { version = "0.12", optional = true, default-features = false }
  
  # udp
  socket2 = { version = "0.5", optional = true, default-features = false }
  
  [dev-dependencies]
  serde_yaml = { version = "0.9", default-features = false }
  test-case = "3.3"
  proptest = "1.5"
  testcontainers = "0.23"
  serial_test = "3.0"
  http-types = "2.0"
  bytes = "1.6"
  tempfile = { version = "3.8", default-features = false }
  env_logger = "0.11"
  tremor-connectors-test-helpers = { path = "../tremor-connectors-test-helpers", version = "0.13.0-rc.33" }
  tide = { version = "0.16", default-features = false } # TODO remove tide from TestHttpServer
  tokio = { version = "1.39", default-features = false, features = [
      "full",
      "test-util",
  ] }
  
  [features]
  default = [
      "dns",
      "elasticsearch",
      "http",
      "kafka",
      "websocket",
      "discord",
      "file",
      "kv",
      "wal",
      "clickhouse",
      "crononome",
      "stdio",
      "metronome",
      "null",
      "metrics",
      "tcp",
      "udp",
      "unix-socket",
      "dev",
      "integration-harness-local",
  ]
  
  128bit = ["tremor-value/128bit"]
  mime = []
  socket = ["dep:socket2"]
  
  dev = ["circut-breaker", "exit", "bench"]
  
  tls = [
      "dep:hyper",
      "dep:rustls-native-certs",
      "dep:rustls-pemfile",
      "dep:rustls",
      "dep:tokio-rustls",
  ]
  
  dns = ["dep:trust-dns-resolver"]
  elasticsearch = ["dep:elasticsearch", "dep:serde_yaml", "tls", "http"]
  http = [
      "dep:base64",
      "dep:dashmap",
      "dep:gouth",
      "dep:http",
      "dep:http-body-util",
      "dep:hyper-rustls",
      "dep:hyper-util",
      "dep:hyper",
      "dep:mime",
      "dep:async-stream",
      "hyper/http1",
      "hyper/http2",
      "tls",
      "mime",
      "socket",
  ]
  
  kafka = ["dep:rdkafka", "dep:rdkafka-sys", "dep:indexmap"]
  websocket = ["dep:tokio-tungstenite", "tls", "socket"]
  discord = ["dep:serenity"]
  file = ["dep:file-mode", "dep:async-compression"]
  kv = ["dep:sled"]
  wal = ["dep:qwal", "dep:simd-json-derive"]
  bench = ["dep:xz2", "dep:hdrhistogram"]
  clickhouse = ["dep:clickhouse-rs", "dep:clickhouse-chrono-tz", "dep:uuid"]
  crononome = ["dep:serde_yaml", "dep:chrono", "dep:cron"]
  stdio = []
  metronome = []
  null = []
  metrics = []
  exit = []
  circut-breaker = []
  tcp = ["socket", "tls"]
  udp = ["socket"]
  unix-socket = ["socket", "dep:file-mode"]
  
  integration-harness = [
      "integration-harness-docker",
      "integration-harness-local",
  ]
  integration-harness-docker = [
      "integration-tests-clickhouse",
      "integration-tests-elasticsearch",
      "integration-tests-kafka",
  ]
  integration-harness-local = [
      "integration-tests-bench",
      "integration-tests-crononome",
      "integration-tests-file",
      "integration-tests-http",
      "integration-tests-metronome",
      "integration-tests-tcp",
      "integration-tests-udp",
      "integration-tests-unix-socket",
      "integration-tests-wal",
      "integration-tests-websocket",
  ]
  
  # enable flaky tests
  flaky-test = []
  
  integration-tests-bench = ["bench"]
  integration-tests-clickhouse = ["clickhouse", "dep:chrono"]
  integration-tests-crononome = ["crononome"]
  integration-tests-elasticsearch = ["elasticsearch"]
  integration-tests-file = ["file"]
  integration-tests-http = ["http"]
  integration-tests-kafka = ["kafka"]
  integration-tests-metronome = ["metronome"]
  integration-tests-tcp = ["tcp"]
  integration-tests-udp = ["udp"]
  integration-tests-unix-socket = ["unix-socket"]
  integration-tests-wal = ["wal"]
  integration-tests-websocket = ["websocket"]
  