Bug 1307301 - Don't attempt to compress compressed files when packing the symbols archive. r=ted

MozReview-Commit-ID: 542dZflb00G

--HG--
extra : rebase_source : 6b942e687517a3053b349a20475de7cff956327a
This commit is contained in:
Chris Manchester 2017-04-27 22:51:19 -07:00
Родитель b9fb4033d1
Коммит bdaf34a711
2 изменённых файлов: 11 добавлений и 5 удалений

Просмотреть файл

@ -268,7 +268,8 @@ symbolsfullarchive: prepsymbolsarchive
$(call py_action,symbols_archive,$(abspath '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip') \
$(abspath $(DIST)/crashreporter-symbols) \
--exclude '*test*' \
--exclude '*Test*')
--exclude '*Test*' \
--compress '**/*.sym')
.PHONY: symbolsarchive
symbolsarchive: prepsymbolsarchive

Просмотреть файл

@ -10,19 +10,23 @@ import os
from mozpack.files import FileFinder
from mozpack.mozjar import JarWriter
import mozpack.path as mozpath
def make_archive(archive_name, base, exclude, include):
def make_archive(archive_name, base, exclude, include, compress):
finder = FileFinder(base, ignore=exclude)
if not include:
include = ['*']
if not compress:
compress = ['**/*.sym']
archive_basename = os.path.basename(archive_name)
with open(archive_name, 'wb') as fh:
with JarWriter(fileobj=fh, optimize=False, compress_level=5) as writer:
for pat in include:
for p, f in finder.find(pat):
print(' Adding to "%s":\n\t"%s"' % (archive_basename, p))
writer.add(p.encode('utf-8'), f.read(), mode=f.mode, skip_duplicates=True)
should_compress = any(mozpath.match(p, pat) for pat in compress)
writer.add(p.encode('utf-8'), f.read(), mode=f.mode,
compress=should_compress, skip_duplicates=True)
def main(argv):
parser = argparse.ArgumentParser(description='Produce a symbols archive')
@ -30,10 +34,11 @@ def main(argv):
parser.add_argument('base', help='Base directory to package')
parser.add_argument('--exclude', default=[], action='append', help='File patterns to exclude')
parser.add_argument('--include', default=[], action='append', help='File patterns to include')
parser.add_argument('--compress', default=[], action='append', help='File patterns to compress')
args = parser.parse_args(argv)
make_archive(args.archive, args.base, args.exclude, args.include)
make_archive(args.archive, args.base, args.exclude, args.include, args.compress)
if __name__ == '__main__':
main(sys.argv[1:])