Merge branch 'stable-3.0'

* stable-3.0:
  CreateProject: Add @UsedAt annotation
  ProjectConfig: Add @UsedAt annotation
  Use bazelisk as first choice for api.sh
  Change screen: Show abbreviated commit sha1 in patch set dropdown
  ProjectConfig: Add method to read from repository
  Remove buck related entries from .gitignore
  Replace references to bazel-genfiles with bazel-bin
  Set version to 2.14.21-SNAPSHOT

Change-Id: If9f126ab129ae2084a876e81fec81314c773f4e3
This commit is contained in:
David Pursehouse 2019-10-17 00:49:52 +09:00
commit a316857594
8 changed files with 79 additions and 52 deletions

1
.gitignore vendored
View File

@ -9,7 +9,6 @@
/.apt_generated
/.apt_generated_tests
/.bazel_path
/.buckd
/.classpath
/.factorypath
/.idea

View File

@ -69,7 +69,7 @@ bazel build plugins/<plugin-name>:<plugin-name>
The output can be normally found in the following directory:
----
bazel-genfiles/plugins/<plugin-name>/<plugin-name>.jar
bazel-bin/plugins/<plugin-name>/<plugin-name>.jar
----
Some plugins describe their build process in `src/main/resources/Documentation/build.md`

View File

@ -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;

View File

@ -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,
};
});
}

View File

@ -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);

View File

@ -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(

View File

@ -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,

View File

@ -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