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