]> git.lizzy.rs Git - rust.git/commitdiff
Merge remote-tracking branch 'z0w0/cargo-deps'
authorBrian Anderson <banderson@mozilla.com>
Sun, 10 Jun 2012 00:26:02 +0000 (17:26 -0700)
committerBrian Anderson <banderson@mozilla.com>
Sun, 10 Jun 2012 00:26:02 +0000 (17:26 -0700)
Conflicts:
src/cargo/cargo.rs

1  2 
src/cargo/cargo.rs

index ff099f3d007ac673263d3d17e3b8b44860b50958,4ce3dc35ad46116423e362426d23f8c551c722fa..83ede212233f78d3e52de31805cdcb8a8bdc2e2d
@@@ -332,9 -453,17 +453,17 @@@ fn try_parse_sources(filename: str, sou
      }
  }
  
 -fn load_one_source_package(&src: source, p: map::hashmap<str, json::json>) {
 +fn load_one_source_package(&&src: source, p: map::hashmap<str, json::json>) {
      let name = alt p.find("name") {
-         some(json::string(_n)) { _n }
+         some(json::string(_n)) {
+             if !valid_pkg_name(_n) {
+                 warn("malformed source json: " + src.name + ", '" + _n + "'"+
+                      " is an invalid name (alphanumeric, underscores and" +
+                      " dashes only)");
+                 ret;
+             }
+             _n
+         }
          _ {
              warn("malformed source json: " + src.name + " (missing name)");
              ret;
      log(debug, "  loaded package: " + src.name + "/" + name);
  }
  
- fn load_source_packages(&&c: cargo, &&src: source) {
-     log(debug, "Loading source: " + src.name);
+ fn load_source_info(&c: cargo, &src: source) {
+     let dir = path::connect(c.sourcedir, src.name);
+     let srcfile = path::connect(dir, "source.json");
+     if !os::path_exists(srcfile) { ret; }
+     let srcstr = io::read_whole_file_str(srcfile);
+     alt json::from_str(result::get(srcstr)) {
+         ok(json::dict(_s)) {
+             let o = parse_source(src.name, json::dict(_s));
+             src.key = o.key;
+             src.keyfp = o.keyfp;
+         }
+         ok(_) {
+             warn("malformed source.json: " + src.name +
+                  "(source info is not a dict)");
+         }
+         err(e) {
+             warn(#fmt("%s:%u:%u: %s", src.name, e.line, e.col, e.msg));
+         }
+     };
+ }
 -fn load_source_packages(&c: cargo, &src: source) {
++fn load_source_packages(&&c: cargo, &src: source) {
+     log(debug, "loading source: " + src.name);
      let dir = path::connect(c.sourcedir, src.name);
      let pkgfile = path::connect(dir, "packages.json");
      if !os::path_exists(pkgfile) { ret; }
@@@ -1165,8 -1918,10 +1918,10 @@@ fn main(argv: [str]) 
          "uninstall" { cmd_uninstall(c); }
          "list" { cmd_list(c); }
          "search" { cmd_search(c); }
-         "sync" { cmd_sync(c); }
-         "usage" { cmd_usage(); }
+         "sources" { cmd_sources(c); }
          _ { cmd_usage(); }
      }
 -}
+     dump_cache(c);
+     dump_sources(c);
 +}