diff options
author | Patrick Hiesel <hiesel@google.com> | 2021-08-05 15:13:29 +0200 |
---|---|---|
committer | Patrick Hiesel <hiesel@google.com> | 2021-08-05 15:13:51 +0200 |
commit | 67ca21031d84b47002f167305e9f90d1be7b0333 (patch) | |
tree | 992163aad171000c9fc062993c8c03b78a95c099 | |
parent | 6f14107ef5a70b4500a43dbcda99b85f1a299afa (diff) | |
parent | 2c23004e5ac569194e627dc065b744f7fb5dfb64 (diff) |
Merge branch 'stable-3.1' into stable-3.1-2021-07
* stable-3.1:
ProjectOperations: Add method to wipe all access sections
Migrate to python 3
Change-Id: I610b2940a5e2bee716568529be745d63fa407bdd
-rw-r--r-- | .bazelrc | 2 | ||||
-rw-r--r-- | Documentation/dev-bazel.txt | 2 | ||||
-rwxr-xr-x | Documentation/replace_macros.py | 2 | ||||
-rwxr-xr-x | contrib/check-valid-commit.py | 2 | ||||
-rwxr-xr-x | contrib/git-push-review | 2 | ||||
-rwxr-xr-x | contrib/populate-fixture-data.py | 2 | ||||
-rw-r--r-- | java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java | 3 | ||||
-rw-r--r-- | java/com/google/gerrit/acceptance/testsuite/project/TestProjectUpdate.java | 15 | ||||
-rw-r--r-- | javatests/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImplTest.java | 9 | ||||
-rw-r--r-- | tools/bzl/js.bzl | 10 | ||||
-rw-r--r-- | tools/bzl/license-map.py | 2 | ||||
-rw-r--r-- | tools/bzl/license.bzl | 2 | ||||
-rw-r--r-- | tools/bzl/maven_jar.bzl | 2 | ||||
-rwxr-xr-x | tools/download_file.py | 2 | ||||
-rwxr-xr-x | tools/eclipse/project.py | 2 | ||||
-rwxr-xr-x | tools/js/download_bower.py | 2 | ||||
-rwxr-xr-x | tools/js/npm_pack.py | 2 | ||||
-rw-r--r-- | tools/js/run_npm_binary.py | 2 | ||||
-rwxr-xr-x | tools/maven/mvn.py | 2 | ||||
-rw-r--r-- | tools/util_test.py | 2 | ||||
-rwxr-xr-x | tools/version.py | 2 | ||||
-rw-r--r-- | tools/workspace_status.py | 2 | ||||
-rw-r--r-- | tools/workspace_status_release.py | 10 |
23 files changed, 54 insertions, 29 deletions
@@ -1,4 +1,4 @@ -build --workspace_status_command="python ./tools/workspace_status.py" --strategy=Closure=worker +build --workspace_status_command="python3 ./tools/workspace_status.py" --strategy=Closure=worker build --repository_cache=~/.gerritcodereview/bazel-cache/repository build --action_env=PATH build --disk_cache=~/.gerritcodereview/bazel-cache/cas diff --git a/Documentation/dev-bazel.txt b/Documentation/dev-bazel.txt index 2a8b7c17f0..10ee7616bc 100644 --- a/Documentation/dev-bazel.txt +++ b/Documentation/dev-bazel.txt @@ -7,7 +7,7 @@ To build Gerrit from source, you need: * A Linux or macOS system (Windows is not supported at this time) * A JDK for Java 8|9|10|11|... -* Python 2 or 3 +* Python 3 * link:https://github.com/nodesource/distributions/blob/master/README.md[Node.js (including npm)] * Bower (`sudo npm install -g bower`) * link:https://docs.bazel.build/versions/master/install.html[Bazel] -launched with diff --git a/Documentation/replace_macros.py b/Documentation/replace_macros.py index aaa9223bf0..f2702313db 100755 --- a/Documentation/replace_macros.py +++ b/Documentation/replace_macros.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # coding=utf-8 # Copyright (C) 2013 The Android Open Source Project # diff --git a/contrib/check-valid-commit.py b/contrib/check-valid-commit.py index 763ae3e062..bb018f9bcf 100755 --- a/contrib/check-valid-commit.py +++ b/contrib/check-valid-commit.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import print_function diff --git a/contrib/git-push-review b/contrib/git-push-review index b995fc25a6..5a7f664bf3 100755 --- a/contrib/git-push-review +++ b/contrib/git-push-review @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2014 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/contrib/populate-fixture-data.py b/contrib/populate-fixture-data.py index 4c6769cf3e..e51e29d0eb 100755 --- a/contrib/populate-fixture-data.py +++ b/contrib/populate-fixture-data.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java b/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java index 7797fe0153..62a560b7a8 100644 --- a/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java +++ b/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java @@ -135,6 +135,9 @@ public class ProjectOperationsImpl implements ProjectOperations { throws IOException, ConfigInvalidException { try (MetaDataUpdate metaDataUpdate = metaDataUpdateFactory.create(nameKey)) { ProjectConfig projectConfig = projectConfigFactory.read(metaDataUpdate); + if (projectUpdate.removeAllAccessSections()) { + projectConfig.getAccessSections().forEach(as -> projectConfig.remove(as)); + } removePermissions(projectConfig, projectUpdate.removedPermissions()); addCapabilities(projectConfig, projectUpdate.addedCapabilities()); addPermissions(projectConfig, projectUpdate.addedPermissions()); diff --git a/java/com/google/gerrit/acceptance/testsuite/project/TestProjectUpdate.java b/java/com/google/gerrit/acceptance/testsuite/project/TestProjectUpdate.java index 734854b041..739ed19bf5 100644 --- a/java/com/google/gerrit/acceptance/testsuite/project/TestProjectUpdate.java +++ b/java/com/google/gerrit/acceptance/testsuite/project/TestProjectUpdate.java @@ -294,7 +294,8 @@ public abstract class TestProjectUpdate { return new AutoValue_TestProjectUpdate.Builder() .nameKey(nameKey) .allProjectsName(allProjectsName) - .projectUpdater(projectUpdater); + .projectUpdater(projectUpdater) + .removeAllAccessSections(false); } /** Builder for {@link TestProjectUpdate}. */ @@ -314,6 +315,16 @@ public abstract class TestProjectUpdate { abstract ImmutableMap.Builder<TestPermissionKey, Boolean> exclusiveGroupPermissionsBuilder(); + abstract Builder removeAllAccessSections(boolean value); + + /** + * Removes all access sections. Useful when testing against a specific set of access sections or + * permissions. + */ + public Builder removeAllAccessSections() { + return removeAllAccessSections(true); + } + /** Adds a permission to be included in this update. */ public Builder add(TestPermission testPermission) { addedPermissionsBuilder().add(testPermission); @@ -418,6 +429,8 @@ public abstract class TestProjectUpdate { abstract ThrowingConsumer<TestProjectUpdate> projectUpdater(); + abstract boolean removeAllAccessSections(); + boolean hasCapabilityUpdates() { return !addedCapabilities().isEmpty() || removedPermissions().stream().anyMatch(k -> k.section().equals(GLOBAL_CAPABILITIES)); diff --git a/javatests/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImplTest.java b/javatests/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImplTest.java index c7a8eb6eaa..2a445711d5 100644 --- a/javatests/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImplTest.java +++ b/javatests/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImplTest.java @@ -562,6 +562,15 @@ public class ProjectOperationsImplTest extends AbstractDaemonTest { } @Test + public void removeAllAccessSections() { + projectOperations.allProjectsForUpdate().removeAllAccessSections().update(); + + assertThat(projectOperations.project(allProjects).getConfig()) + .sectionValues("access") + .isEmpty(); + } + + @Test public void updatingCapabilitiesNotAllowedForNonAllProjects() throws Exception { Project.NameKey key = projectOperations.newProject().create(); assertThrows( diff --git a/tools/bzl/js.bzl b/tools/bzl/js.bzl index b428a2d903..9baa30c156 100644 --- a/tools/bzl/js.bzl +++ b/tools/bzl/js.bzl @@ -26,7 +26,7 @@ def _npm_binary_impl(ctx): else: fail("repository %s not in {%s,%s}" % (repository, GERRIT, NPMJS)) - python = ctx.which("python") + python = ctx.which("python3") script = ctx.path(ctx.attr._download_script) args = [python, script, "-o", dest, "-u", url, "-v", sha1] @@ -49,7 +49,7 @@ ComponentInfo = provider() # for use in repo rules. def _run_npm_binary_str(ctx, tarball, args): - python_bin = ctx.which("python") + python_bin = ctx.which("python3") return " ".join([ str(python_bin), str(ctx.path(ctx.attr._run_npm)), @@ -63,7 +63,7 @@ def _bower_archive(ctx): version_name = "%s__version.json" % ctx.name cmd = [ - ctx.which("python"), + ctx.which("python3"), ctx.path(ctx.attr._download_bower), "-b", "%s" % _run_npm_binary_str(ctx, ctx.attr._bower_archive, []), @@ -318,7 +318,7 @@ def _bundle_impl(ctx): app_path = app_path[app_path.index(pkg_dir) + len(pkg_dir):] hermetic_npm_binary = " ".join([ - "python", + "python3", "$p/" + ctx.file._run_npm.path, "$p/" + ctx.file._bundler_archive.path, "--inline-scripts", @@ -369,7 +369,7 @@ def _bundle_impl(ctx): if ctx.attr.split: hermetic_npm_command = "export PATH && " + " ".join([ - "python", + "python3", ctx.file._run_npm.path, ctx.file._crisper_archive.path, "--script-in-head=false", diff --git a/tools/bzl/license-map.py b/tools/bzl/license-map.py index 2779130f47..e23331852d 100644 --- a/tools/bzl/license-map.py +++ b/tools/bzl/license-map.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # reads bazel query XML files, to join target names with their licenses. diff --git a/tools/bzl/license.bzl b/tools/bzl/license.bzl index 5a6bf7fa63..ec89c41608 100644 --- a/tools/bzl/license.bzl +++ b/tools/bzl/license.bzl @@ -25,7 +25,7 @@ def license_map(name, targets = [], opts = [], **kwargs): # post process the XML into our favorite format. native.genrule( name = "gen_license_txt_" + name, - cmd = "python $(location //tools/bzl:license-map.py) %s %s > $@" % (" ".join(opts), " ".join(xmls)), + cmd = "python3 $(location //tools/bzl:license-map.py) %s %s > $@" % (" ".join(opts), " ".join(xmls)), outs = [name + ".gen.txt"], tools = tools, **kwargs diff --git a/tools/bzl/maven_jar.bzl b/tools/bzl/maven_jar.bzl index 5bc181b24a..fa7fbf78e8 100644 --- a/tools/bzl/maven_jar.bzl +++ b/tools/bzl/maven_jar.bzl @@ -154,7 +154,7 @@ def _maven_jar_impl(ctx): binjar_path = ctx.path("/".join(["jar", binjar])) binurl = url + ".jar" - python = ctx.which("python") + python = ctx.which("python3") script = ctx.path(ctx.attr._download_script) args = [python, script, "-o", binjar_path, "-u", binurl] diff --git a/tools/download_file.py b/tools/download_file.py index 936bcef32c..2af2c0722c 100755 --- a/tools/download_file.py +++ b/tools/download_file.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2013 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/eclipse/project.py b/tools/eclipse/project.py index 9915a6e213..77dc226fd7 100755 --- a/tools/eclipse/project.py +++ b/tools/eclipse/project.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/js/download_bower.py b/tools/js/download_bower.py index d541b565a9..2a75fc16ed 100755 --- a/tools/js/download_bower.py +++ b/tools/js/download_bower.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/js/npm_pack.py b/tools/js/npm_pack.py index 57f31661c5..33b38a0280 100755 --- a/tools/js/npm_pack.py +++ b/tools/js/npm_pack.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/js/run_npm_binary.py b/tools/js/run_npm_binary.py index bdee5ab489..31f8a54113 100644 --- a/tools/js/run_npm_binary.py +++ b/tools/js/run_npm_binary.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/maven/mvn.py b/tools/maven/mvn.py index 60e9f15608..4ed5bf95d5 100755 --- a/tools/maven/mvn.py +++ b/tools/maven/mvn.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2013 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/util_test.py b/tools/util_test.py index 1a389f552c..ab1133b22e 100644 --- a/tools/util_test.py +++ b/tools/util_test.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2013 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/version.py b/tools/version.py index 2326757a05..d02fc26c76 100755 --- a/tools/version.py +++ b/tools/version.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # Copyright (C) 2014 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tools/workspace_status.py b/tools/workspace_status.py index 86df519ed5..0dc4a48bfe 100644 --- a/tools/workspace_status.py +++ b/tools/workspace_status.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # This script will be run by bazel when the build process starts to # generate key-value information that represents the status of the diff --git a/tools/workspace_status_release.py b/tools/workspace_status_release.py index 36535fb70f..b3e72ff76a 100644 --- a/tools/workspace_status_release.py +++ b/tools/workspace_status_release.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # This is a variant of the `workspace_status.py` script that in addition to # plain `git describe` implements a few heuristics to arrive at more to the @@ -9,7 +9,7 @@ # # To use it, simply add # -# --workspace_status_command="python ./tools/workspace_status_release.py" +# --workspace_status_command="python3 ./tools/workspace_status_release.py" # # to your bazel command. So for example instead of # @@ -17,11 +17,11 @@ # # use # -# bazel build --workspace_status_command="python ./tools/workspace_status_release.py" release.war +# bazel build --workspace_status_command="python3 ./tools/workspace_status_release.py" release.war # # Alternatively, you can add # -# build --workspace_status_command="python ./tools/workspace_status_release.py" +# build --workspace_status_command="python3 ./tools/workspace_status_release.py" # # to `.bazelrc` in your home directory. # @@ -150,7 +150,7 @@ def print_stamps_for_cwd(name, template): 'tools', 'workspace_status_release.py') if os.path.isfile(workspace_status_script): # directory has own workspace_status_command, so we use stamps from that - for line in run(["python", workspace_status_script]).split('\n'): + for line in run(["python3", workspace_status_script]).split('\n'): if re.search("^STABLE_[a-zA-Z0-9().:@/_ -]*$", line): print(line) else: |