Use gsutil.py for download_from_google_storage instead of the builtin one
This pins gsutil to a vanilla 4.7 instead of the weird custom 3.4 we have in depot_tools
BUG=
R=pgervais@chromium.org
Review URL: https://codereview.chromium.org/797663003
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293413 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/download_from_google_storage.py b/download_from_google_storage.py
index 999ef72..f73b3bd 100755
--- a/download_from_google_storage.py
+++ b/download_from_google_storage.py
@@ -20,8 +20,7 @@
GSUTIL_DEFAULT_PATH = os.path.join(
- os.path.dirname(os.path.abspath(__file__)),
- 'third_party', 'gsutil', 'gsutil')
+ os.path.dirname(os.path.abspath(__file__)), 'gsutil.py')
# Maps sys.platform to what we actually want to call them.
PLATFORM_MAPPING = {
'cygwin': 'win',
@@ -55,13 +54,13 @@
class Gsutil(object):
"""Call gsutil with some predefined settings. This is a convenience object,
and is also immutable."""
- def __init__(self, path, boto_path, timeout=None, bypass_prodaccess=False):
+ def __init__(self, path, boto_path, timeout=None, version='4.7'):
if not os.path.exists(path):
raise FileNotFoundError('GSUtil not found in %s' % path)
self.path = path
self.timeout = timeout
self.boto_path = boto_path
- self.bypass_prodaccess = bypass_prodaccess
+ self.version = version
def get_sub_env(self):
env = os.environ.copy()
@@ -80,16 +79,12 @@
return env
def call(self, *args):
- cmd = [sys.executable, self.path]
- if self.bypass_prodaccess:
- cmd.append('--bypass_prodaccess')
+ cmd = [sys.executable, self.path, '--force-version', self.version]
cmd.extend(args)
return subprocess2.call(cmd, env=self.get_sub_env(), timeout=self.timeout)
def check_call(self, *args):
- cmd = [sys.executable, self.path]
- if self.bypass_prodaccess:
- cmd.append('--bypass_prodaccess')
+ cmd = [sys.executable, self.path, '--force-version', self.version]
cmd.extend(args)
((out, err), code) = subprocess2.communicate(
cmd,
@@ -237,7 +232,7 @@
if os.path.exists(output_filename):
out_q.put('%d> Warning: deleting %s failed.' % (
thread_num, output_filename))
- code, _, err = gsutil.check_call('cp', '-q', file_url, output_filename)
+ code, _, err = gsutil.check_call('cp', file_url, output_filename)
if code != 0:
out_q.put('%d> %s' % (thread_num, err))
ret_codes.put((code, err))
@@ -398,8 +393,7 @@
# Make sure gsutil exists where we expect it to.
if os.path.exists(GSUTIL_DEFAULT_PATH):
gsutil = Gsutil(GSUTIL_DEFAULT_PATH,
- boto_path=options.boto,
- bypass_prodaccess=options.no_auth)
+ boto_path=options.boto)
else:
parser.error('gsutil not found in %s, bad depot_tools checkout?' %
GSUTIL_DEFAULT_PATH)
diff --git a/git_cache.py b/git_cache.py
index eac2093..19c10dd 100755
--- a/git_cache.py
+++ b/git_cache.py
@@ -276,7 +276,7 @@
python_fallback = True
gs_folder = 'gs://%s/%s' % (self.bootstrap_bucket, self.basedir)
- gsutil = Gsutil(self.gsutil_exe, boto_path=None, bypass_prodaccess=True)
+ gsutil = Gsutil(self.gsutil_exe, boto_path=None)
# Get the most recent version of the zipfile.
_, ls_out, _ = gsutil.check_call('ls', gs_folder)
ls_out_sorted = sorted(ls_out.splitlines())
diff --git a/upload_to_google_storage.py b/upload_to_google_storage.py
index 5703713..75db417 100755
--- a/upload_to_google_storage.py
+++ b/upload_to_google_storage.py
@@ -19,10 +19,7 @@
from download_from_google_storage import get_sha1
from download_from_google_storage import Gsutil
from download_from_google_storage import printer_worker
-
-GSUTIL_DEFAULT_PATH = os.path.join(
- os.path.dirname(os.path.abspath(__file__)),
- 'third_party', 'gsutil', 'gsutil')
+from download_from_google_storage import GSUTIL_DEFAULT_PATH
USAGE_STRING = """%prog [options] target [target2 ...].
Target is the file intended to be uploaded to Google Storage.
@@ -96,7 +93,7 @@
continue
stdout_queue.put('%d> Uploading %s...' % (
thread_num, filename))
- code, _, err = gsutil.check_call('cp', '-q', filename, file_url)
+ code, _, err = gsutil.check_call('cp', filename, file_url)
if code != 0:
ret_codes.put(
(code,
@@ -234,8 +231,7 @@
# Make sure we can find a working instance of gsutil.
if os.path.exists(GSUTIL_DEFAULT_PATH):
- gsutil = Gsutil(GSUTIL_DEFAULT_PATH, boto_path=options.boto,
- bypass_prodaccess=True)
+ gsutil = Gsutil(GSUTIL_DEFAULT_PATH, boto_path=options.boto)
else:
gsutil = None
for path in os.environ["PATH"].split(os.pathsep):