Skip to main content

lux_cli/
generate_rockspec.rs

1use clap::Args;
2use eyre::Result;
3use lux_lib::{project::Project, rockspec::Rockspec};
4
5#[derive(Args)]
6pub struct GenerateRockspec {}
7
8pub fn generate_rockspec(_data: GenerateRockspec) -> Result<()> {
9    let project = Project::current_or_err()?;
10
11    let toml = project.toml().into_remote(None)?;
12    let rockspec = toml.to_lua_remote_rockspec_string()?;
13
14    let path = project
15        .root()
16        .join(format!("{}-{}.rockspec", toml.package(), toml.version()));
17
18    std::fs::write(&path, rockspec)?;
19
20    println!("Wrote rockspec to {}", path.display());
21
22    Ok(())
23}