blob: d6ce5b8b080cf81d173f9b830b7d43232a9fd8e0 [file] [log] [blame]
// 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;
}
}