blob: 772ea21a2c0a615c07dee327c555ddd9457d2d9a [file] [log] [blame]
use crate::command_prelude::*;
use cargo::ops::{self, PackageOpts};
pub fn cli() -> App {
subcommand("package")
.about("Assemble the local package into a distributable tarball")
.arg(opt("quiet", "No output printed to stdout").short("q"))
.arg(
opt(
"list",
"Print files included in a package without making one",
)
.short("l"),
)
.arg(opt(
"no-verify",
"Don't verify the contents by building them",
))
.arg(opt(
"no-metadata",
"Ignore warnings about a lack of human-usable metadata",
))
.arg(opt(
"allow-dirty",
"Allow dirty working directories to be packaged",
))
.arg_target_triple("Build for the target triple")
.arg_target_dir()
.arg_features()
.arg_manifest_path()
.arg_jobs()
}
pub fn exec(config: &mut Config, args: &ArgMatches<'_>) -> CliResult {
let ws = args.workspace(config)?;
ops::package(
&ws,
&PackageOpts {
config,
verify: !args.is_present("no-verify"),
list: args.is_present("list"),
check_metadata: !args.is_present("no-metadata"),
allow_dirty: args.is_present("allow-dirty"),
target: args.target(),
jobs: args.jobs()?,
features: args._values_of("features"),
all_features: args.is_present("all-features"),
no_default_features: args.is_present("no-default-features"),
},
)?;
Ok(())
}