| // Copyright 2021 The LUCI Authors. All rights reserved. |
| // Use of this source code is governed under the Apache License, Version 2.0 |
| // that can be found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package recipe_engine.internal.commands.deps; |
| |
| message Deps { |
| // Mapping of fully-qualified recipe name to DepInfo |
| map<string, DepInfo> recipes = 1; |
| |
| // Mapping of fully-qualified module name to DepInfo |
| map<string, DepInfo> modules = 2; |
| } |
| |
| enum Py3Status { |
| // CANNOT_RUN indicates that this recipe/module depends on a module with |
| // an incompatible Py3Status. |
| // |
| // Can only occur in effective_py3_status field. |
| CANNOT_RUN = 0; |
| PYTHON2_ONLY = 1; |
| PYTHON2_AND_PYTHON3 = 2; |
| PYTHON3_ONLY = 3; |
| } |
| |
| message DepInfo { |
| // The recipe repo name this item belongs to. |
| string repo = 1; |
| |
| // The non-qualified name of this item. |
| // |
| // The fully qualified recipe name is "%s::%s" % (repo, name) |
| // The fully qualified module name is "%s/%s" % (repo, name) |
| string name = 2; |
| |
| // The gitiles URL of the module folder or recipe file. |
| string url = 3; |
| |
| // True if this item is a recipe, false if it's a recipe module. |
| bool is_recipe = 4; |
| |
| Py3Status claimed_py3_status = 5; |
| Py3Status effective_py3_status = 6; |
| |
| // Sorted list of fully-qualified recipe modules this item depends on. |
| repeated string deps = 7; |
| } |