prima_bridge 0.26.0

A library to implement the bridge pattern
Documentation
[config]
skip_core_tasks = true

[env]
AVAILABLE_OTEL_FEATURES = [
  "tracing_opentelemetry_0_29",
  "tracing_opentelemetry_0_30",
  "tracing_opentelemetry_0_31",
]

[tasks.build]
description = "Runs the rust compiler."
category = "Build"
install_crate = false
command = "cargo"
args = [
  "build",
  "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)",
  "@@split(CARGO_MAKE_CARGO_BUILD_TEST_FLAGS, )",
]

[tasks.fmt-check]
description = "Runs the cargo rustfmt plugin."
command = "cargo"
args = ["fmt", "--", "--check"]

[tasks.test]
dependencies = [
  "test-base",
  "test-auth0",
  "test-all-otel-versions",
]

[tasks.test-base]
command = "cargo"
args = ["test", "--features", "gzip", "${@}"]
dependencies = ["build"]

[tasks.test-auth0]
command = "cargo"
args = ["test", "--features=auth0,gzip,cache-dynamodb", "${@}"]
dependencies = ["build"]

[tasks.test-all-otel-versions]
script = """#!@duckscript

available_otel_features = split ${AVAILABLE_OTEL_FEATURES} ";"
for otel_feature in ${available_otel_features}
  set_env otel_feature ${otel_feature}
  cm_run_task "test-otel-version-from-env"
end
"""

[tasks.test-otel-version-from-env]
command = "cargo"
args = [
  "test",
  "--no-default-features",
  "--features",
  "${otel_feature}",
]

[tasks.clippy]
dependencies = [
  "clippy-base",
  "clippy-auth0",
  "clippy-all-otel-versions",
]

[tasks.clippy-base]
command = "cargo"
args = ["clippy", "--features", "gzip", "--all-targets", "--", "-D", "warnings"]
dependencies = ["build"]

[tasks.clippy-auth0]
command = "cargo"
args = [
  "clippy",
  "--features=auth0,cache-dynamodb,gzip",
  "--all-targets",
  "--",
  "-D",
  "warnings",
]
dependencies = ["build"]

[tasks.clippy-all-otel-versions]
script = """#!@duckscript

available_otel_features = split ${AVAILABLE_OTEL_FEATURES} ";"
for otel_feature in ${available_otel_features}
  set_env otel_feature ${otel_feature}
  cm_run_task "clippy-otel-version-from-env"
end
"""

[tasks.clippy-otel-version-from-env]
command = "cargo"
args = [
  "clippy",
  "--no-default-features",
  "--features",
  "${otel_feature}",
  "--all-targets",
  "--",
  "-D",
  "warnings",
]

[tasks.deny-check]
dependencies = [
  "deny-check-all-otel-versions",
]

[tasks.deny-check-all-otel-versions]
script = """#!@duckscript

available_otel_features = split ${AVAILABLE_OTEL_FEATURES} ";"
for otel_feature in ${available_otel_features}
  set_env otel_feature ${otel_feature}
  cm_run_task "deny-check-otel-version-from-env"
end
"""

[tasks.deny-check-otel-version-from-env]
description = "Run cargo-deny with ${otel_feature} feature"
command = "cargo"
args = [
  "deny",
  "--no-default-features",
  "--features",
  "${otel_feature}",
  "check",
]

[tasks.docs]
description = "Build docs as they are rendered on docs.rs"
command = "cargo"
args = ["doc", "--document-private-items", "--features=auth0,gzip,grpc", "--no-deps"]
env = { "RUSTDOCFLAGS" = "-Dwarnings" }

[tasks.release]
description = "Task to release the package to crates.io"
command = "cargo"
args = ["publish", "--no-verify"]