aboutsummaryrefslogtreecommitdiff
path: root/mingling_ci/src/res/features.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-19 05:54:00 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-19 06:15:20 +0800
commitec9edc294fd5e7e29977fc7b0e6fb953422bc0e2 (patch)
treebbf89ef4457b8de8a8a9bca5668045d612d27572 /mingling_ci/src/res/features.rs
parent06dfc27194c11e1d1033c292c759a1c5d82e780b (diff)
chore: reorganize dev tools into dev/ directory and consolidate configsHEADmain
Move CI, dev tools, and configs from root-level scattered locations into a unified `dev/` directory structure. Update all references across build scripts, documentation, and editor configurations. Also consolidate editor config generation into build.rs for automated synchronization of rust-analyzer settings across VS Code and Zed.
Diffstat (limited to 'mingling_ci/src/res/features.rs')
-rw-r--r--mingling_ci/src/res/features.rs47
1 files changed, 0 insertions, 47 deletions
diff --git a/mingling_ci/src/res/features.rs b/mingling_ci/src/res/features.rs
deleted file mode 100644
index 8009514..0000000
--- a/mingling_ci/src/res/features.rs
+++ /dev/null
@@ -1,47 +0,0 @@
-use mingling::{Program, macros::program_setup};
-
-use crate::ThisProgram;
-
-/// Manifest that declares the documented feature list.
-///
-/// Path is relative to the repo root (the CI's working directory).
-const FEATURES_MANIFEST: &str = "./mingling/Cargo.toml";
-
-/// The docs.rs feature list of `mingling`, the single source of truth for the
-/// feature combinations used by CI checks.
-#[derive(Default, Clone)]
-pub struct ResFeatureList {
- pub list: Vec<String>,
-}
-
-#[program_setup]
-pub fn features_setup(p: &mut Program<ThisProgram>) {
- p.with_resource(ResFeatureList {
- list: docs_rs_features(),
- });
-}
-
-/// Reads `[package.metadata.docs.rs].features` from `mingling/Cargo.toml`.
-#[must_use]
-fn docs_rs_features() -> Vec<String> {
- let Ok(content) = std::fs::read_to_string(FEATURES_MANIFEST) else {
- return Vec::new();
- };
- let Ok(toml_value) = content.parse::<toml::Value>() else {
- return Vec::new();
- };
- toml_value
- .get("package")
- .and_then(|p| p.get("metadata"))
- .and_then(|m| m.get("docs"))
- .and_then(|d| d.get("rs"))
- .and_then(|rs| rs.get("features"))
- .and_then(|f| f.as_array())
- .map(|features| {
- features
- .iter()
- .filter_map(|v| v.as_str().map(str::to_string))
- .collect()
- })
- .unwrap_or_default()
-}