Implementing 'rustpkg init'.
This will initialize a new workspace.
This commit is contained in:
parent
0ec4d34b3f
commit
77bbf23b4a
@ -189,6 +189,7 @@ pub trait CtxMethods {
|
||||
fn test(&self);
|
||||
fn uninstall(&self, _id: &str, _vers: Option<~str>);
|
||||
fn unprefer(&self, _id: &str, _vers: Option<~str>);
|
||||
fn init(&self);
|
||||
}
|
||||
|
||||
impl CtxMethods for BuildContext {
|
||||
@ -319,6 +320,13 @@ impl CtxMethods for BuildContext {
|
||||
"test" => {
|
||||
self.test();
|
||||
}
|
||||
"init" => {
|
||||
if args.len() != 0 {
|
||||
return usage::init();
|
||||
} else {
|
||||
self.init();
|
||||
}
|
||||
}
|
||||
"uninstall" => {
|
||||
if args.len() < 1 {
|
||||
return usage::uninstall();
|
||||
@ -540,6 +548,13 @@ impl CtxMethods for BuildContext {
|
||||
fail!("test not yet implemented");
|
||||
}
|
||||
|
||||
fn init(&self) {
|
||||
os::mkdir_recursive(&Path("src"), U_RWX);
|
||||
os::mkdir_recursive(&Path("lib"), U_RWX);
|
||||
os::mkdir_recursive(&Path("bin"), U_RWX);
|
||||
os::mkdir_recursive(&Path("build"), U_RWX);
|
||||
}
|
||||
|
||||
fn uninstall(&self, _id: &str, _vers: Option<~str>) {
|
||||
fail!("uninstall not yet implemented");
|
||||
}
|
||||
@ -688,6 +703,7 @@ pub fn main_args(args: &[~str]) {
|
||||
~"list" => usage::list(),
|
||||
~"prefer" => usage::prefer(),
|
||||
~"test" => usage::test(),
|
||||
~"init" => usage::init(),
|
||||
~"uninstall" => usage::uninstall(),
|
||||
~"unprefer" => usage::unprefer(),
|
||||
_ => usage::general()
|
||||
|
@ -148,3 +148,10 @@ and exit code will be redirected.
|
||||
Options:
|
||||
-c, --cfg Pass a cfg flag to the package script");
|
||||
}
|
||||
|
||||
pub fn init() {
|
||||
io::println("rustpkg init name
|
||||
|
||||
This makes a new workspace for working on a project named name.
|
||||
");
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ use workcache_support::{digest_file_with_date, digest_only_date};
|
||||
// you could update the match in rustpkg.rc but forget to update this list. I think
|
||||
// that should be fixed.
|
||||
static COMMANDS: &'static [&'static str] =
|
||||
&["build", "clean", "do", "info", "install", "list", "prefer", "test", "uninstall",
|
||||
&["build", "clean", "do", "info", "init", "install", "list", "prefer", "test", "uninstall",
|
||||
"unprefer"];
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user