blob: d0c123f97db2abd1204715c4d2c19aa9f32ae28f [file] [log] [blame]
// Copyright (C) 2020 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.
package com.google.gerrit.plugins.codeowners.api;
import com.google.gerrit.plugins.codeowners.backend.FallbackCodeOwners;
import com.google.gerrit.plugins.codeowners.common.MergeCommitStrategy;
/**
* Representation of the general code owners configuration in the REST API.
*
* <p>This class determines the JSON format of the general code owners configuration in the REST
* API.
*/
public class GeneralInfo {
/**
* The file extension that should be used for code owner config files in this project.
*
* <p>Unset if no file extension is used.
*/
public String fileExtension;
/** Strategy that defines for merge commits which files require code owner approvals. */
public MergeCommitStrategy mergeCommitStrategy;
/**
* Whether an implicit code owner approval from the last uploader is assumed.
*
* <p>Not set, if {@code false}.
*/
public Boolean implicitApprovals;
/**
* Optional URL for a page that provides project/host-specific information about how to request a
* code owner override.
*/
public String overrideInfoUrl;
/**
* Optional URL for a page that provides project/host-specific information about how to deal with
* invalid code owner config files.
*/
public String invalidCodeOwnerConfigInfoUrl;
/** Policy that controls who should own paths that have no code owners defined. */
public FallbackCodeOwners fallbackCodeOwners;
}