| # 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 ] |
| } |
| } |
| } |