Skip to content

Commit

Permalink
Use conflicts_with for build flags (rojo-rbx#779)
Browse files Browse the repository at this point in the history
  • Loading branch information
nezuo authored Sep 11, 2023
1 parent c43726b commit e11ad47
Showing 1 changed file with 3 additions and 10 deletions.
13 changes: 3 additions & 10 deletions src/cli/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ pub struct BuildCommand {
/// Where to output the result.
///
/// Should end in .rbxm, .rbxl, .rbxmx, or .rbxlx.
#[clap(long, short)]
#[clap(long, short, conflicts_with = "plugin")]
pub output: Option<PathBuf>,

/// Alternative to the output flag that outputs the result in the local plugins folder.
///
/// Should end in .rbxm or .rbxl.
#[clap(long, short)]
#[clap(long, short, conflicts_with = "output")]
pub plugin: Option<PathBuf>,

/// Whether to automatically rebuild when any input files change.
Expand All @@ -47,14 +47,6 @@ pub struct BuildCommand {
impl BuildCommand {
pub fn run(self) -> anyhow::Result<()> {
let (output_path, output_kind) = match (self.output, self.plugin) {
(Some(_), Some(_)) => {
BuildCommand::command()
.error(
clap::ErrorKind::ArgumentConflict,
"the argument '--output <OUTPUT>' cannot be used with '--plugin <PLUGIN>'",
)
.exit();
}
(None, None) => {
BuildCommand::command()
.error(
Expand All @@ -80,6 +72,7 @@ impl BuildCommand {

(studio.plugins_path().join(&plugin), output_kind)
}
_ => unreachable!(),
};

let project_path = resolve_path(&self.project);
Expand Down

0 comments on commit e11ad47

Please sign in to comment.