# 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("//base/android/jni_generator/jni_exception_list.gni") import("//build/config/android/config.gni") import("//build/config/android/rules.gni") import("//remoting/android/client_java_tmpl.gni") import("//remoting/android/remoting_apk_tmpl.gni") import("//remoting/credits/credits.gni") import("//remoting/remoting_options.gni") import("//remoting/tools/build/remoting_localize.gni") generate_jni("jni_headers") { sources = [ "java/src/org/chromium/chromoting/jni/Client.java", "java/src/org/chromium/chromoting/jni/GlDisplay.java", "java/src/org/chromium/chromoting/jni/JniInterface.java", "java/src/org/chromium/chromoting/jni/JniOAuthTokenGetter.java", "java/src/org/chromium/chromoting/jni/TouchEventData.java", ] jni_package = "remoting" } generate_jni_registration("remoting_jni_registration") { target = ":remoting_apk" output = "$root_gen_dir/remoting/client/${target_name}.h" exception_files = jni_exception_files } _raw_resources_base_dir = "$target_gen_dir/credits_resources_raw/res" # The target is named this way, instead of "..._raw_resources", specifically # to avoid matching any of the _java_target_whitelist items in # build/config/android/internal_rules.gni remoting_credits("credits_resources_raw") { credits_gen_dir = "$_raw_resources_base_dir/raw" gn_target = "//remoting/android:remoting_apk" } remoting_localize("remoting_apk_manifest") { sources = [ "java/AndroidManifest.xml.jinja2", ] locales = [ "en" ] variables = [ rebase_path(branding_path) ] output = "$root_gen_dir/remoting/android/{{source_name_part}}" } android_resources("remoting_android_client_java_resources") { custom_package = "org.chromium.chromoting" resource_dirs = [ "java/res" ] generated_resource_dirs = [ _raw_resources_base_dir ] generated_resource_files = get_target_outputs(":credits_resources_raw") deps = [ ":credits_resources_raw", "//remoting/resources:strings_java", "//third_party/android_tools:android_support_v7_appcompat_java", ] } remoting_android_client_java_tmpl("remoting_android_client_java") { play_services_package = "//third_party/android_tools" } remoting_apk_tmpl("remoting_apk") { apk_name = "Chromoting" java_files = [ "//remoting/android/apk/src/org/chromium/chromoting/RemotingApplication.java" ] deps = [ ":remoting_android_client_java", "//base:base_java", "//net/android:net_java", ] } remoting_localize("remoting_test_apk_manifest") { sources = [ "javatests/AndroidManifest.xml.jinja2", ] locales = [ "en" ] variables = [ rebase_path(branding_path) ] output = "$root_gen_dir/remoting/android_test/{{source_name_part}}" } instrumentation_test_apk("remoting_test_apk") { android_manifest = "$root_gen_dir/remoting/android_test/AndroidManifest.xml" android_manifest_dep = ":remoting_test_apk_manifest" apk_name = "ChromotingTest" apk_under_test = ":remoting_apk" java_files = [ "javatests/src/org/chromium/chromoting/EventTest.java", "javatests/src/org/chromium/chromoting/MockInputStub.java", "javatests/src/org/chromium/chromoting/SwipePinchDetectorTest.java", "javatests/src/org/chromium/chromoting/TapGestureDetectorTest.java", "javatests/src/org/chromium/chromoting/TouchEventBuilder.java", "javatests/src/org/chromium/chromoting/TouchEventGenerator.java", "javatests/src/org/chromium/chromoting/TouchInputStrategyTest.java", "javatests/src/org/chromium/chromoting/test/util/MutableReference.java", ] deps = [ ":remoting_android_client_java", "//base:base_java", "//base:base_java_test_support", "//third_party/android_support_test_runner:runner_java", "//third_party/junit:junit", ] }