Consistently use dep: syntax for feature > package dependencies

This removes confusing implicit features from optional dependencies.
This commit is contained in:
Jonas Platte 2022-07-13 19:00:51 +02:00
parent 06b5422a30
commit 4db337b86a
5 changed files with 52 additions and 42 deletions

View File

@ -16,18 +16,20 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
client-api = ["ruma-client-api"]
client-api = ["dep:ruma-client-api"]
# HTTP clients
hyper-native-tls = ["hyper", "hyper-tls"]
hyper = ["dep:hyper"]
hyper-native-tls = ["hyper", "dep:hyper-tls"]
hyper-rustls = ["hyper", "dep:hyper-rustls"]
isahc = ["dep:isahc", "futures-lite"]
reqwest-native-tls = ["reqwest", "reqwest/native-tls"]
reqwest-native-tls-alpn = ["reqwest", "reqwest/native-tls-alpn"]
reqwest-native-tls-vendored = ["reqwest", "reqwest/native-tls-vendored"]
reqwest-rustls-manual-roots = ["reqwest", "reqwest/rustls-tls-manual-roots"]
reqwest-rustls-webpki-roots = ["reqwest", "reqwest/rustls-tls-webpki-roots"]
reqwest-rustls-native-roots = ["reqwest", "reqwest/rustls-tls-native-roots"]
reqwest = ["dep:reqwest"]
reqwest-native-tls = ["reqwest", "reqwest?/native-tls"]
reqwest-native-tls-alpn = ["reqwest", "reqwest?/native-tls-alpn"]
reqwest-native-tls-vendored = ["reqwest", "reqwest?/native-tls-vendored"]
reqwest-rustls-manual-roots = ["reqwest", "reqwest?/rustls-tls-manual-roots"]
reqwest-rustls-webpki-roots = ["reqwest", "reqwest?/rustls-tls-webpki-roots"]
reqwest-rustls-native-roots = ["reqwest", "reqwest?/rustls-tls-native-roots"]
[dependencies]
assign = "1.1.1"

View File

@ -21,19 +21,19 @@ default = ["client", "server"]
client = []
server = []
api = ["http", "thiserror"]
api = ["dep:http", "dep:thiserror"]
canonical-json = []
compat = ["ruma-macros/compat", "ruma-identifiers-validation/compat"]
events = ["thiserror"]
js = ["js-sys", "getrandom?/js", "uuid?/js"]
events = ["dep:thiserror"]
js = ["dep:js-sys", "getrandom?/js", "uuid?/js"]
markdown = ["pulldown-cmark"]
# Should use dep:rand instead of the dependency being renamed, but that
# breaks trybuild: https://github.com/dtolnay/trybuild/issues/171
rand = ["rand_crate", "uuid"]
# Dependency should not be renamed, but if it isn't, trybuild breaks:
# https://github.com/dtolnay/trybuild/issues/171
rand = ["dep:rand_crate", "dep:uuid"]
unstable-exhaustive-types = []
unstable-pdu = []
unstable-pre-spec = []
unstable-sanitize = ["html5ever", "phf"]
unstable-sanitize = ["dep:html5ever", "dep:phf"]
unstable-msc1767 = []
unstable-msc2285 = []
unstable-msc2448 = []
@ -42,7 +42,7 @@ unstable-msc2677 = []
unstable-msc2746 = []
unstable-msc2870 = []
unstable-msc3245 = ["unstable-msc3246"]
unstable-msc3246 = ["unstable-msc3551", "thiserror"]
unstable-msc3246 = ["unstable-msc3551", "dep:thiserror"]
unstable-msc3381 = ["unstable-msc1767"]
unstable-msc3440 = []
unstable-msc3488 = ["unstable-msc1767"]

View File

@ -14,7 +14,7 @@ edition = "2021"
all-features = true
[features]
ring-compat = ["subslice"]
ring-compat = ["dep:subslice"]
unstable-exhaustive-types = []
[dependencies]

View File

@ -18,41 +18,49 @@ rustdoc-args = ["--cfg", "docsrs"]
[features]
api = ["ruma-common/api"]
canonical-json = ["ruma-common/canonical-json"]
client = ["ruma-client"]
client = ["dep:ruma-client"]
events = ["ruma-common/events"]
signatures = ["ruma-signatures"]
state-res = ["ruma-state-res"]
signatures = ["dep:ruma-signatures"]
state-res = ["dep:ruma-state-res"]
# ruma-client feature flags
client-ext-client-api = ["client", "ruma-client/client-api"]
client-hyper = ["client", "ruma-client/hyper"]
client-hyper-native-tls = ["client", "ruma-client/hyper-native-tls"]
client-isahc = ["client", "ruma-client/isahc"]
client-reqwest = ["client", "ruma-client/reqwest"]
client-reqwest-native-tls = ["client", "ruma-client/reqwest-native-tls"]
client-reqwest-native-tls-vendored = ["client", "ruma-client/reqwest-native-tls-vendored"]
client-reqwest-rustls-manual-roots = ["client", "ruma-client/reqwest-rustls-manual-roots"]
client-reqwest-rustls-webpki-roots = ["client", "ruma-client/reqwest-rustls-webpki-roots"]
client-reqwest-rustls-native-roots = ["client", "ruma-client/reqwest-rustls-native-roots"]
client-ext-client-api = ["client", "ruma-client?/client-api"]
client-hyper = ["client", "ruma-client?/hyper"]
client-hyper-native-tls = ["client", "ruma-client?/hyper-native-tls"]
client-isahc = ["client", "ruma-client?/isahc"]
client-reqwest = ["client", "ruma-client?/reqwest"]
client-reqwest-native-tls = ["client", "ruma-client?/reqwest-native-tls"]
client-reqwest-native-tls-vendored = ["client", "ruma-client?/reqwest-native-tls-vendored"]
client-reqwest-rustls-manual-roots = ["client", "ruma-client?/reqwest-rustls-manual-roots"]
client-reqwest-rustls-webpki-roots = ["client", "ruma-client?/reqwest-rustls-webpki-roots"]
client-reqwest-rustls-native-roots = ["client", "ruma-client?/reqwest-rustls-native-roots"]
appservice-api-c = ["api", "events", "ruma-appservice-api/client"]
appservice-api-s = ["api", "events", "ruma-appservice-api/server"]
appservice-api-c = ["api", "events", "dep:ruma-appservice-api", "ruma-appservice-api?/client"]
appservice-api-s = ["api", "events", "dep:ruma-appservice-api", "ruma-appservice-api?/server"]
appservice-api = ["appservice-api-c", "appservice-api-s"]
client-api-c = ["api", "events", "ruma-client-api/client"]
client-api-s = ["api", "events", "ruma-client-api/server"]
client-api-c = ["api", "events", "dep:ruma-client-api", "ruma-client-api?/client"]
client-api-s = ["api", "events", "dep:ruma-client-api", "ruma-client-api?/server"]
client-api = ["client-api-c", "client-api-s"]
federation-api-c = ["api", "signatures", "ruma-federation-api/client"]
federation-api-s = ["api", "signatures", "ruma-federation-api/server"]
federation-api-c = ["api", "signatures", "dep:ruma-federation-api", "ruma-federation-api?/client"]
federation-api-s = ["api", "signatures", "dep:ruma-federation-api", "ruma-federation-api?/server"]
federation-api = ["federation-api-c", "federation-api-s"]
identity-service-api-c = ["api", "ruma-identity-service-api/client"]
identity-service-api-s = ["api", "ruma-identity-service-api/server"]
identity-service-api-c = [
"api",
"dep:ruma-identity-service-api",
"ruma-identity-service-api?/client",
]
identity-service-api-s = [
"api",
"dep:ruma-identity-service-api",
"ruma-identity-service-api?/server",
]
identity-service-api = ["identity-service-api-c", "identity-service-api-s"]
push-gateway-api-c = ["api", "ruma-push-gateway-api/client"]
push-gateway-api-s = ["api", "ruma-push-gateway-api/server"]
push-gateway-api-c = ["api", "dep:ruma-push-gateway-api", "ruma-push-gateway-api?/client"]
push-gateway-api-s = ["api", "dep:ruma-push-gateway-api", "ruma-push-gateway-api?/server"]
push-gateway-api = ["push-gateway-api-c", "push-gateway-api-s"]
# Required for randomness, current system time in browser environments
@ -91,7 +99,7 @@ compat = [
]
# Specific compatibility for past ring public/private key documents.
ring-compat = ["ruma-signatures/ring-compat"]
ring-compat = ["dep:ruma-signatures", "ruma-signatures?/ring-compat"]
# unstable: by using any of these, you opt out of all semver guarantees Ruma
# otherwise provides!

View File

@ -5,7 +5,7 @@ edition = "2021"
publish = false
[features]
default = ["isahc", "semver", "toml_edit"]
default = ["dep:isahc", "dep:semver", "dep:toml_edit"]
[dependencies]
clap = { version = "3.2.4", features = ["derive"] }