let is_clapified = ::std::env::args().any(|arg| match arg.as_ref() {
"build" | "bench" | "check" | "clean" | "doc" | "fetch" | "generate-lockfile" | "git-checkout" |
"init" | "install" | "locate-project" | "login" | "metadata" | "new" |
- "owner" | "package" | "pkgid" | "publish" => true,
+ "owner" | "package" | "pkgid" | "publish" | "read-manifest" => true,
_ => false
});
// $mac!(package);
// $mac!(pkgid);
// $mac!(publish);
- $mac!(read_manifest);
+// $mac!(read_manifest);
$mac!(run);
$mac!(rustc);
$mac!(rustdoc);
use clap::{AppSettings, Arg, ArgMatches};
use cargo::{self, Config, CargoResult, CargoError, CliError};
-use cargo::core::{Workspace, Source, SourceId, GitReference};
+use cargo::core::{Workspace, Source, SourceId, GitReference, Package};
use cargo::util::{ToUrl, CargoResultExt};
use cargo::util::important_paths::find_root_manifest_for_wd;
use cargo::ops::{self, MessageFormat, Packages, CompileOptions, CompileMode, VersionControl,
})?;
return Ok(());
}
+ ("read-manifest", Some(args)) => {
+ let root = root_manifest_from_args(config, args)?;
+ let pkg = Package::for_path(&root, config)?;
+ cargo::print_json(&pkg);
+ return Ok(());
+ }
_ => return Ok(())
}
}
package::cli(),
pkgid::cli(),
publish::cli(),
+ read_manifest::cli(),
])
;
app
mod package;
mod pkgid;
mod publish;
+mod read_manifest;
mod utils {
use clap::{self, SubCommand, AppSettings};
--- /dev/null
+use super::utils::*;
+
+pub fn cli() -> App {
+ subcommand("read-manifest")
+ .about("Deprecated, use `cargo metadata --no-deps` instead.
+Print a JSON representation of a Cargo.toml manifest.")
+ .arg_manifest_path()
+}