opentelemetry-rust/scripts/lint.sh

53 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
set -eu
cargo_feature() {
echo "checking $1 with features $2"
cargo clippy --manifest-path=$1/Cargo.toml --all-targets --features "$2" --no-default-features -- \
`# Exit with a nonzero code if there are clippy warnings` \
-Dwarnings
}
if rustup component add clippy; then
crates=( "opentelemetry"
"opentelemetry-http"
"opentelemetry-jaeger-propagator"
"opentelemetry-appender-log"
"opentelemetry-appender-tracing"
"opentelemetry-otlp"
"opentelemetry-prometheus"
"opentelemetry-proto"
"opentelemetry-sdk"
"opentelemetry-semantic-conventions"
"opentelemetry-stdout"
"opentelemetry-zipkin")
for crate in "${crates[@]}"; do
cargo clippy --manifest-path=$crate/Cargo.toml --all-targets --all-features -- \
`# Exit with a nonzero code if there are clippy warnings` \
-Dwarnings
done
cargo_feature opentelemetry "trace,metrics,logs,logs_level_enabled,testing"
cargo_feature opentelemetry-otlp "default"
cargo_feature opentelemetry-otlp "default,tls"
cargo_feature opentelemetry-otlp "default,tls-roots"
cargo_feature opentelemetry-otlp "http-proto"
cargo_feature opentelemetry-otlp "http-proto, reqwest-blocking-client"
cargo_feature opentelemetry-otlp "http-proto, reqwest-client"
cargo_feature opentelemetry-otlp "http-proto, reqwest-rustls"
cargo_feature opentelemetry-otlp "metrics"
cargo_feature opentelemetry-jaeger-propagator "default"
cargo_feature opentelemetry-proto "default"
cargo_feature opentelemetry-proto "full"
cargo_feature opentelemetry-proto "gen-tonic,trace"
cargo_feature opentelemetry-proto "gen-tonic,trace,with-serde"
cargo_feature opentelemetry-proto "gen-tonic,trace,with-schemars,with-serde"
cargo_feature opentelemetry-proto "gen-tonic,metrics"
cargo_feature opentelemetry-proto "gen-tonic,logs"
fi