1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // Copyright 2021 Google LLC
- //
- // 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 google.devtools.resultstore.v2;
- import "google/api/resource.proto";
- import "google/devtools/resultstore/v2/file.proto";
- option go_package = "google.golang.org/genproto/googleapis/devtools/resultstore/v2;resultstore";
- option java_multiple_files = true;
- option java_outer_classname = "FileSetProto";
- option java_package = "com.google.devtools.resultstore.v2";
- // This resource represents a set of Files and other (nested) FileSets.
- // A FileSet is a node in the graph, and the file_sets field represents the
- // outgoing edges. A resource may reference various nodes in the graph to
- // represent the transitive closure of all files from those nodes.
- // The FileSets must form a directed acyclic graph. The Upload API is unable to
- // enforce that the graph is acyclic at write time, and if cycles are written,
- // it may cause issues at read time.
- //
- // A FileSet may be referenced by other resources in conjunction with Files.
- //
- // Clients should prefer using Files directly under resources. Clients should
- // not use FileSets unless their usecase requires a directed acyclic graph of
- // Files.
- message FileSet {
- option (google.api.resource) = {
- type: "resultstore.googleapis.com/FileSet"
- pattern: "invocations/{invocation}/fileSets/{file_set}"
- };
- // The resource ID components that identify the FileSet.
- message Id {
- // The Invocation ID.
- string invocation_id = 1;
- // The FileSet ID.
- string file_set_id = 2;
- }
- // The format of this FileSet resource name must be:
- // invocations/${INVOCATION_ID}/fileSets/${url_encode(FILE_SET_ID)}
- string name = 1;
- // The resource ID components that identify the file set. They must match the
- // resource name after proper encoding.
- Id id = 2;
- // List of names of other file sets that are referenced from this one.
- // Each name must point to a file set under the same invocation. The name
- // format must be: invocations/${INVOCATION_ID}/fileSets/${FILE_SET_ID}
- repeated string file_sets = 3;
- // Files that are contained within this file set.
- // The uid field in the file should be unique for the Invocation.
- repeated File files = 4;
- }
|