• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use anyhow::Result;
2 use semver::Version;
3 use serde::Deserialize;
4 use std::fs;
5 use std::path::Path;
6 
get() -> Result<Version>7 pub fn get() -> Result<Version> {
8     let codegen_root = Path::new(env!("CARGO_MANIFEST_DIR"));
9     let syn_cargo_toml = codegen_root.join("../Cargo.toml");
10     let manifest = fs::read_to_string(syn_cargo_toml)?;
11     let parsed: Manifest = toml::from_str(&manifest)?;
12     Ok(parsed.package.version)
13 }
14 
15 #[derive(Debug, Deserialize)]
16 struct Manifest {
17     package: Package,
18 }
19 
20 #[derive(Debug, Deserialize)]
21 struct Package {
22     version: Version,
23 }
24