1fad3a1d3Sopenharmony_ciuse crate::workspace_path; 2fad3a1d3Sopenharmony_ciuse anyhow::Result; 3fad3a1d3Sopenharmony_ciuse semver::Version; 4fad3a1d3Sopenharmony_ciuse serde_derive::Deserialize; 5fad3a1d3Sopenharmony_ciuse std::fs; 6fad3a1d3Sopenharmony_ci 7fad3a1d3Sopenharmony_cipub fn get() -> Result<Version> { 8fad3a1d3Sopenharmony_ci let syn_cargo_toml = workspace_path::get("Cargo.toml"); 9fad3a1d3Sopenharmony_ci let manifest = fs::read_to_string(syn_cargo_toml)?; 10fad3a1d3Sopenharmony_ci let parsed: Manifest = toml::from_str(&manifest)?; 11fad3a1d3Sopenharmony_ci Ok(parsed.package.version) 12fad3a1d3Sopenharmony_ci} 13fad3a1d3Sopenharmony_ci 14fad3a1d3Sopenharmony_ci#[derive(Debug, Deserialize)] 15fad3a1d3Sopenharmony_cistruct Manifest { 16fad3a1d3Sopenharmony_ci package: Package, 17fad3a1d3Sopenharmony_ci} 18fad3a1d3Sopenharmony_ci 19fad3a1d3Sopenharmony_ci#[derive(Debug, Deserialize)] 20fad3a1d3Sopenharmony_cistruct Package { 21fad3a1d3Sopenharmony_ci version: Version, 22fad3a1d3Sopenharmony_ci} 23