summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2022-02-14 19:11:27 +0100
committerDavid Ostrovsky <david@ostrovsky.org>2022-02-15 06:57:10 +0100
commitd9aa1bc8b5f943e3749c297f50998062f85c5380 (patch)
tree8f04cafc97936681aad66692e1470ccc33cd6bcc
parent874181661e50c150077cf1c47a09ec19e1f7ccb7 (diff)
parent9f50c7e84a6f774db779552c922c4e5824b0a408 (diff)
Merge branch 'stable-3.3' into stable-3.4
* stable-3.3: Fix gerrit ls-members --recursive Fix gerrit ls-groups flag in documentation Bazel: Use Java 8 per default to guarantee source level compatibility Release-Notes: skip Change-Id: I6501e5fbeb13c35c4e40efdf2d1420c9d4425a62
-rw-r--r--.bazelrc4
-rw-r--r--Documentation/cmd-ls-groups.txt6
-rw-r--r--Documentation/dev-bazel.txt7
-rw-r--r--java/com/google/gerrit/server/restapi/group/ListMembers.java19
-rw-r--r--java/com/google/gerrit/sshd/commands/ListMembersCommand.java2
5 files changed, 25 insertions, 13 deletions
diff --git a/.bazelrc b/.bazelrc
index b4eafb1b2e..41179940a6 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -2,7 +2,7 @@ build --workspace_status_command="python3 ./tools/workspace_status.py"
build --repository_cache=~/.gerritcodereview/bazel-cache/repository
build --action_env=PATH
build --disk_cache=~/.gerritcodereview/bazel-cache/cas
-build --java_toolchain=//tools:error_prone_warnings_toolchain_java11
+build --java_toolchain=//tools:error_prone_warnings_toolchain
# Enable strict_action_env flag to. For more information on this feature see
# https://groups.google.com/forum/#!topic/bazel-discuss/_VmRfMyyHBk.
@@ -15,6 +15,6 @@ build --announce_rc
test --build_tests_only
test --test_output=errors
-test --java_toolchain=//tools:error_prone_warnings_toolchain_java11
+test --java_toolchain=//tools:error_prone_warnings_toolchain
import %workspace%/tools/remote-bazelrc
diff --git a/Documentation/cmd-ls-groups.txt b/Documentation/cmd-ls-groups.txt
index 8a4845c263..0a06c28abe 100644
--- a/Documentation/cmd-ls-groups.txt
+++ b/Documentation/cmd-ls-groups.txt
@@ -11,7 +11,7 @@ _ssh_ -p <port> <host> _gerrit ls-groups_
[--user <NAME> | -u <NAME>]
[--owned]
[--visible-to-all]
- [-q <GROUP>]
+ [-g <GROUP>]
[--verbose | -v]
--
@@ -67,8 +67,8 @@ This option can't be used together with the '--project' option.
(groups that are explicitly marked as visible to all registered
users).
--q::
- Group that should be inspected. The `-q` option can be specified
+-g::
+ Group that should be inspected. The `-g` option can be specified
multiple times to define several groups to be inspected. If
specified the listed groups will only contain groups that were
specified to be inspected. This is e.g. useful in combination with
diff --git a/Documentation/dev-bazel.txt b/Documentation/dev-bazel.txt
index 98ca9a4f04..c05d3f4abb 100644
--- a/Documentation/dev-bazel.txt
+++ b/Documentation/dev-bazel.txt
@@ -55,17 +55,16 @@ Java 8 is a legacy Java release and support for Java 8 will be discontinued
in future gerrit releases. To build Gerrit with Java 8 language level, run:
```
- $ bazel build --java_toolchain //tools:error_prone_warnings_toolchain :release
+ $ bazel build :release
```
[[java-11]]
==== Java 11 support
-Java language level 11 is the default. To build Gerrit with Java 11 language
-level, run:
+To build Gerrit with Java 11 language level, run:
```
- $ bazel build :release
+ $ bazel build --java_toolchain=//tools:error_prone_warnings_toolchain_java11 :release
```
[[java-13]]
diff --git a/java/com/google/gerrit/server/restapi/group/ListMembers.java b/java/com/google/gerrit/server/restapi/group/ListMembers.java
index 218eb98056..22870c13d8 100644
--- a/java/com/google/gerrit/server/restapi/group/ListMembers.java
+++ b/java/com/google/gerrit/server/restapi/group/ListMembers.java
@@ -80,13 +80,18 @@ public class ListMembers implements RestReadView<GroupResource> {
throws PermissionBackendException {
Optional<InternalGroup> group = groupCache.get(groupUuid);
if (group.isPresent()) {
- InternalGroupDescription internalGroup = new InternalGroupDescription(group.get());
- GroupControl groupControl = groupControlFactory.controlFor(internalGroup);
- return getTransitiveMembers(internalGroup, groupControl);
+ return getTransitiveMembers(group.get());
}
return ImmutableList.of();
}
+ public List<AccountInfo> getTransitiveMembers(InternalGroup group)
+ throws PermissionBackendException {
+ InternalGroupDescription internalGroup = new InternalGroupDescription(group);
+ GroupControl groupControl = groupControlFactory.controlFor(internalGroup);
+ return getTransitiveMembers(internalGroup, groupControl);
+ }
+
private List<AccountInfo> getTransitiveMembers(
GroupDescription.Internal group, GroupControl groupControl)
throws PermissionBackendException {
@@ -110,6 +115,14 @@ public class ListMembers implements RestReadView<GroupResource> {
return toAccountInfos(directMembers);
}
+ protected List<AccountInfo> getMembers(InternalGroup group) throws PermissionBackendException {
+ if (recursive) {
+ return getTransitiveMembers(group);
+ } else {
+ return getDirectMembers(group);
+ }
+ }
+
private List<AccountInfo> toAccountInfos(Set<Account.Id> members)
throws PermissionBackendException {
AccountLoader accountLoader = accountLoaderFactory.create(true);
diff --git a/java/com/google/gerrit/sshd/commands/ListMembersCommand.java b/java/com/google/gerrit/sshd/commands/ListMembersCommand.java
index 45c6a35078..fd186563e1 100644
--- a/java/com/google/gerrit/sshd/commands/ListMembersCommand.java
+++ b/java/com/google/gerrit/sshd/commands/ListMembersCommand.java
@@ -80,7 +80,7 @@ public class ListMembersCommand extends SshCommand {
return;
}
- List<AccountInfo> members = getDirectMembers(group.get());
+ List<AccountInfo> members = getMembers(group.get());
ColumnFormatter formatter = new ColumnFormatter(writer, '\t');
formatter.addColumn("id");
formatter.addColumn("username");