diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2013-09-16 14:59:34 -0700 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2013-09-17 10:53:32 -0700 |
| commit | 77bbf23b4a6782b3e460c7eea339b858d98ae676 (patch) | |
| tree | 01441422a0536cdfd59bd844e1feaaea294b6932 /src/librustpkg/rustpkg.rs | |
| parent | 0ec4d34b3f0fa1897ace96475a32ff0c8e15b33b (diff) | |
| download | rust-77bbf23b4a6782b3e460c7eea339b858d98ae676.tar.gz rust-77bbf23b4a6782b3e460c7eea339b858d98ae676.zip | |
Implementing 'rustpkg init'.
This will initialize a new workspace.
Diffstat (limited to 'src/librustpkg/rustpkg.rs')
| -rw-r--r-- | src/librustpkg/rustpkg.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/librustpkg/rustpkg.rs b/src/librustpkg/rustpkg.rs index eef1dcabfd0..2a0cf5fea34 100644 --- a/src/librustpkg/rustpkg.rs +++ b/src/librustpkg/rustpkg.rs @@ -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() |
