diff --git a/.gitignore b/.gitignore index 75cdfb51b0..93c1339179 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ /.apt_generated /.apt_generated_tests /.bazel_path -/.buckd /.classpath /.factorypath /.idea diff --git a/Documentation/dev-build-plugins.txt b/Documentation/dev-build-plugins.txt index 8139743ca5..219861f6be 100644 --- a/Documentation/dev-build-plugins.txt +++ b/Documentation/dev-build-plugins.txt @@ -69,7 +69,7 @@ bazel build plugins/: The output can be normally found in the following directory: ---- -bazel-genfiles/plugins//.jar +bazel-bin/plugins//.jar ---- Some plugins describe their build process in `src/main/resources/Documentation/build.md` diff --git a/java/com/google/gerrit/server/project/ProjectConfig.java b/java/com/google/gerrit/server/project/ProjectConfig.java index 3779fbfb30..44d9d9898b 100644 --- a/java/com/google/gerrit/server/project/ProjectConfig.java +++ b/java/com/google/gerrit/server/project/ProjectConfig.java @@ -217,6 +217,14 @@ public class ProjectConfig extends VersionedMetaData implements ValidationError. r.load(update, id); return r; } + + @UsedAt(UsedAt.Project.COLLABNET) + public ProjectConfig read(Repository repo, Project.NameKey name) + throws IOException, ConfigInvalidException { + ProjectConfig r = create(name); + r.load(repo); + return r; + } } private final StoredConfig baseConfig; diff --git a/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html b/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html index 7e686699c1..5e4e8fd9cb 100644 --- a/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html +++ b/polygerrit-ui/app/behaviors/gr-patch-set-behavior/gr-patch-set-behavior.html @@ -136,6 +136,7 @@ limitations under the License. * * num {number} The number identifying the patch set * * desc {!string} Optional patch set description * * wip {boolean} If true, this patch set was never subject to review. + * * sha {string} hash of the commit * * The wip property is determined by the change's current work_in_progress * property and its log of change messages. @@ -148,14 +149,18 @@ limitations under the License. if (!change) { return []; } let patchNums = []; if (change.revisions && Object.keys(change.revisions).length) { + const revisions = Object.keys(change.revisions).map(sha => { + return Object.assign({sha}, change.revisions[sha]); + }); patchNums = - Gerrit.PatchSetBehavior.sortRevisions(Object.values(change.revisions)) + Gerrit.PatchSetBehavior.sortRevisions(revisions) .map(e => { // TODO(kaspern): Mark which patchset an edit was made on, if an // edit exists -- perhaps with a temporary description. return { num: e._number, desc: e.description, + sha: e.sha, }; }); } diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html index 8db000c8b7..bb1743b246 100644 --- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html +++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list_test.html @@ -901,17 +901,17 @@ limitations under the License. test('patch set from revisions', () => { const expected = [ - {num: 4, desc: 'test'}, - {num: 3, desc: 'test'}, - {num: 2, desc: 'test'}, - {num: 1, desc: 'test'}, + {num: 4, desc: 'test', sha: 'rev4'}, + {num: 3, desc: 'test', sha: 'rev3'}, + {num: 2, desc: 'test', sha: 'rev2'}, + {num: 1, desc: 'test', sha: 'rev1'}, ]; const patchNums = element.computeAllPatchSets({ revisions: { - rev3: {_number: 3, description: 'test'}, - rev1: {_number: 1, description: 'test'}, - rev4: {_number: 4, description: 'test'}, - rev2: {_number: 2, description: 'test'}, + rev3: {_number: 3, description: 'test', date: 3}, + rev1: {_number: 1, description: 'test', date: 1}, + rev4: {_number: 4, description: 'test', date: 4}, + rev2: {_number: 2, description: 'test', date: 2}, }, }); assert.equal(patchNums.length, expected.length); diff --git a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js index a9fde2b172..f889bfc77d 100644 --- a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js +++ b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select.js @@ -62,6 +62,10 @@ behaviors: [Gerrit.PatchSetBehavior], + _getShaForPatch(patch) { + return patch.sha.substring(0, 10); + }, + _computeBaseDropdownContent(availablePatches, patchNum, _sortedRevisions, changeComments, revisionInfo) { // Polymer 2: check for undefined @@ -85,7 +89,7 @@ for (const basePatch of availablePatches) { const basePatchNum = basePatch.num; const entry = this._createDropdownEntry(basePatchNum, 'Patchset ', - _sortedRevisions, changeComments); + _sortedRevisions, changeComments, this._getShaForPatch(basePatch)); dropdownContent.push(Object.assign({}, entry, { disabled: this._computeLeftDisabled( basePatch.num, patchNum, _sortedRevisions), @@ -133,7 +137,7 @@ const patchNum = patch.num; const entry = this._createDropdownEntry( patchNum, patchNum === 'edit' ? '' : 'Patchset ', _sortedRevisions, - changeComments); + changeComments, this._getShaForPatch(patch)); dropdownContent.push(Object.assign({}, entry, { disabled: this._computeRightDisabled(basePatchNum, patchNum, _sortedRevisions), @@ -142,12 +146,17 @@ return dropdownContent; }, - _createDropdownEntry(patchNum, prefix, sortedRevisions, changeComments) { + _computeText(patchNum, prefix, changeComments, sha) { + return `${prefix}${patchNum}` + + `${this._computePatchSetCommentsString(changeComments, patchNum)}` + + (` | ${sha}`); + }, + + _createDropdownEntry(patchNum, prefix, sortedRevisions, changeComments, + sha) { const entry = { triggerText: `${prefix}${patchNum}`, - text: `${prefix}${patchNum}` + - `${this._computePatchSetCommentsString( - changeComments, patchNum)}`, + text: this._computeText(patchNum, prefix, changeComments, sha), mobileText: this._computeMobileText(patchNum, changeComments, sortedRevisions), bottomText: `${this._computePatchSetDescription( diff --git a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select_test.html b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select_test.html index 922a11c8f1..66fa974e45 100644 --- a/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select_test.html +++ b/polygerrit-ui/app/elements/diff/gr-patch-range-select/gr-patch-range-select_test.html @@ -120,10 +120,10 @@ limitations under the License. test('_computeBaseDropdownContent', () => { const availablePatches = [ - {num: 'edit'}, - {num: 3}, - {num: 2}, - {num: 1}, + {num: 'edit', sha: '1'}, + {num: 3, sha: '2'}, + {num: 2, sha: '3'}, + {num: 1, sha: '4'}, ]; const revisions = [ { @@ -147,7 +147,7 @@ limitations under the License. { disabled: true, triggerText: 'Patchset edit', - text: 'Patchset edit', + text: 'Patchset edit | 1', mobileText: 'edit', bottomText: '', value: 'edit', @@ -155,7 +155,7 @@ limitations under the License. { disabled: true, triggerText: 'Patchset 3', - text: 'Patchset 3', + text: 'Patchset 3 | 2', mobileText: '3', bottomText: '', value: 3, @@ -164,7 +164,7 @@ limitations under the License. { disabled: true, triggerText: 'Patchset 2', - text: 'Patchset 2', + text: 'Patchset 2 | 3', mobileText: '2 description', bottomText: 'description', value: 2, @@ -172,7 +172,7 @@ limitations under the License. { disabled: true, triggerText: 'Patchset 1', - text: 'Patchset 1', + text: 'Patchset 1 | 4', mobileText: '1', bottomText: '', value: 1, @@ -197,10 +197,10 @@ limitations under the License. ]; element.revisionInfo = getInfo(element.revisions); element.availablePatches = [ - {num: 1}, - {num: 2}, - {num: 3}, - {num: 'edit'}, + {num: 1, sha: '1'}, + {num: 2, sha: '2'}, + {num: 3, sha: '3'}, + {num: 'edit', sha: '4'}, ]; element.patchNum = 2; element.basePatchNum = 'PARENT'; @@ -223,10 +223,10 @@ limitations under the License. ]; element.revisionInfo = getInfo(element.revisions); element.availablePatches = [ - {num: 'edit'}, - {num: 3}, - {num: 2}, - {num: 1}, + {num: 'edit', sha: '1'}, + {num: 3, sha: '2'}, + {num: 2, sha: '3'}, + {num: 1, sha: '4'}, ]; element.patchNum = 2; element.basePatchNum = 'PARENT'; @@ -250,10 +250,10 @@ limitations under the License. ]; element.revisionInfo = getInfo(element.revisions); element.availablePatches = [ - {num: 1}, - {num: 2}, - {num: 3}, - {num: 'edit'}, + {num: 1, sha: '1'}, + {num: 2, sha: '2'}, + {num: 3, sha: '3'}, + {num: 'edit', sha: '4'}, ]; element.patchNum = 2; element.basePatchNum = 'PARENT'; @@ -274,10 +274,10 @@ limitations under the License. ]; element.revisionInfo = getInfo(element.revisions); element.availablePatches = [ - {num: 1}, - {num: 2}, - {num: 3}, - {num: 'edit'}, + {num: 1, sha: '1'}, + {num: 2, sha: '2'}, + {num: 3, sha: '3'}, + {num: 'edit', sha: '4'}, ]; element.patchNum = 2; element.basePatchNum = 'PARENT'; @@ -293,10 +293,10 @@ limitations under the License. test('_computePatchDropdownContent', () => { const availablePatches = [ - {num: 'edit'}, - {num: 3}, - {num: 2}, - {num: 1}, + {num: 'edit', sha: '1'}, + {num: 3, sha: '2'}, + {num: 2, sha: '3'}, + {num: 1, sha: '4'}, ]; const basePatchNum = 1; const sortedRevisions = [ @@ -310,7 +310,7 @@ limitations under the License. { disabled: false, triggerText: 'edit', - text: 'edit', + text: 'edit | 1', mobileText: 'edit', bottomText: '', value: 'edit', @@ -318,7 +318,7 @@ limitations under the License. { disabled: false, triggerText: 'Patchset 3', - text: 'Patchset 3', + text: 'Patchset 3 | 2', mobileText: '3', bottomText: '', value: 3, @@ -327,7 +327,7 @@ limitations under the License. { disabled: false, triggerText: 'Patchset 2', - text: 'Patchset 2', + text: 'Patchset 2 | 3', mobileText: '2 description', bottomText: 'description', value: 2, @@ -335,7 +335,7 @@ limitations under the License. { disabled: true, triggerText: 'Patchset 1', - text: 'Patchset 1', + text: 'Patchset 1 | 4', mobileText: '1', bottomText: '', value: 1, diff --git a/tools/maven/api.sh b/tools/maven/api.sh index e72e3cbaee..c6049bf3db 100755 --- a/tools/maven/api.sh +++ b/tools/maven/api.sh @@ -60,7 +60,13 @@ if [[ "${VERBOSE:-x}" != "x" ]]; then set -o xtrace fi -bazel build //tools/maven:gen_${command} "$@" || \ - { echo "bazel failed to build gen_${command}. Use VERBOSE=1 for more info" ; exit 1 ; } +if [[ `which bazelisk` ]]; then + BAZEL_CMD=bazelisk +else + BAZEL_CMD=bazel +fi -./bazel-genfiles/tools/maven/${command}.sh +${BAZEL_CMD} build //tools/maven:gen_${command} "$@" || \ + { echo "${BAZEL_CMD} failed to build gen_${command}. Use VERBOSE=1 for more info" ; exit 1 ; } + +./bazel-bin/tools/maven/${command}.sh