3 # Copyright 2014 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
7 """Archives a set of files.
16 sys
.path
.append(os
.path
.join(os
.path
.dirname(__file__
), os
.pardir
, 'gyp'))
17 from util
import build_utils
19 def DoZip(inputs
, output
, base_dir
):
20 with zipfile
.ZipFile(output
, 'w') as outfile
:
22 outfile
.write(f
, os
.path
.relpath(f
, base_dir
))
25 parser
= optparse
.OptionParser()
26 build_utils
.AddDepfileOption(parser
)
28 parser
.add_option('--inputs', help='List of files to archive.')
29 parser
.add_option('--output', help='Path to output archive.')
30 parser
.add_option('--base-dir',
31 help='If provided, the paths in the archive will be '
32 'relative to this directory', default
='.')
34 options
, _
= parser
.parse_args()
36 inputs
= ast
.literal_eval(options
.inputs
)
37 output
= options
.output
38 base_dir
= options
.base_dir
40 DoZip(inputs
, output
, base_dir
)
43 build_utils
.WriteDepfile(
45 build_utils
.GetPythonDependencies())
48 if __name__
== '__main__':