sdk

Radroots SDK and bindings
git clone https://radroots.dev/git/sdk.git
Log | Files | Refs | README

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 }