Roll src/third_party/WebKit 605a979:06cb9e9 (svn 202556:202558)
[chromium-blink-merge.git] / build / config / zip.gni
blobdd5cb01f598851286d2b64d5dd4da656da6cea2c
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # Creates a zip archive of the inputs.
6 # If base_dir is provided, the archive paths will be relative to it.
7 template("zip") {
8   set_sources_assignment_filter([])
9   if (defined(invoker.testonly)) {
10     testonly = invoker.testonly
11   }
13   assert(defined(invoker.inputs))
14   assert(defined(invoker.output))
16   rebase_inputs = rebase_path(invoker.inputs, root_build_dir)
17   rebase_output = rebase_path(invoker.output, root_build_dir)
18   action(target_name) {
19     script = "//build/android/gn/zip.py"
20     depfile = "$target_gen_dir/$target_name.d"
21     inputs = invoker.inputs
22     outputs = [
23       depfile,
24       invoker.output,
25     ]
26     args = [
27       "--depfile",
28       rebase_path(depfile, root_build_dir),
29       "--inputs=$rebase_inputs",
30       "--output=$rebase_output",
31     ]
32     if (defined(invoker.base_dir)) {
33       args += [
34         "--base-dir",
35         rebase_path(invoker.base_dir, root_build_dir),
36       ]
37     }
39     if (defined(invoker.deps)) {
40       deps = invoker.deps
41     }
42     if (defined(invoker.public_deps)) {
43       public_deps = invoker.public_deps
44     }
45     if (defined(invoker.data_deps)) {
46       data_deps = invoker.data_deps
47     }
49     if (defined(invoker.visibility)) {
50       visibility = invoker.visibility
51     }
52   }