Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Unified Diff: recipe_engine/package.proto

Issue 2728303004: [package.proto] add canonical_base_url field. (Closed)
Patch Set: spaces Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « recipe_engine/arguments_pb2.py ('k') | recipe_engine/package.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: recipe_engine/package.proto
diff --git a/recipe_engine/package.proto b/recipe_engine/package.proto
index 40345018b765b07a1203a46fadf7a5478ce6c635..f419746853852ac4ce1d173497565b0b3e9cd57c 100644
--- a/recipe_engine/package.proto
+++ b/recipe_engine/package.proto
@@ -10,24 +10,67 @@ 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.
optional string url = 2;
+
+ // The ref to git-fetch when syncing this dependency.
optional string branch = 3;
+
+ // The git commit that we depend on.
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 {
+ // Do a full 'git clone' of this dependency.
GIT = 0;
+
+ // Use GITILES to fetch the dependency data via the GITILES REST API.
GITILES = 1;
}
+ // How this dependency should be fetched.
+ //
+ // 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
+ // change if a backwards-incompatible update must be done for the proto. In
+ // the event that a backwards incompatible change happens, however,
+ // api_version will remain at tag 1.
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"]). This should match the name of the repo
+ // in the luci-config service associated with the repo, and should not contain
+ // slashes.
optional string project_id = 2;
+
+ // The path (using forward slashes) to where the base of the recipes are found
+ // in the repo (i.e. where the "recipes" and/or "recipe_modules" directories
+ // live).
optional string recipes_path = 3;
- 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
+ // * Gitiles
+ optional string canonical_base_url = 4;
+
+ // Any package dependencies that this package has.
+ repeated DepSpec deps = 5;
}
« no previous file with comments | « recipe_engine/arguments_pb2.py ('k') | recipe_engine/package.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698