| # Copyright 2015 The Chromium 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("//build/config/android/rules.gni") |
| import("//mojo/public/mojo_application.gni") |
| |
| template("mojo_android_java_application") { |
| assert(defined(invoker.mojo_main)) |
| |
| dex_output_path = "$target_out_dir/${target_name}.dex.jar" |
| |
| android_lib_name = "__${target_name}_lib" |
| android_standalone_name = "__${target_name}_standalone" |
| |
| all_deps = [ |
| "//mojo/public/java:bindings", |
| "//mojo/public/java:system", |
| ] |
| if (defined(invoker.deps)) { |
| all_deps += invoker.deps |
| } |
| |
| android_library(android_lib_name) { |
| java_files = invoker.sources |
| |
| manifest_entries = [ "Mojo-Class:" + invoker.mojo_main ] |
| |
| deps = all_deps |
| } |
| |
| android_standalone_library(android_standalone_name) { |
| deps = [ ":${android_lib_name}" ] + all_deps |
| |
| dex_path = dex_output_path |
| |
| system_gen_dir = get_path_info("//mojo/public/java/BUILD.gn", "gen_dir") |
| excluded_jars = [ "${system_gen_dir}/system.dex.jar" ] |
| } |
| |
| if (defined(invoker.output_name)) { |
| mojo_output = "$root_out_dir/" + invoker.output_name + ".mojo" |
| } else { |
| mojo_output = "$root_out_dir/" + target_name + ".mojo" |
| } |
| |
| action(target_name) { |
| script = rebase_path("mojo/public/tools/prepend.py", ".", mojo_root) |
| |
| input = dex_output_path |
| inputs = [ |
| input, |
| ] |
| |
| output = mojo_output |
| outputs = [ |
| output, |
| ] |
| |
| rebase_input = rebase_path(input, root_build_dir) |
| rebase_output = rebase_path(output, root_build_dir) |
| args = [ |
| "--input=$rebase_input", |
| "--output=$rebase_output", |
| "--line=#!mojo mojo:java_handler", |
| ] |
| } |
| } |