| # 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/testing/rules/runtime_mode.gni") |
| |
| template("gradle_task") { |
| action(target_name) { |
| assert(defined(invoker.task), "task is a required parmaeter") |
| assert(defined(invoker.outputs), "outputs is a required parameter") |
| assert(defined(invoker.sources), "sources is a required parameter") |
| assert(defined(invoker.gradle_project_dir), |
| "gradle_project_dir is required (normally: rebase_path(\".\"") |
| assert(defined(invoker.app_name), "app_name is a required parameter") |
| |
| script = "//flutter/testing/rules/run_gradle.py" |
| |
| inputs = [ "$root_out_dir/flutter.jar" ] |
| sources = invoker.sources |
| outputs = invoker.outputs |
| out_dir = rebase_path("$root_out_dir/${invoker.app_name}") |
| args = [ |
| invoker.gradle_project_dir, |
| invoker.task, |
| "--no-daemon", |
| "-Pflutter_jar=" + rebase_path("$root_out_dir/flutter.jar"), |
| "-Pout_dir=$out_dir", |
| "--project-cache-dir=$out_dir/.gradle", |
| "--gradle-user-home=$out_dir/.gradle", |
| ] |
| |
| if (is_aot) { |
| args += [ "-Plibapp=" + rebase_path("$target_gen_dir/libs") ] |
| inputs += [ "$target_gen_dir/libs/$android_app_abi/libapp.so" ] |
| } |
| |
| deps = [ "//flutter/shell/platform/android:android_jar" ] |
| |
| if (defined(invoker.deps)) { |
| deps += invoker.deps |
| } |
| } |
| } |