4610fcad4e
* stable-2.15: Polygerrit: Always create new changes as WIP ElasticIndexIT: replace member with local variable Elasticsearch tests: remove password duplication Fix call to the fail skylark global in junit.bzl Set version to 2.14.11-SNAPSHOT Set version to 2.14.10 AbstractQueryChangesTest: Add byMessageSubstring test AbstractQueryChangesTest: Expand byTopic with more 'intopic' tests Elasticsearch: Add char analyzer to ensure consistency of query results Elasticsearch: remove overridden build assignment Elasticsearch: run no other test at the same time ElasticVersionTest: run it through bazel as well Elasticsearch: cover V5 and flaky V6 tests -for CI Split Elasticsearch query tests into separate rules dev-contributing: Document that we format .bzl files with buildifier Add account setting for defaulting new changes to WIP Add project setting for defaulting new changes to WIP Apply buildifier to .bzl files. Update Bower to 1.8.2 Bump commons-io version to 2.2 Add missing elasticsearch dependency in pgm tests Highlight.js: style gr-syntax-name as gr-syntax-keyword Elasticsearch: remove unnecessary test build deps Clarify behavior of "Ignore" feature in REST API documentation Expose commons-compress in plugin API Bump commons-io version to 2.2 Change-Id: I99edb118d193ebe9150f89a902a1407e69711cfc
352 lines
16 KiB
HTML
352 lines
16 KiB
HTML
<!--
|
|
@license
|
|
Copyright (C) 2017 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.
|
|
-->
|
|
|
|
<link rel="import" href="../../../bower_components/polymer/polymer.html">
|
|
<link rel="import" href="../../../bower_components/iron-autogrow-textarea/iron-autogrow-textarea.html">
|
|
<link rel="import" href="../../../bower_components/iron-input/iron-input.html">
|
|
|
|
<link rel="import" href="../../plugins/gr-endpoint-decorator/gr-endpoint-decorator.html">
|
|
<link rel="import" href="../../shared/gr-download-commands/gr-download-commands.html">
|
|
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">
|
|
<link rel="import" href="../../shared/gr-select/gr-select.html">
|
|
<link rel="import" href="../../../styles/gr-form-styles.html">
|
|
<link rel="import" href="../../../styles/gr-subpage-styles.html">
|
|
<link rel="import" href="../../../styles/shared-styles.html">
|
|
|
|
|
|
<dom-module id="gr-repo">
|
|
<template>
|
|
<style include="shared-styles"></style>
|
|
<style include="gr-subpage-styles">
|
|
h2.edited:after {
|
|
color: var(--deemphasized-text-color);
|
|
content: ' *';
|
|
}
|
|
.loading,
|
|
.hideDownload {
|
|
display: none;
|
|
}
|
|
#loading.loading {
|
|
display: block;
|
|
}
|
|
#loading:not(.loading) {
|
|
display: none;
|
|
}
|
|
.repositorySettings {
|
|
display: none;
|
|
}
|
|
.repositorySettings.showConfig {
|
|
display: block;
|
|
}
|
|
</style>
|
|
<style include="gr-form-styles"></style>
|
|
<main class="gr-form-styles read-only">
|
|
<h1 id="Title">[[repo]]</h1>
|
|
<div id="loading" class$="[[_computeLoadingClass(_loading)]]">Loading...</div>
|
|
<div id="loadedContent" class$="[[_computeLoadingClass(_loading)]]">
|
|
<div id="downloadContent" class$="[[_computeDownloadClass(_schemes)]]">
|
|
<h2 id="download">Download</h2>
|
|
<fieldset>
|
|
<gr-download-commands
|
|
id="downloadCommands"
|
|
commands="[[_computeCommands(repo, _schemesObj, _selectedScheme)]]"
|
|
schemes="[[_schemes]]"
|
|
selected-scheme="{{_selectedScheme}}"></gr-download-commands>
|
|
</fieldset>
|
|
</div>
|
|
<h2 id="configurations"
|
|
class$="[[_computeHeaderClass(_configChanged)]]">Configurations</h2>
|
|
<div id="form">
|
|
<fieldset>
|
|
<h3 id="Description">Description</h3>
|
|
<fieldset>
|
|
<iron-autogrow-textarea
|
|
id="descriptionInput"
|
|
class="description"
|
|
autocomplete="on"
|
|
placeholder="<Insert repo description here>"
|
|
bind-value="{{_repoConfig.description}}"
|
|
disabled$="[[_readOnly]]"></iron-autogrow-textarea>
|
|
</fieldset>
|
|
<h3 id="Options">Repository Options</h3>
|
|
<fieldset id="options">
|
|
<section>
|
|
<span class="title">State</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="stateSelect"
|
|
bind-value="{{_repoConfig.state}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat" items=[[_states]]>
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Submit type</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="submitTypeSelect"
|
|
bind-value="{{_repoConfig.submit_type}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatSubmitTypeSelect(_repoConfig)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Allow content merges</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="contentMergeSelect"
|
|
bind-value="{{_repoConfig.use_content_merge.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.use_content_merge)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">
|
|
Create a new change for every commit not in the target branch
|
|
</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="newChangeSelect"
|
|
bind-value="{{_repoConfig.create_new_change_for_all_not_in_target.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.create_new_change_for_all_not_in_target)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Require Change-Id in commit message</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="requireChangeIdSelect"
|
|
bind-value="{{_repoConfig.require_change_id.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.require_change_id)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section
|
|
id="enableSignedPushSettings"
|
|
class$="repositorySettings [[_computeRepositoriesClass(_repoConfig.enable_signed_push)]]">
|
|
<span class="title">Enable signed push</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="enableSignedPush"
|
|
bind-value="{{_repoConfig.enable_signed_push.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.enable_signed_push)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section
|
|
id="requireSignedPushSettings"
|
|
class$="repositorySettings [[_computeRepositoriesClass(_repoConfig.require_signed_push)]]">
|
|
<span class="title">Require signed push</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="requireSignedPush"
|
|
bind-value="{{_repoConfig.require_signed_push.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.require_signed_push)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">
|
|
Reject implicit merges when changes are pushed for review</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="rejectImplicitMergesSelect"
|
|
bind-value="{{_repoConfig.reject_implicit_merges.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.reject_implicit_merges)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section id="noteDbSettings" class$="repositorySettings [[_computeRepositoriesClass(_noteDbEnabled)]]">
|
|
<span class="title">
|
|
Enable adding unregistered users as reviewers and CCs on changes</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="unRegisteredCcSelect"
|
|
bind-value="{{_repoConfig.enable_reviewer_by_email.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.enable_reviewer_by_email)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">
|
|
Set all new changes private by default</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="setAllnewChangesPrivateByDefaultSelect"
|
|
bind-value="{{_repoConfig.private_by_default.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.private_by_default)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">
|
|
Set new changes to "work in progress" by default</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="setAllNewChangesWorkInProgressByDefaultSelect"
|
|
bind-value="{{_repoConfig.work_in_progress_by_default.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.work_in_progress_by_default)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Maximum Git object size limit</span>
|
|
<span class="value">
|
|
<input
|
|
id="maxGitObjSizeInput"
|
|
bind-value="{{_repoConfig.max_object_size_limit.configured_value}}"
|
|
is="iron-input"
|
|
type="text"
|
|
disabled$="[[_readOnly]]">
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Match authored date with committer date upon submit</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="matchAuthoredDateWithCommitterDateSelect"
|
|
bind-value="{{_repoConfig.match_author_to_committer_date.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.match_author_to_committer_date)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Reject empty commit upon submit</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="rejectEmptyCommitSelect"
|
|
bind-value="{{_repoConfig.reject_empty_commit.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.reject_empty_commit)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
</fieldset>
|
|
<h3 id="Options">Contributor Agreements</h3>
|
|
<fieldset id="agreements">
|
|
<section>
|
|
<span class="title">
|
|
Require a valid contributor agreement to upload</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="contributorAgreementSelect"
|
|
bind-value="{{_repoConfig.use_contributor_agreements.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.use_contributor_agreements)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
<section>
|
|
<span class="title">Require Signed-off-by in commit message</span>
|
|
<span class="value">
|
|
<gr-select
|
|
id="useSignedOffBySelect"
|
|
bind-value="{{_repoConfig.use_signed_off_by.configured_value}}">
|
|
<select disabled$="[[_readOnly]]">
|
|
<template is="dom-repeat"
|
|
items="[[_formatBooleanSelect(_repoConfig.use_signed_off_by)]]">
|
|
<option value="[[item.value]]">[[item.label]]</option>
|
|
</template>
|
|
</select>
|
|
</gr-select>
|
|
</span>
|
|
</section>
|
|
</fieldset>
|
|
<!-- TODO @beckysiegel add plugin config widgets -->
|
|
<gr-button
|
|
on-tap="_handleSaveRepoConfig"
|
|
disabled$="[[_computeButtonDisabled(_readOnly, _configChanged)]]">Save changes</gr-button>
|
|
</fieldset>
|
|
<gr-endpoint-decorator name="repo-config">
|
|
<gr-endpoint-param name="repoName" value="[[repo]]"></gr-endpoint-param>
|
|
</gr-endpoint-decorator>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
<gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
|
|
</template>
|
|
<script src="gr-repo.js"></script>
|
|
</dom-module>
|