OLD | NEW |
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 import optparse | 19 import optparse |
20 import os | 20 import os |
21 import sys | 21 import sys |
22 import tarfile | 22 import tarfile |
23 | 23 |
24 NONESSENTIAL_DIRS = ( | 24 NONESSENTIAL_DIRS = ( |
25 'chrome/common/extensions/docs', | 25 'chrome/common/extensions/docs', |
26 'chrome/test/data', | 26 'chrome/test/data', |
27 'chrome/tools/test/reference_build', | 27 'chrome/tools/test/reference_build', |
28 'courgette/testdata', | 28 'courgette/testdata', |
29 'data', | 29 'data', |
30 'gears/binaries', | |
31 'native_client/src/trusted/service_runtime/testdata', | 30 'native_client/src/trusted/service_runtime/testdata', |
32 'native_client/tests', | 31 'native_client/tests', |
33 'net/data/cache_tests', | 32 'net/data/cache_tests', |
34 'src/chrome/test/data', | 33 'src/chrome/test/data', |
35 'o3d/documentation', | 34 'o3d/documentation', |
36 'o3d/samples', | 35 'o3d/samples', |
37 'o3d/tests', | 36 'o3d/tests', |
38 'third_party/angle/samples/gles2_book', | 37 'third_party/angle/samples/gles2_book', |
39 'third_party/hunspell_dictionaries', | 38 'third_party/hunspell_dictionaries', |
40 'third_party/hunspell/tests', | 39 'third_party/hunspell/tests', |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 archive.set_remove_nonessential_files(options.remove_nonessential_files) | 105 archive.set_remove_nonessential_files(options.remove_nonessential_files) |
107 try: | 106 try: |
108 archive.add(GetSourceDirectory(), arcname=output_basename) | 107 archive.add(GetSourceDirectory(), arcname=output_basename) |
109 finally: | 108 finally: |
110 archive.close() | 109 archive.close() |
111 | 110 |
112 return 0 | 111 return 0 |
113 | 112 |
114 if __name__ == "__main__": | 113 if __name__ == "__main__": |
115 sys.exit(main(sys.argv[1:])) | 114 sys.exit(main(sys.argv[1:])) |
OLD | NEW |