# Copyright 2013 The Flutter Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//flutter/common/config.gni") if (flutter_runtime_mode == "jit_release") { android_zip_archive_dir = "android-$target_cpu-jit-release" } else { android_zip_archive_dir = "android-$target_cpu" } # Creates a zip file in the $root_build_dir/zip_archives folder. # # The output variable specifies the name of the zip file to create. # The files variable is an array of scopes that specify a source file or # directory and a destination path in the archive to create. # # For example, to create a zip file named archive.zip with all files in the # root directory of the archive: # # zip_bundle("sample") { # output = "archive.zip" # files = [ # { # source = "$root_build_dir/some/path/to/lib.so" # destination = "lib.so" # }, # { # source = "$root_build_dir/some/other/path/with/files" # destination = "other_files" # }, # ] # } template("zip_bundle") { assert(defined(invoker.output), "output must be defined") assert(defined(invoker.files), "files must be defined as a list of scopes") action(target_name) { script = "//flutter/build/zip.py" outputs = [ "$root_build_dir/zip_archives/${invoker.output}" ] inputs = [] deps = invoker.deps args = [ "-o", rebase_path(outputs[0]), ] foreach(input, invoker.files) { args += [ "-i", rebase_path(input.source), rebase_path(input.destination), ] inputs += [ input.source ] } } }