Adapt the plugin to stable-3.3 branch Building with Java 11 is outside of the scope of this change. To verify this change the plugin API must be built with Java 8. Bug: Issue 13722 Change-Id: Ie9137190129f5ff264dc7363fa60fc218570897e
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java index 9c26310..870a13b 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/CreateProjectStep.java
@@ -13,13 +13,13 @@ // limitations under the License. package com.googlesource.gerrit.plugins.github.git; -import com.google.gerrit.common.data.AccessSection; -import com.google.gerrit.common.data.GroupDescription; -import com.google.gerrit.common.data.GroupReference; -import com.google.gerrit.common.data.Permission; -import com.google.gerrit.common.data.PermissionRule; +import com.google.gerrit.entities.AccessSection; import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.entities.BooleanProjectConfig; +import com.google.gerrit.entities.GroupDescription; +import com.google.gerrit.entities.GroupReference; +import com.google.gerrit.entities.Permission; +import com.google.gerrit.entities.PermissionRule; import com.google.gerrit.entities.Project; import com.google.gerrit.entities.Project.NameKey; import com.google.gerrit.extensions.client.InheritableBoolean; @@ -106,47 +106,54 @@ Permission.SUBMIT, Permission.REBASE); - PermissionRule reviewRange = new PermissionRule(getMyGroup()); - reviewRange.setMin(new Integer(-2)); - reviewRange.setMax(new Integer(+2)); - addPermission(CODE_REVIEW_REFS, Permission.LABEL + CODE_REVIEW_LABEL, reviewRange); + PermissionRule.Builder reviewRangeBuilder = PermissionRule.create(getMyGroup()).toBuilder(); + reviewRangeBuilder.setMin(-2).setMax(2); + addPermission( + CODE_REVIEW_REFS, Permission.LABEL + CODE_REVIEW_LABEL, reviewRangeBuilder.build()); - PermissionRule verifiedRange = new PermissionRule(getMyGroup()); - verifiedRange.setMin(new Integer(-1)); - verifiedRange.setMax(new Integer(+1)); - addPermission(CODE_REVIEW_REFS, Permission.LABEL + VERIFIED_LABEL, verifiedRange); + PermissionRule.Builder verifiedRangeBuilder = PermissionRule.create(getMyGroup()).toBuilder(); + verifiedRangeBuilder.setMin(-1).setMax(1); + addPermission( + CODE_REVIEW_REFS, Permission.LABEL + VERIFIED_LABEL, verifiedRangeBuilder.build()); addPermissions(AccessSection.HEADS, Permission.READ, Permission.CREATE, Permission.PUSH_MERGE); - PermissionRule forcePush = new PermissionRule(getMyGroup()); - forcePush.setForce(Boolean.TRUE); - addPermission(AccessSection.HEADS, Permission.PUSH, forcePush); + PermissionRule.Builder forcePushBuilder = PermissionRule.create(getMyGroup()).toBuilder(); + forcePushBuilder.setForce(true); + addPermission(AccessSection.HEADS, Permission.PUSH, forcePushBuilder.build()); addPermissions(TAGS_REFS, Permission.PUSH); - PermissionRule removeTag = new PermissionRule(getMyGroup()); - removeTag.setForce(Boolean.TRUE); - addPermission(TAGS_REFS, Permission.PUSH, removeTag); + PermissionRule.Builder removeTagBuilder = PermissionRule.create(getMyGroup()).toBuilder(); + removeTagBuilder.setForce(true); + addPermission(TAGS_REFS, Permission.PUSH, removeTagBuilder.build()); } private void addPermissions(String refSpec, String... permissions) { - AccessSection accessSection = projectConfig.getAccessSection(refSpec, true); - for (String permission : permissions) { - String[] permParts = permission.split("="); - String action = permParts[0]; - PermissionRule rule; - if (permParts.length > 1) { - rule = PermissionRule.fromString(permParts[1], true); - rule.setGroup(getMyGroup()); - } else { - rule = new PermissionRule(getMyGroup()); - } - accessSection.getPermission(action, true).add(rule); - } + projectConfig.upsertAccessSection( + refSpec, + as -> { + for (String permission : permissions) { + String[] permParts = permission.split("="); + String action = permParts[0]; + PermissionRule.Builder ruleBuilder; + if (permParts.length > 1) { + ruleBuilder = + PermissionRule.fromString(permParts[1], true).toBuilder().setGroup(getMyGroup()); + } else { + ruleBuilder = PermissionRule.builder(getMyGroup()); + } + as.upsertPermission(action).add(ruleBuilder); + } + }); } private void addPermission(String refSpec, String action, PermissionRule rule) { - projectConfig.getAccessSection(refSpec, true).getPermission(action, true).add(rule); + projectConfig.upsertAccessSection( + refSpec, + as -> { + as.upsertPermission(action).add(rule.toBuilder()); + }); } private GroupReference getMyGroup() { @@ -181,15 +188,17 @@ } private void setProjectSettings() { - Project project = projectConfig.getProject(); - project.setParentName(config.getBaseProject(getRepository().isPrivate())); - project.setDescription(description); - project.setSubmitType(SubmitType.MERGE_IF_NECESSARY); - project.setBooleanConfig( - BooleanProjectConfig.USE_CONTRIBUTOR_AGREEMENTS, InheritableBoolean.INHERIT); - project.setBooleanConfig(BooleanProjectConfig.USE_SIGNED_OFF_BY, InheritableBoolean.INHERIT); - project.setBooleanConfig(BooleanProjectConfig.USE_CONTENT_MERGE, InheritableBoolean.INHERIT); - project.setBooleanConfig(BooleanProjectConfig.REQUIRE_CHANGE_ID, InheritableBoolean.INHERIT); + projectConfig.updateProject( + b -> { + b.setParent(config.getBaseProject(getRepository().isPrivate())); + b.setDescription(description); + b.setSubmitType(SubmitType.MERGE_IF_NECESSARY); + b.setBooleanConfig( + BooleanProjectConfig.USE_CONTRIBUTOR_AGREEMENTS, InheritableBoolean.INHERIT); + b.setBooleanConfig(BooleanProjectConfig.USE_SIGNED_OFF_BY, InheritableBoolean.INHERIT); + b.setBooleanConfig(BooleanProjectConfig.USE_CONTENT_MERGE, InheritableBoolean.INHERIT); + b.setBooleanConfig(BooleanProjectConfig.REQUIRE_CHANGE_ID, InheritableBoolean.INHERIT); + }); } @Override
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java index 296a3f2..ba9581c 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroup.java
@@ -14,8 +14,8 @@ package com.googlesource.gerrit.plugins.github.group; -import com.google.gerrit.common.data.GroupDescription.Basic; import com.google.gerrit.entities.AccountGroup.UUID; +import com.google.gerrit.entities.GroupDescription.Basic; import lombok.Getter; public abstract class GitHubGroup implements Basic {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java index 1a6d0ac..21d6732 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubGroupBackend.java
@@ -21,10 +21,10 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; -import com.google.gerrit.common.data.GroupDescription.Basic; -import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.entities.AccountGroup.UUID; +import com.google.gerrit.entities.GroupDescription.Basic; +import com.google.gerrit.entities.GroupReference; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.account.GroupBackend; import com.google.gerrit.server.account.GroupMembership;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java index e9c930c..604ecde 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubOrganisationGroup.java
@@ -17,10 +17,10 @@ import static com.google.common.base.Preconditions.checkArgument; import com.google.gerrit.common.Nullable; -import com.google.gerrit.common.data.GroupDescription.Basic; -import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.entities.AccountGroup.UUID; +import com.google.gerrit.entities.GroupDescription.Basic; +import com.google.gerrit.entities.GroupReference; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; @@ -54,6 +54,6 @@ } public static GroupReference groupReference(String orgName) { - return new GroupReference(uuid(orgName), NAME_PREFIX + orgName); + return GroupReference.create(uuid(orgName), NAME_PREFIX + orgName); } }
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java index ba0d3d3..022b407 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/group/GitHubTeamGroup.java
@@ -15,9 +15,9 @@ package com.googlesource.gerrit.plugins.github.group; import com.google.gerrit.common.Nullable; -import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.entities.AccountGroup.UUID; +import com.google.gerrit.entities.GroupReference; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; @@ -52,7 +52,7 @@ } public static GroupReference groupReference(GroupReference orgReference, String teamName) { - return new GroupReference( + return GroupReference.create( uuid(orgReference.getUUID(), teamName), orgReference.getName() + "/" + teamName); } }
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java index 29c7031..2e5528a 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/Destination.java
@@ -17,8 +17,8 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; -import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.entities.AccountGroup; +import com.google.gerrit.entities.GroupReference; import com.google.gerrit.entities.Project; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.PluginUser;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java index f80af85..26def83 100644 --- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java +++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/RemoteSiteUser.java
@@ -35,9 +35,4 @@ public GroupMembership getEffectiveGroups() { return effectiveGroups; } - - @Override - public Object getCacheKey() { - return effectiveGroups.getKnownGroups(); - } }