| syntax = "proto3"; |
| |
| package chromite.api; |
| |
| import "chromite/api/build_api.proto"; |
| import "chromiumos/common.proto"; |
| |
| |
| // Depgraph messages and service. |
| |
| // Message contains data about the portage dependency graph and the packages' |
| // dependency source paths. |
| message DepGraph { |
| // The board whose dependency graph is being created for. |
| chromiumos.BuildTarget build_target = 1; |
| // List of packages in the dependency graph and their infos, which include |
| // dependency packages and the source paths. |
| repeated PackageDepInfo package_deps = 2; |
| } |
| |
| // Message describing a package and its dependencies. |
| message PackageDepInfo { |
| |
| chromiumos.PackageInfo package_info = 1; |
| |
| // List of packages this package depends on. |
| repeated chromiumos.PackageInfo dependency_packages = 2; |
| |
| // List of source paths the package depends on. |
| repeated SourcePath dependency_source_paths = 3; |
| } |
| |
| // Message describes a source path. |
| message SourcePath { |
| string path = 1; |
| } |
| |
| |
| // Message for creating dependency graph json map. |
| // Example Json: |
| // {"build_target":{"name":"board"},"output_file":"/tmp/depgraph.json"} |
| message GetBuildDependencyGraphRequest { |
| // The board whose dependency graph is being created. |
| chromiumos.BuildTarget build_target = 1; |
| // The path where the dep graph json file is being saved to. |
| string output_path = 2; |
| } |
| |
| // Response from creating dependency graph json map. |
| message GetBuildDependencyGraphResponse { |
| // The created dependency graph file |
| string build_dependency_graph_file = 1; |
| } |
| |
| // Service to create a variety of package dependency graphs. |
| service DependencyService { |
| // The module implementing the service. |
| option (service_options) = { |
| module: "board_build_dependency", |
| }; |
| |
| // Get the build dependency graph. |
| rpc GetBuildDependencyGraph(GetBuildDependencyGraphRequest) |
| returns (GetBuildDependencyGraphResponse); |
| } |