Chromium Code Reviews| Index: recipe_engine/package.proto |
| diff --git a/recipe_engine/package.proto b/recipe_engine/package.proto |
| index 40345018b765b07a1203a46fadf7a5478ce6c635..e241cfdd07a96f39ad723e8c3d4fffa0d3e5bee5 100644 |
| --- a/recipe_engine/package.proto |
| +++ b/recipe_engine/package.proto |
| @@ -10,24 +10,61 @@ syntax = "proto2"; |
| package recipe_engine; |
| message DepSpec { |
| + // Same meaning as Package.project_id, but the id for this dependency. This |
| + // should always match the project_id of the repo that we're depending on. |
| optional string project_id = 1; |
| + |
| + // The url of where to fetch the package data. Must always be a git repo url. |
|
dnj
2017/03/07 18:58:53
Let's capitalize things like "URL" and "ID" :)
iannucci
2017/03/08 03:28:36
Done.
|
| optional string url = 2; |
| + |
| + // The ref to git-fetch when syncing this dependency. |
| optional string branch = 3; |
| + |
| + // The git commit ID that we depend on. |
|
martiniss
2017/03/07 18:56:38
commit ID? Is that the technical term? I would hav
dnj
2017/03/07 18:58:52
Is the correct term a commit ID or a commit?
iannucci
2017/03/08 03:28:37
both, I think. `object identity` is the sha1. 'com
|
| optional string revision = 4; |
| - // Treat a subtree of a repo as a whole repo unto itself. |
| + // Treat a subtree of a repo as a whole repo unto itself. This must match |
| + // the value of `recipes_path` in the target repo. |
| optional string path_override = 5; |
| enum RepoType { |
| GIT = 0; |
| GITILES = 1; |
| } |
| + // How this dependency should be fetched. GIT will do a full clone of the |
| + // dependency, and GITILES will pull the data via the GITILES REST API. |
|
dnj
2017/03/07 18:58:52
Put these per-enum docs up by the enums themselves
iannucci
2017/03/08 03:28:36
Done.
|
| + // |
| + // NOTE: this option may be removed in the future in preference for |
| + // automatically picking the repo fetch method. |
| optional RepoType repo_type = 6 [default = GIT]; |
| } |
| message Package { |
| + // The "API Version" of this proto. Should always equal 1, currently. This may |
|
dnj
2017/03/07 18:58:52
Document that this MUST always have a tag value of
iannucci
2017/03/08 03:28:36
Done.
|
| + // change if a backwards-incompatible update must be done for the proto. |
| optional int32 api_version = 1; // Version 1 |
| + |
| + // The "id" of how this package is referred to within recipes. This becomes |
| + // the prefix in DEPS when something depends on one of this package's modules |
| + // (e.g. DEPS=["recipe_engine/path"]). |
|
dnj
2017/03/07 18:58:52
Maybe mention naming constraints (e.g., no slashes
iannucci
2017/03/08 03:28:36
Done.
|
| optional string project_id = 2; |
| + |
| + // The path (using POSIX-style slashes) to where the base of the recipes are |
|
dnj
2017/03/07 18:58:52
Just say "forward slashes".
iannucci
2017/03/08 03:28:36
Done.
|
| + // found in the repo (i.e. where the "recipes" and/or "recipe_modules" |
| + // directories live). |
| optional string recipes_path = 3; |
| + |
| + // Any package dependencies that this package has. |
| repeated DepSpec deps = 4; |
| + |
| + // The "source of truth" for this package's data, e.g. |
| + // "https://github.com/luci/recipes-py" |
| + // This is used for documentation purposes, and does NOT need to match the |
| + // `url` field in any other package's deps (in order to allow for mirroring). |
| + // |
| + // The documentation generator will infer paths to files that are relative to |
| + // this URL, and knows about the following git host URL schemes: |
| + // * Github |
|
dnj
2017/03/07 18:58:52
nit: GitHub
iannucci
2017/03/08 03:28:36
Done.
|
| + // * Gitiles |
| + optional string canonical_base_url = 5; |
| } |
|
martiniss
2017/03/07 18:56:38
Shouldn't you update the recipes.cfg in here with
iannucci
2017/03/08 03:28:37
Done.
|