blob: 79df27d7584640a86199aa6bffd785f4542c244f [file] [log] [blame]
// Copyright 2020 The Pigweed Authors
//
// 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
//
// https://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 recipe_modules.pigweed.checkout;
message EquivalentRemotes {
// List of remotes that should be considered equivalent to each other.
repeated string remotes = 1;
}
message InputProperties {
// Path to remote repository. (Default:
// "https://pigweed.googlesource.com/pigweed/pigweed")
string remote = 1;
// TODO(pwbug/209) Change 'master' to 'main'.
// Branch of remote repository. (Default: "master")
string branch = 2;
// Is this repository an Android Repo Tool manifest? (Default: False)
bool use_repo = 3;
// Name of Android Repo Tool manifest file. (Default: "default.xml")
string manifest_file = 4;
// Lists of remotes that should be considered equivalent to each other.
// This is intended to be used with branches that are automatically kept in
// sync across Gerrit hosts, so a CL in one will be understood to apply to a
// submodule or Android Repo Tool project with the other as the remote.
//
// Example:
// [
// [
// "https://a-review.googlesource.com/foo",
// "https://b-review.googlesource.com/foo",
// "https://c-review.googlesource.com/foo",
// ],
// [
// "https://d-review.googlesource.com/bar",
// "https://e-review.googlesource.com/bar",
// ],
// ]
//
// In this case a/foo, b/foo, and c/foo are all mirrors of each other, as
// well as d/bar and e/bar, but a/foo and d/bar are unrelated.
//
// See also http://go/gob-ctl#copying-git-repository.
repeated EquivalentRemotes equivalent_remotes = 5;
// Timeouts for repo (which sometimes hangs). If 0 uses default of 20 for
// init and 120 for sync. Cannot be disabled, but int32 supports some really
// large values. If number of attempts is 0 it's set to 3.
int32 repo_init_timeout_sec = 6;
int32 repo_sync_timeout_sec = 7;
int32 number_of_attempts = 8;
// In try builds CLs are rebased by default. In ci builds they are not. This
// option prevents rebasing on try builds.
bool force_no_rebase = 9;
// If a tryjob is triggered by a CL on branch 'foo', try to use branch 'foo'
// of any superprojects or manifests containing the CL's repo as a submodule
// or project. (Note: branch matching is not yet implemented for submodules.)
bool match_branch = 10;
// Timeout for 'git submodule update --init --recursive'. Default is
// 10 minutes.
int32 submodule_timeout_sec = 11;
}