Add support for tar.gz archive files to download from download_from_google_storage

Also, add support for directly setting the public read flag on uploaded files.

The support for tar.gz allows the uploaded bundle to be a single tar.gz file instead of a lot of individual files using the directory support already in. The benefit here is that it is much easier to update the dependency. Simply clean out the existing files, copy in the new ones, create a tar.gz file, with the same name as the directory + 'tar.gz'. If the directory name and file name does not match up we will not clean up existing artifacts on download (i.e., there can be left over files after extracting).

I am doing this because I am moving a bunch of the dart dependencies to gcs, and a lot of our dependencies is much easier to manage with this in. If you don't like this, I can simply wrap the download script in another python script and do the logic there, but this may be handy for other people as well.

Review URL: https://codereview.chromium.org/807463005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295872 0039d316-1c4b-4281-b951-d872f2087c98
4 files changed
tree: b7b9d14817b4d703c9cedddc954935e03dc98051
  1. .gitignore
  2. .style.yapf
  3. LICENSE
  4. OWNERS
  5. PRESUBMIT.py
  6. README
  7. README.codereview
  8. README.gclient
  9. README.git-cl
  10. README.testing
  11. WATCHLISTS
  12. annotated_gclient.py
  13. apply_issue
  14. apply_issue.bat
  15. apply_issue.py
  16. auth.py
  17. bootstrap/
  18. breakpad.py
  19. buildbucket.py
  20. checkout.py
  21. chrome-update-create-task.bat
  22. chrome-update.bat
  23. chrome-update.py
  24. clang-format
  25. clang-format.bat
  26. clang_format.py
  27. codereview.settings
  28. commit_queue
  29. commit_queue.bat
  30. commit_queue.py
  31. cpplint.bat
  32. cpplint.py
  33. cpplint_chromium.py
  34. create-chromium-git-src
  35. create-ntfs-junction.c
  36. create-ntfs-junction.exe
  37. dart_format.py
  38. depot-tools-auth
  39. depot-tools-auth.bat
  40. depot-tools-auth.py
  41. download_from_google_storage
  42. download_from_google_storage.bat
  43. download_from_google_storage.py
  44. drover
  45. drover.bat
  46. drover.py
  47. fetch
  48. fetch.bat
  49. fetch.py
  50. fix_encoding.py
  51. gcl
  52. gcl.bat
  53. gcl.py
  54. gclient
  55. gclient-new-workdir.py
  56. gclient.bat
  57. gclient.py
  58. gclient_completion.sh
  59. gclient_scm.py
  60. gclient_utils.py
  61. gerrit_util.py
  62. git-auto-svn
  63. git-cache
  64. git-cherry-pick-upload
  65. git-cl
  66. git-cl-upload-hook
  67. git-crrev-parse
  68. git-crsync
  69. git-crup
  70. git-footers
  71. git-freeze
  72. git-gs
  73. git-lkgr
  74. git-map
  75. git-map-branches
  76. git-mark-merge-base
  77. git-nav-downstream
  78. git-nav-upstream
  79. git-new-branch
  80. git-number
  81. git-rebase-update
  82. git-rename-branch
  83. git-reparent-branch
  84. git-retry
  85. git-runhooks
  86. git-squash-branch
  87. git-templates/
  88. git-thaw
  89. git-try
  90. git-upstream-diff
  91. git_auto_svn.py
  92. git_cache.py
  93. git_cherry_pick_upload.py
  94. git_cl.py
  95. git_common.py
  96. git_footers.py
  97. git_freezer.py
  98. git_map.py
  99. git_map_branches.py
  100. git_mark_merge_base.py
  101. git_nav_downstream.py
  102. git_new_branch.py
  103. git_number.py
  104. git_rebase_update.py
  105. git_rename_branch.py
  106. git_reparent_branch.py
  107. git_retry.py
  108. git_squash_branch.py
  109. git_try.py
  110. git_upstream_diff.py
  111. git_utils/
  112. gn
  113. gn.bat
  114. gn.py
  115. gsutil.py
  116. hammer
  117. hammer.bat
  118. infra/
  119. man/
  120. my_activity.py
  121. my_reviews.py
  122. ninja
  123. ninja-linux32
  124. ninja-linux64
  125. ninja-mac
  126. ninja.exe
  127. owners.py
  128. owners_finder.py
  129. patch.py
  130. presubmit_canned_checks.py
  131. presubmit_support.py
  132. profile.xml
  133. pylint
  134. pylint.py
  135. pylintrc
  136. python_git_runner.sh
  137. recipes/
  138. repo
  139. rietveld.py
  140. roll-dep
  141. roll-dep-svn
  142. roll-dep-svn.bat
  143. roll-dep.bat
  144. roll_dep.py
  145. roll_dep_svn.py
  146. scm.py
  147. subcommand.py
  148. subprocess2.py
  149. support/
  150. testing_support/
  151. tests/
  152. third_party/
  153. trychange.py
  154. update_depot_tools
  155. update_depot_tools.bat
  156. upload_to_google_storage.py
  157. watchlists.py
  158. weekly
  159. win_toolchain/
  160. wtf
  161. zsh-goodies/