1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use std::path::PathBuf;
use structopt::StructOpt;
use crate::manifest::Manifest;
/// Print a Wally manifest as a line of JSON.
///
/// Used for creating the Wally package index.
#[derive(Debug, StructOpt)]
pub struct ManifestToJsonSubcommand {
/// Path to the project to output the manifest of.
#[structopt(long = "project-path", default_value = ".")]
pub project_path: PathBuf,
}
impl ManifestToJsonSubcommand {
pub fn run(self) -> anyhow::Result<()> {
let manifest = Manifest::load(&self.project_path)?;
println!("{}", serde_json::to_string(&manifest)?);
Ok(())
}
}