blob: 1b6ac3ee0fecc49d312853520dfcb7bea56a4a55 [file] [log] [blame]
// Copyright (C) 2019 The Android Open Source Project
//
// 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 = "proto2";
package gerrit.plugins.codeowners.backend.proto;
option java_package = "com.google.gerrit.plugins.codeowners.backend.proto";
// The format of each OWNERS_METADATA textproto file.
// Next ID: 2
message OwnersMetadataFile {
// Specification of the code owners for files in this directory.
optional OwnersConfig owners_config = 1;
}
// Owner configuration for a folder in a branch.
// Next ID: 3
message OwnersConfig {
// Whether the code owner configuration of the parent folder should be ignored.
optional bool ignore_parent_owners = 1 [default=false];
// Definitions of code owners for different sets of paths.
repeated OwnerSet owner_sets = 2;
}
// Definition of a set of owners.
// Next ID: 3
message OwnerSet {
// The per-file equivalent. Ownership is restricted when any paths are
// present. The path expressions must be Google3 path expressions.
repeated string path_expressions = 1;
// Users that should be code owners.
repeated Owner owners = 2;
}
// Definitions of an owner or group of owners.
// Next ID: 2
message Owner {
oneof ownertype {
// Email of a user. The email must belong to exactly one active Gerrit
// account. If the visibility of the Gerrit account is limited, users that
// cannot see the account are not able to add that user as a reviewer.
string email = 1;
}
}