Ben Murdoch | 097c5b2 | 2016-05-18 11:27:45 +0100 | [diff] [blame] | 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. |
| 4 | |
| 5 | # Creates a zip archive of the inputs. |
| 6 | # |
| 7 | # inputs (required) |
| 8 | # List of input files relative to the current directory. |
| 9 | # |
| 10 | # output (required) |
| 11 | # File name to write. |
| 12 | # |
| 13 | # base_dir (optional) |
| 14 | # If provided, the archive paths will be relative to this directory. |
| 15 | # |
| 16 | # deps, public_deps, data_deps, testonly, visibility (optional) |
| 17 | # Normal meaning. |
| 18 | template("zip") { |
| 19 | action(target_name) { |
| 20 | script = "//build/android/gn/zip.py" |
| 21 | depfile = "$target_gen_dir/$target_name.d" |
| 22 | inputs = invoker.inputs |
| 23 | outputs = [ |
| 24 | depfile, |
| 25 | invoker.output, |
| 26 | ] |
| 27 | |
| 28 | assert(defined(invoker.inputs)) |
| 29 | rebase_inputs = rebase_path(invoker.inputs, root_build_dir) |
| 30 | |
| 31 | assert(defined(invoker.output)) |
| 32 | rebase_output = rebase_path(invoker.output, root_build_dir) |
| 33 | |
| 34 | args = [ |
| 35 | "--depfile", |
| 36 | rebase_path(depfile, root_build_dir), |
| 37 | "--inputs=$rebase_inputs", |
| 38 | "--output=$rebase_output", |
| 39 | ] |
| 40 | if (defined(invoker.base_dir)) { |
| 41 | args += [ |
| 42 | "--base-dir", |
| 43 | rebase_path(invoker.base_dir, root_build_dir), |
| 44 | ] |
| 45 | } |
| 46 | |
| 47 | forward_variables_from(invoker, |
| 48 | [ |
| 49 | "testonly", |
| 50 | "deps", |
| 51 | "public_deps", |
| 52 | "data_deps", |
| 53 | "visibility", |
| 54 | ]) |
| 55 | } |
| 56 | } |