| # 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/config.gni") |
| import("//build/config/android/rules.gni") |
| import("//remoting/android/client_java_tmpl.gni") |
| import("//remoting/android/remoting_apk_tmpl.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/TouchEventData.java", |
| ] |
| jni_package = "remoting" |
| } |
| |
| shared_library("remoting_client_jni") { |
| deps = [ |
| "//remoting/android:jni_headers", |
| "//remoting/base", |
| "//remoting/client", |
| "//remoting/client/display", |
| "//remoting/protocol", |
| "//ui/events:dom_keycode_converter", |
| "//ui/gfx", |
| ] |
| sources = [ |
| "//remoting/client/audio_player_android.cc", |
| "//remoting/client/audio_player_android.h", |
| "//remoting/client/jni/android_keymap.cc", |
| "//remoting/client/jni/android_keymap.h", |
| "//remoting/client/jni/chromoting_jni_instance.cc", |
| "//remoting/client/jni/chromoting_jni_instance.h", |
| "//remoting/client/jni/chromoting_jni_runtime.cc", |
| "//remoting/client/jni/chromoting_jni_runtime.h", |
| "//remoting/client/jni/connect_to_host_info.cc", |
| "//remoting/client/jni/connect_to_host_info.h", |
| "//remoting/client/jni/display_updater_factory.h", |
| "//remoting/client/jni/egl_thread_context.cc", |
| "//remoting/client/jni/egl_thread_context.h", |
| "//remoting/client/jni/jni_client.cc", |
| "//remoting/client/jni/jni_client.h", |
| "//remoting/client/jni/jni_gl_display_handler.cc", |
| "//remoting/client/jni/jni_gl_display_handler.h", |
| "//remoting/client/jni/jni_pairing_secret_fetcher.cc", |
| "//remoting/client/jni/jni_pairing_secret_fetcher.h", |
| "//remoting/client/jni/jni_touch_event_data.cc", |
| "//remoting/client/jni/jni_touch_event_data.h", |
| "//remoting/client/jni/remoting_jni_onload.cc", |
| "//remoting/client/jni/remoting_jni_registrar.cc", |
| "//remoting/client/jni/remoting_jni_registrar.h", |
| ] |
| libs = [ |
| "android", |
| "OpenSLES", |
| "EGL", |
| ] |
| configs += [ "//remoting/build/config:enable_webrtc_remoting_client" ] |
| assert_no_deps = [ "//third_party/ffmpeg:*" ] |
| } |
| |
| action("credits") { |
| credits_html_file = "$target_gen_dir/credits.html" |
| script = "//tools/licenses.py" |
| depfile = "$target_gen_dir/$target_name.d" |
| credits_template = "//remoting/credits/credits.tmpl" |
| credits_entry_template = "//remoting/credits/credits_entry.tmpl" |
| inputs = [ |
| credits_template, |
| credits_entry_template, |
| ] |
| outputs = [ |
| credits_html_file, |
| ] |
| args = [ |
| "credits", |
| rebase_path(credits_html_file, root_build_dir), |
| "--file-template", |
| rebase_path(credits_template, root_build_dir), |
| "--entry-template", |
| rebase_path(credits_entry_template, root_build_dir), |
| "--depfile", |
| rebase_path(depfile, root_build_dir), |
| "--gn-target", |
| "//remoting/android:remoting_apk", |
| "--gn-out-dir", |
| rebase_path(root_build_dir), |
| ] |
| } |
| |
| _raw_resources_base_dir = "$target_gen_dir/remoting_android_raw_resources/res" |
| copy("remoting_android_raw_resources") { |
| _credits_html = get_label_info("//remoting/android:credits", |
| "target_gen_dir") + "/credits.html" |
| sources = [ |
| "//remoting/credits/credits_css.css", |
| "//remoting/credits/credits_js.js", |
| _credits_html, |
| ] |
| outputs = [ |
| "$_raw_resources_base_dir/raw/{{source_file_part}}", |
| ] |
| deps = [ |
| ":credits", |
| ] |
| } |
| |
| 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(":remoting_android_raw_resources") |
| |
| deps = [ |
| ":remoting_android_raw_resources", |
| "//remoting/resources:strings_java", |
| "//third_party/android_tools:android_support_v7_appcompat_java", |
| ] |
| } |
| |
| remoting_android_client_java_tmpl("remoting_android_client_java") { |
| remoting_google_play_services_library = google_play_services_library |
| } |
| |
| 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", |
| ] |
| } |