Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(235)

Side by Side Diff: tools/export_tarball/export_tarball.py

Issue 578019: Make export_tarball.py work with older Pythons. (Closed)
Patch Set: Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """ 6 """
7 This tool creates a tarball with all the sources, but without .svn directories. 7 This tool creates a tarball with all the sources, but without .svn directories.
8 8
9 It can also remove files which are not strictly required for build, so that 9 It can also remove files which are not strictly required for build, so that
10 the resulting tarball can be reasonably small (last time it was ~110 MB). 10 the resulting tarball can be reasonably small (last time it was ~110 MB).
11 11
12 Example usage: 12 Example usage:
13 13
14 export_tarball.py /foo/bar 14 export_tarball.py /foo/bar
15 15
16 The above will create file /foo/bar.tar.bz2. 16 The above will create file /foo/bar.tar.bz2.
17 """ 17 """
18 18
19 from __future__ import with_statement
20
21 import contextlib
22 import optparse 19 import optparse
23 import os 20 import os
24 import sys 21 import sys
25 import tarfile 22 import tarfile
26 23
27 NONESSENTIAL_DIRS = ( 24 NONESSENTIAL_DIRS = (
28 'chrome/test/data', 25 'chrome/test/data',
29 'chrome/tools/test/reference_build', 26 'chrome/tools/test/reference_build',
30 'gears/binaries', 27 'gears/binaries',
31 'net/data/cache_tests', 28 'net/data/cache_tests',
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 return True 64 return True
68 65
69 if not options.remove_nonessential_files: 66 if not options.remove_nonessential_files:
70 return False 67 return False
71 for nonessential_dir in NONESSENTIAL_DIRS: 68 for nonessential_dir in NONESSENTIAL_DIRS:
72 if path.startswith(os.path.join(GetSourceDirectory(), nonessential_dir)): 69 if path.startswith(os.path.join(GetSourceDirectory(), nonessential_dir)):
73 return True 70 return True
74 71
75 return False 72 return False
76 73
77 with contextlib.closing(tarfile.open(output_fullname, 'w:bz2')) as archive: 74 archive = tarfile.open(output_fullname, 'w:bz2')
75 try:
78 archive.add(GetSourceDirectory(), arcname=output_basename, 76 archive.add(GetSourceDirectory(), arcname=output_basename,
79 exclude=ShouldExcludePath) 77 exclude=ShouldExcludePath)
78 finally:
79 archive.close()
80 80
81 return 0 81 return 0
82 82
83 if __name__ == "__main__": 83 if __name__ == "__main__":
84 sys.exit(main(sys.argv[1:])) 84 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698