From 94386fca97b97236d51aa6742c5d9ccd2608039d Mon Sep 17 00:00:00 2001 From: Trey Lowerison <19714082+tlowerison@users.noreply.github.com> Date: Tue, 31 Oct 2023 18:32:09 -0700 Subject: [PATCH] add support for doc_auto_cfg --- Cargo.toml | 2 +- core/Cargo.toml | 7 +++++++ core/build.rs | 12 ++++++++++++ core/src/lib.rs | 1 + leptos_form/Cargo.toml | 7 +++++++ leptos_form/build.rs | 12 ++++++++++++ leptos_form/src/lib.rs | 1 + release-plz.toml | 2 +- 8 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 core/build.rs create mode 100644 leptos_form/build.rs diff --git a/Cargo.toml b/Cargo.toml index 84153af..4bc17f7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["leptos_form"] resolver = "2" [workspace.package] -version = "0.1.0" +version = "0.1.1" edition = "2021" rust-version = "1.75.0" authors = ["Trey Lowerison <19714082+tlowerison@users.noreply.github.com>"] diff --git a/core/Cargo.toml b/core/Cargo.toml index 948292b..8793dba 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -10,6 +10,10 @@ license-file.workspace = true categories.workspace = true keywords.workspace = true +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + [dependencies] derivative.workspace = true derive_more.workspace = true @@ -25,6 +29,9 @@ chrono = { workspace = true, optional = true } num-bigint = { workspace = true, optional = true } uuid = { workspace = true, optional = true } +[build-dependencies] +rustc_version = "0.4.0" + [features] bigdecimal = ["dep:bigdecimal"] chrono = ["dep:chrono"] diff --git a/core/build.rs b/core/build.rs new file mode 100644 index 0000000..4b05b5c --- /dev/null +++ b/core/build.rs @@ -0,0 +1,12 @@ +use rustc_version::{version_meta, Channel}; + +fn main() { + // Set cfg flags depending on release channel + let channel = match version_meta().unwrap().channel { + Channel::Stable => "CHANNEL_STABLE", + Channel::Beta => "CHANNEL_BETA", + Channel::Nightly => "CHANNEL_NIGHTLY", + Channel::Dev => "CHANNEL_DEV", + }; + println!("cargo:rustc-cfg={}", channel) +} diff --git a/core/src/lib.rs b/core/src/lib.rs index 38f3374..25fa19b 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -1,4 +1,5 @@ #![allow(clippy::non_canonical_clone_impl)] +#![cfg_attr(CHANNEL_NIGHTLY, feature(doc_auto_cfg))] #[macro_use] extern crate derivative; diff --git a/leptos_form/Cargo.toml b/leptos_form/Cargo.toml index a412898..f1f6786 100644 --- a/leptos_form/Cargo.toml +++ b/leptos_form/Cargo.toml @@ -11,6 +11,10 @@ license-file.workspace = true categories.workspace = true keywords.workspace = true +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + [dependencies] leptos.workspace = true leptos_form_core.workspace = true @@ -21,6 +25,9 @@ wasm-bindgen.workspace = true [dev-dependencies] serde.workspace = true +[build-dependencies] +rustc_version = "0.4.0" + [features] bigdecimal = ["leptos_form_core/bigdecimal"] chrono = ["leptos_form_core/chrono"] diff --git a/leptos_form/build.rs b/leptos_form/build.rs new file mode 100644 index 0000000..4b05b5c --- /dev/null +++ b/leptos_form/build.rs @@ -0,0 +1,12 @@ +use rustc_version::{version_meta, Channel}; + +fn main() { + // Set cfg flags depending on release channel + let channel = match version_meta().unwrap().channel { + Channel::Stable => "CHANNEL_STABLE", + Channel::Beta => "CHANNEL_BETA", + Channel::Nightly => "CHANNEL_NIGHTLY", + Channel::Dev => "CHANNEL_DEV", + }; + println!("cargo:rustc-cfg={}", channel) +} diff --git a/leptos_form/src/lib.rs b/leptos_form/src/lib.rs index b0e203a..9622c4a 100644 --- a/leptos_form/src/lib.rs +++ b/leptos_form/src/lib.rs @@ -1,4 +1,5 @@ #![doc = include_str!("../README.md")] +#![cfg_attr(CHANNEL_NIGHTLY, feature(doc_auto_cfg))] #![forbid(unsafe_code)] pub use ::leptos_form_core::*; diff --git a/release-plz.toml b/release-plz.toml index a411f82..63668cb 100644 --- a/release-plz.toml +++ b/release-plz.toml @@ -12,7 +12,7 @@ dependencies_update = true git_tag_enable = true # disable GitHub releases -git_release_enable = false +git_release_enable = true # labels for the release PR pr_labels = ["release"]