manifest.rs (902B)
1 use serde_json::json; 2 3 use crate::package_matrix::PackageSpec; 4 5 pub fn manifest_file_name() -> &'static str { 6 "sdk-manifest.json" 7 } 8 9 pub fn package_manifest(spec: PackageSpec) -> serde_json::Value { 10 json!({ 11 "package": spec.package_name, 12 "crate": spec.crate_name, 13 "generator": "radroots_sdk_xtask", 14 "generated": false 15 }) 16 } 17 18 #[cfg(test)] 19 mod tests { 20 use crate::{ 21 manifest::{manifest_file_name, package_manifest}, 22 package_matrix::package_specs, 23 }; 24 25 #[test] 26 fn manifest_name_is_stable() { 27 assert_eq!(manifest_file_name(), "sdk-manifest.json"); 28 } 29 30 #[test] 31 fn manifest_records_package_and_crate() { 32 let manifest = package_manifest(package_specs()[0]); 33 assert_eq!(manifest["package"], package_specs()[0].package_name); 34 assert_eq!(manifest["crate"], package_specs()[0].crate_name); 35 } 36 }