OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a |
5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. |
6 | 6 |
7 import hashlib | 7 import hashlib |
8 import imp | 8 import imp |
9 import os | 9 import os |
10 import platform | 10 import platform |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
162 self.release_type, revision, name) | 162 self.release_type, revision, name) |
163 | 163 |
164 # Functions for quering filenames | 164 # Functions for quering filenames |
165 | 165 |
166 def dartium_android_apk_filename(self, name, arch, mode): | 166 def dartium_android_apk_filename(self, name, arch, mode): |
167 return '%s-%s-%s.apk' % (name, arch, mode) | 167 return '%s-%s-%s.apk' % (name, arch, mode) |
168 | 168 |
169 def apidocs_zipfilename(self): | 169 def apidocs_zipfilename(self): |
170 return 'dart-api-docs.zip' | 170 return 'dart-api-docs.zip' |
171 | 171 |
172 def dartdocs_zipfilename(self): | |
173 return 'dartdocs-gen-api.zip' | |
174 | |
172 def editor_zipfilename(self, system, arch): | 175 def editor_zipfilename(self, system, arch): |
173 return 'darteditor-%s-%s.zip' % ( | 176 return 'darteditor-%s-%s.zip' % ( |
174 SYSTEM_RENAMES[system], ARCH_RENAMES[arch]) | 177 SYSTEM_RENAMES[system], ARCH_RENAMES[arch]) |
175 | 178 |
176 def editor_android_zipfilename(self): | 179 def editor_android_zipfilename(self): |
177 return 'android.zip' | 180 return 'android.zip' |
178 | 181 |
179 def editor_installer_filename(self, system, arch, extension): | 182 def editor_installer_filename(self, system, arch, extension): |
180 assert extension in ['dmg', 'msi'] | 183 assert extension in ['dmg', 'msi'] |
181 return 'darteditor-installer-%s-%s.%s' % ( | 184 return 'darteditor-installer-%s-%s.%s' % ( |
(...skipping 14 matching lines...) Expand all Loading... | |
196 def __init__(self, channel=Channel.BLEEDING_EDGE): | 199 def __init__(self, channel=Channel.BLEEDING_EDGE): |
197 assert channel in Channel.ALL_CHANNELS | 200 assert channel in Channel.ALL_CHANNELS |
198 | 201 |
199 self.channel = channel | 202 self.channel = channel |
200 self.bucket = 'gs://dartlang-api-docs' | 203 self.bucket = 'gs://dartlang-api-docs' |
201 | 204 |
202 def docs_dirpath(self, revision): | 205 def docs_dirpath(self, revision): |
203 assert len('%s' % revision) > 0 | 206 assert len('%s' % revision) > 0 |
204 return '%s/channels/%s/%s' % (self.bucket, self.channel, revision) | 207 return '%s/channels/%s/%s' % (self.bucket, self.channel, revision) |
205 | 208 |
209 def dartdocs_dirpath(self, revision): | |
210 assert len('%s' % revision) > 0 | |
211 return '%s/gen-dartdocs/%s' % (self.bucket, revision) | |
ricow1
2015/06/11 15:51:50
Why don't you want to put this under channels?, I
keertip
2015/06/11 18:10:09
Done.
| |
212 | |
206 def docs_latestpath(self, revision): | 213 def docs_latestpath(self, revision): |
207 assert len('%s' % revision) > 0 | 214 assert len('%s' % revision) > 0 |
208 return '%s/channels/%s/latest.txt' % (self.bucket, self.channel) | 215 return '%s/channels/%s/latest.txt' % (self.bucket, self.channel) |
209 | 216 |
210 def run(command, env=None, shell=False, throw_on_error=True): | 217 def run(command, env=None, shell=False, throw_on_error=True): |
211 print "Running command: ", command | 218 print "Running command: ", command |
212 | 219 |
213 p = subprocess.Popen(command, stdout=subprocess.PIPE, | 220 p = subprocess.Popen(command, stdout=subprocess.PIPE, |
214 stderr=subprocess.PIPE, env=env, shell=shell) | 221 stderr=subprocess.PIPE, env=env, shell=shell) |
215 (stdout, stderr) = p.communicate() | 222 (stdout, stderr) = p.communicate() |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
271 | 278 |
272 if GSUtil.GSUTIL_IS_SHELL_SCRIPT: | 279 if GSUtil.GSUTIL_IS_SHELL_SCRIPT: |
273 gsutil_command = [GSUtil.GSUTIL_PATH] | 280 gsutil_command = [GSUtil.GSUTIL_PATH] |
274 else: | 281 else: |
275 gsutil_command = [sys.executable, GSUtil.GSUTIL_PATH] | 282 gsutil_command = [sys.executable, GSUtil.GSUTIL_PATH] |
276 | 283 |
277 return run(gsutil_command + gsutil_args, env=env, | 284 return run(gsutil_command + gsutil_args, env=env, |
278 shell=(GSUtil.GSUTIL_IS_SHELL_SCRIPT and | 285 shell=(GSUtil.GSUTIL_IS_SHELL_SCRIPT and |
279 sys.platform == 'win32')) | 286 sys.platform == 'win32')) |
280 | 287 |
281 def upload(self, local_path, remote_path, recursive=False, public=False): | 288 def upload(self, local_path, remote_path, recursive=False, public=False, multi thread=False): |
ricow1
2015/06/11 15:51:49
long line
keertip
2015/06/11 18:10:09
Done.
| |
282 assert remote_path.startswith('gs://') | 289 assert remote_path.startswith('gs://') |
283 | 290 |
284 args = ['cp'] | 291 if multithread: |
292 args = ['-m', 'cp'] | |
293 else: | |
294 args = ['cp'] | |
285 if public: | 295 if public: |
286 args += ['-a', 'public-read'] | 296 args += ['-a', 'public-read'] |
287 if recursive: | 297 if recursive: |
288 args += ['-R'] | 298 args += ['-R'] |
289 args += [local_path, remote_path] | 299 args += [local_path, remote_path] |
290 self.execute(args) | 300 self.execute(args) |
291 | 301 |
292 def cat(self, remote_path): | 302 def cat(self, remote_path): |
293 assert remote_path.startswith('gs://') | 303 assert remote_path.startswith('gs://') |
294 | 304 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
365 | 375 |
366 return checksum_filename | 376 return checksum_filename |
367 | 377 |
368 def GetChannelFromName(name): | 378 def GetChannelFromName(name): |
369 """Get the channel from the name. Bleeding edge builders don't | 379 """Get the channel from the name. Bleeding edge builders don't |
370 have a suffix.""" | 380 have a suffix.""" |
371 channel_name = string.split(name, '-').pop() | 381 channel_name = string.split(name, '-').pop() |
372 if channel_name in Channel.ALL_CHANNELS: | 382 if channel_name in Channel.ALL_CHANNELS: |
373 return channel_name | 383 return channel_name |
374 return Channel.BLEEDING_EDGE | 384 return Channel.BLEEDING_EDGE |
OLD | NEW |