| // Copyright 2018 The Bazel Authors. All rights reserved. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| syntax = "proto3"; |
| |
| package workspace_log; |
| |
| option java_package = "com.google.devtools.build.lib.bazel.debug.proto"; |
| option java_outer_classname = "WorkspaceLogProtos"; |
| |
| // Information on "Execute" event in repository_ctx. |
| message ExecuteEvent { |
| // Command line arguments, with the first one being the command to execute. |
| repeated string arguments = 2; |
| |
| // Timeout used for the command |
| int32 timeout_seconds = 3; |
| |
| // Environment variables set for the execution. Note that this includes |
| // variables specified by the user (as an input to Execute command), |
| // as well as variables set indirectly through the rule environment |
| map<string, string> environment = 4; |
| |
| // True if quiet execution was requested. |
| bool quiet = 5; |
| |
| // Directory that would contain the output of the command. |
| string output_directory = 6; |
| } |
| |
| // Information on "Download" event in repository_ctx. |
| message DownloadEvent { |
| // Url to download from. If multiple, treated as mirrors |
| repeated string url = 1; |
| // Output file |
| string output = 2; |
| // sha256, if specified |
| string sha256 = 3; |
| // whether to make the resulting file executable |
| bool executable = 4; |
| // checksum in Subresource Integrity format, if specified |
| string integrity = 5; |
| } |
| |
| message ExtractEvent { |
| // Path to the archive file |
| string archive = 1; |
| // Path to the output directory |
| string output = 2; |
| // A directory prefix to strip from extracted files. |
| string strip_prefix = 3; |
| } |
| |
| message DownloadAndExtractEvent { |
| // Url(s) to download from |
| repeated string url = 1; |
| // Output file |
| string output = 2; |
| // sha256, if specified |
| string sha256 = 3; |
| // Archive type, if specified. Otherwise, inferred from URL. |
| string type = 4; |
| // A directory prefix to strip from extracted files. |
| string strip_prefix = 5; |
| // checksum in Subresource Integrity format, if specified |
| string integrity = 6; |
| } |
| |
| // Information on "file" event in repository_ctx. |
| message FileEvent { |
| // Path to the created file |
| string path = 1; |
| // Content of the created file |
| string content = 2; |
| // Whether the file is executable |
| bool executable = 3; |
| } |
| |
| // Information on "read" event in repository_ctx. |
| message ReadEvent { |
| // Path to the file to read |
| string path = 1; |
| } |
| |
| // Information on "delete" event in repository_ctx. |
| message DeleteEvent { |
| // Path to the file to delete |
| string path = 1; |
| } |
| |
| // Information on "patch" event in repository_ctx. |
| message PatchEvent { |
| // Path to the patch file |
| string patch_file = 1; |
| // Number of leading components to strip from file names |
| int32 strip = 2; |
| } |
| |
| // Information on "os" event in repository_ctx. |
| message OsEvent { |
| // Takes no inputs |
| } |
| |
| // Information on "symlink" event in repository_ctx. |
| message SymlinkEvent { |
| // path to which the symlink will point to |
| string target = 1; |
| // path of the symlink |
| string path = 2; |
| } |
| |
| // Information on "template" event in repository_ctx. |
| message TemplateEvent { |
| // path of the file to create |
| string path = 1; |
| // path to the template file |
| string template = 2; |
| // a map of substitutions to make |
| map<string, string> substitutions = 3; |
| // Whether to set executable flag |
| bool executable = 4; |
| } |
| |
| // Information on "which" event in repository_ctx. |
| message WhichEvent { |
| // Program to find in the path |
| string program = 1; |
| } |
| |
| message WorkspaceEvent { |
| // Location in the code (.bzl file) where the event originates. |
| string location = 1; |
| |
| // Label of the rule whose evaluation caused this event. |
| string rule = 2; |
| |
| oneof event { |
| ExecuteEvent execute_event = 3; |
| DownloadEvent download_event = 4; |
| DownloadAndExtractEvent download_and_extract_event = 5; |
| FileEvent file_event = 6; |
| OsEvent os_event = 7; |
| SymlinkEvent symlink_event = 8; |
| TemplateEvent template_event = 9; |
| WhichEvent which_event = 10; |
| ExtractEvent extract_event = 11; |
| ReadEvent read_event = 12; |
| DeleteEvent delete_event = 13; |
| PatchEvent patch_event = 14; |
| } |
| } |