1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2014 The Chromium Authors 2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 4*8975f5c5SAndroid Build Coastguard Worker 5*8975f5c5SAndroid Build Coastguard Workerimport("python.gni") 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Worker# Creates a zip archive of the inputs. 8*8975f5c5SAndroid Build Coastguard Worker# 9*8975f5c5SAndroid Build Coastguard Worker# output (required) 10*8975f5c5SAndroid Build Coastguard Worker# Path to output zip. 11*8975f5c5SAndroid Build Coastguard Worker# inputs (required) 12*8975f5c5SAndroid Build Coastguard Worker# List of input files to zip. 13*8975f5c5SAndroid Build Coastguard Worker# base_dir (optional) 14*8975f5c5SAndroid Build Coastguard Worker# If provided, the archive paths will be relative to this directory. 15*8975f5c5SAndroid Build Coastguard Worker# Applies only to |inputs|. 16*8975f5c5SAndroid Build Coastguard Worker# zip_comment_values (optional) 17*8975f5c5SAndroid Build Coastguard Worker# A list of key=value strings to store in a JSON-encoded archive comment. 18*8975f5c5SAndroid Build Coastguard Worker# 19*8975f5c5SAndroid Build Coastguard Worker# deps, public_deps, data, data_deps, testonly, visibility 20*8975f5c5SAndroid Build Coastguard Worker# Normal meaning. 21*8975f5c5SAndroid Build Coastguard Workertemplate("zip") { 22*8975f5c5SAndroid Build Coastguard Worker action_with_pydeps(target_name) { 23*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, 24*8975f5c5SAndroid Build Coastguard Worker [ 25*8975f5c5SAndroid Build Coastguard Worker "data", 26*8975f5c5SAndroid Build Coastguard Worker "data_deps", 27*8975f5c5SAndroid Build Coastguard Worker "deps", 28*8975f5c5SAndroid Build Coastguard Worker "public_deps", 29*8975f5c5SAndroid Build Coastguard Worker "testonly", 30*8975f5c5SAndroid Build Coastguard Worker "visibility", 31*8975f5c5SAndroid Build Coastguard Worker ]) 32*8975f5c5SAndroid Build Coastguard Worker script = "//build/android/gyp/zip.py" 33*8975f5c5SAndroid Build Coastguard Worker inputs = invoker.inputs 34*8975f5c5SAndroid Build Coastguard Worker outputs = [ invoker.output ] 35*8975f5c5SAndroid Build Coastguard Worker 36*8975f5c5SAndroid Build Coastguard Worker args = [ 37*8975f5c5SAndroid Build Coastguard Worker "--output", 38*8975f5c5SAndroid Build Coastguard Worker rebase_path(invoker.output, root_build_dir), 39*8975f5c5SAndroid Build Coastguard Worker ] 40*8975f5c5SAndroid Build Coastguard Worker 41*8975f5c5SAndroid Build Coastguard Worker if (defined(invoker.zip_comment_values)) { 42*8975f5c5SAndroid Build Coastguard Worker foreach(comment, invoker.zip_comment_values) { 43*8975f5c5SAndroid Build Coastguard Worker args += [ 44*8975f5c5SAndroid Build Coastguard Worker "--comment-json", 45*8975f5c5SAndroid Build Coastguard Worker comment, 46*8975f5c5SAndroid Build Coastguard Worker ] 47*8975f5c5SAndroid Build Coastguard Worker } 48*8975f5c5SAndroid Build Coastguard Worker } 49*8975f5c5SAndroid Build Coastguard Worker 50*8975f5c5SAndroid Build Coastguard Worker _rebased_inputs = rebase_path(invoker.inputs, root_build_dir) 51*8975f5c5SAndroid Build Coastguard Worker args += [ "--input-files=$_rebased_inputs" ] 52*8975f5c5SAndroid Build Coastguard Worker if (defined(invoker.base_dir)) { 53*8975f5c5SAndroid Build Coastguard Worker args += [ 54*8975f5c5SAndroid Build Coastguard Worker "--input-files-base-dir", 55*8975f5c5SAndroid Build Coastguard Worker rebase_path(invoker.base_dir, root_build_dir), 56*8975f5c5SAndroid Build Coastguard Worker ] 57*8975f5c5SAndroid Build Coastguard Worker } 58*8975f5c5SAndroid Build Coastguard Worker } 59*8975f5c5SAndroid Build Coastguard Worker} 60