This change establishes Python 3 compatibility for the major part of
Gerrit build tool chain. Only two scripts remain non Python 3
compatible:
* Documentation/replace_macros.py
* tools/bzl/license-map.py
Those scripts explicitly invoked with python2 version.
Test Plan:
a. Python 2.7
* Switch to system where /usr/bin/python points to Python 2.7
* bazel build release
* bazel test //...
* tools/eclipse/project.py
b. Python 3.6
* Switch to system where /usr/bin/python points to Python 3.6
* bazel build release
* bazel test //...
* tools/eclipse/project.py
Pre-requisites for the test plan:
In case bazel action and repository caching is activated on the SUT, the
caches would need to be wiped out, to make sure that the complete build
tool chain was tested. On my system I had to run these commands:
* bazel clean --expunge_async
* rm -rf ~/.gerritcodereview/buck-cache/downloaded-artifacts/*
* rm -rf ~/.gerritcodereview/bazel-cache/cas/*
* rm -rf ~/.gerritcodereview/bazel-cache/repository/*
Bug: Issue 8151
Change-Id: Iece59d0c5149b77a02754b3fed4ce84d5d8085ee
(cherry picked from commit 0c9e13c11a9a0facd1538d6e5b45b02a90db5ab3)
Contrary to our experience with bower, not all packages on
registry.npmjs.org come with dependencies bundled. This script
produces a tarball with bundled dependencies which can be hosted on
the Gerrit GCS bucket and used as an npm_binary.
Change-Id: I2403c7f0acf759be2508b845d1f359cdf6a65e4e