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