const FALLBACK: &str = "3.0.0";
const ENV_VAR: &str = "INFLUXDB3_PLUGIN_SDK_KNOWN_LATEST_DB";
fn main() {
let (raw, is_fallback) = match std::env::var(ENV_VAR) {
Ok(v) if !v.is_empty() => (v, false),
_ => (FALLBACK.to_owned(), true),
};
let probe = format!(">={raw}");
if let Err(e) = semver::VersionReq::parse(&probe) {
panic!("{ENV_VAR}={raw:?} does not produce a valid SemVer range {probe:?}: {e}");
}
println!("cargo::rustc-env={ENV_VAR}={raw}");
println!("cargo::rerun-if-env-changed={ENV_VAR}");
println!("cargo::rustc-check-cfg=cfg(sdk_known_db_is_fallback)");
if is_fallback {
println!("cargo::rustc-cfg=sdk_known_db_is_fallback");
println!(
"cargo::warning={ENV_VAR} not set; scaffold default will be `>={FALLBACK}`. \
Release builds should supply a pinned version."
);
}
}