| OLD | NEW |
| 1 // Copyright 2016 The LUCI Authors. All rights reserved. | 1 // Copyright 2016 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Recompile with protoc 3.1.0+: | 5 // Recompile with protoc 3.1.0+: |
| 6 // cd recipe_engine && protoc package.proto --python_out=. | 6 // cd recipe_engine && protoc package.proto --python_out=. |
| 7 | 7 |
| 8 syntax = "proto3"; | 8 syntax = "proto3"; |
| 9 | 9 |
| 10 package recipe_engine; | 10 package recipe_engine; |
| 11 | 11 |
| 12 message DepSpec { | 12 message DepSpec { |
| 13 // Same meaning as Package.project_id, but the id for this dependency. This |
| 14 // should always match the project_id of the repo that we're depending on. |
| 15 string project_id = 1; |
| 16 |
| 13 // The URL of where to fetch the package data. Must always be a git repo URL. | 17 // The URL of where to fetch the package data. Must always be a git repo URL. |
| 14 string url = 1; | 18 string url = 2; |
| 15 | 19 |
| 16 // The ref to git-fetch when syncing this dependency. | 20 // The ref to git-fetch when syncing this dependency. |
| 17 string branch = 2; | 21 string branch = 3; |
| 18 | 22 |
| 19 // The git commit that we depend on. | 23 // The git commit that we depend on. |
| 20 string revision = 3; | 24 string revision = 4; |
| 21 | 25 |
| 22 // Treat a subtree of a repo as a whole repo unto itself. This must match | 26 // Treat a subtree of a repo as a whole repo unto itself. This must match |
| 23 // the value of `recipes_path` in the target repo. | 27 // the value of `recipes_path` in the target repo. |
| 24 string path_override = 4; | 28 string path_override = 5; |
| 25 | 29 |
| 26 enum RepoType { | 30 enum RepoType { |
| 27 // Do a full 'git clone' of this dependency. | 31 // Do a full 'git clone' of this dependency. |
| 28 GIT = 0; | 32 GIT = 0; |
| 29 | 33 |
| 30 // Use GITILES to fetch the dependency data via the GITILES REST API. | 34 // Use GITILES to fetch the dependency data via the GITILES REST API. |
| 31 GITILES = 1; | 35 GITILES = 1; |
| 32 } | 36 } |
| 33 // How this dependency should be fetched. | 37 // How this dependency should be fetched. |
| 34 // | 38 // |
| 35 // NOTE: this option may be removed in the future in preference for | 39 // NOTE: this option may be removed in the future in preference for |
| 36 // automatically picking the repo fetch method. | 40 // automatically picking the repo fetch method. |
| 37 RepoType repo_type = 5; | 41 RepoType repo_type = 6; |
| 38 } | 42 } |
| 39 | 43 |
| 40 // These options control the behavior of the autoroller recipe: | 44 // These options control the behavior of the autoroller recipe: |
| 41 // https://chromium.googlesource.com/infra/infra/+/master/recipes/recipes/reci
pe_autoroller.py | 45 // https://chromium.googlesource.com/infra/infra/+/master/recipes/recipes/reci
pe_autoroller.py |
| 42 message AutorollRecipeOptions { | 46 message AutorollRecipeOptions { |
| 43 // These control the behavior of the autoroller when it finds a trivial roll | 47 // These control the behavior of the autoroller when it finds a trivial roll |
| 44 // (i.e. a roll without expectation changes). | 48 // (i.e. a roll without expectation changes). |
| 45 message TrivialOptions { | 49 message TrivialOptions { |
| 46 // These email addresses will be TBR'd. | 50 // These email addresses will be TBR'd. |
| 47 repeated string tbr_emails = 1; | 51 repeated string tbr_emails = 1; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 | 85 |
| 82 // This is the URL which points to the 'source of truth' for this repo. It's | 86 // This is the URL which points to the 'source of truth' for this repo. It's |
| 83 // meant to be used for documentation generation. | 87 // meant to be used for documentation generation. |
| 84 string canonical_repo_url = 3; | 88 string canonical_repo_url = 3; |
| 85 | 89 |
| 86 // The path (using forward slashes) to where the base of the recipes are found | 90 // The path (using forward slashes) to where the base of the recipes are found |
| 87 // in the repo (i.e. where the "recipes" and/or "recipe_modules" directories | 91 // in the repo (i.e. where the "recipes" and/or "recipe_modules" directories |
| 88 // live). | 92 // live). |
| 89 string recipes_path = 4; | 93 string recipes_path = 4; |
| 90 | 94 |
| 91 // A mapping of a dependency ("project_id") to spec needed to fetch its code. | 95 // Any package dependencies that this package has. |
| 92 map<string, DepSpec> deps = 5; | 96 repeated DepSpec deps = 5; |
| 93 | 97 |
| 94 // The autoroller options for this repo. These options will be respected by | 98 // The autoroller options for this repo. These options will be respected by |
| 95 // the autoroller recipe (which currently lives here: | 99 // the autoroller recipe (which currently lives here: |
| 96 // https://chromium.googlesource.com/infra/infra/+/master/recipes/recipes/re
cipe_autoroller.py | 100 // https://chromium.googlesource.com/infra/infra/+/master/recipes/recipes/re
cipe_autoroller.py |
| 97 // ). | 101 // ). |
| 98 AutorollRecipeOptions autoroll_recipe_options = 6; | 102 AutorollRecipeOptions autoroll_recipe_options = 6; |
| 103 |
| 99 } | 104 } |
| OLD | NEW |