pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 1 | # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
| 5 | import("//build/config/android/config.gni") |
| 6 | import("//build/config/android/rules.gni") |
pkotwicz | 59ed02f | 2015-12-09 16:42:14 | [diff] [blame] | 7 | import("//remoting/android/client_java_tmpl.gni") |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 8 | import("//remoting/android/remoting_apk_tmpl.gni") |
| 9 | import("//remoting/remoting_options.gni") |
| 10 | import("//remoting/tools/build/remoting_localize.gni") |
| 11 | |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 12 | generate_jni("jni_headers") { |
| 13 | sources = [ |
| 14 | "java/src/org/chromium/chromoting/jni/Client.java", |
| 15 | "java/src/org/chromium/chromoting/jni/JniInterface.java", |
| 16 | "java/src/org/chromium/chromoting/jni/TouchEventData.java", |
| 17 | ] |
| 18 | jni_package = "remoting" |
| 19 | } |
| 20 | |
| 21 | shared_library("remoting_client_jni") { |
| 22 | deps = [ |
| 23 | "//google_apis", |
| 24 | "//remoting/android:jni_headers", |
| 25 | "//remoting/base", |
| 26 | "//remoting/client", |
| 27 | "//remoting/protocol", |
| 28 | "//ui/events:dom_keycode_converter", |
| 29 | "//ui/gfx", |
| 30 | ] |
| 31 | sources = [ |
| 32 | "//remoting/client/jni/android_keymap.cc", |
| 33 | "//remoting/client/jni/android_keymap.h", |
| 34 | "//remoting/client/jni/chromoting_jni_instance.cc", |
| 35 | "//remoting/client/jni/chromoting_jni_instance.h", |
| 36 | "//remoting/client/jni/chromoting_jni_runtime.cc", |
| 37 | "//remoting/client/jni/chromoting_jni_runtime.h", |
| 38 | "//remoting/client/jni/jni_client.cc", |
| 39 | "//remoting/client/jni/jni_client.h", |
| 40 | "//remoting/client/jni/jni_frame_consumer.cc", |
| 41 | "//remoting/client/jni/jni_frame_consumer.h", |
| 42 | "//remoting/client/jni/jni_touch_event_data.cc", |
| 43 | "//remoting/client/jni/jni_touch_event_data.h", |
| 44 | "//remoting/client/jni/remoting_jni_onload.cc", |
| 45 | "//remoting/client/jni/remoting_jni_registrar.cc", |
| 46 | "//remoting/client/jni/remoting_jni_registrar.h", |
| 47 | ] |
| 48 | } |
| 49 | |
| 50 | _raw_resources_base_dir = "$target_gen_dir/remoting_android_raw_resources/res" |
| 51 | copy("remoting_android_raw_resources") { |
| 52 | _credits_html = get_label_info("//remoting/webapp:credits", |
| 53 | "target_gen_dir") + "/credits.html" |
| 54 | sources = [ |
| 55 | "//remoting/webapp/base/html/credits_css.css", |
| 56 | "//remoting/webapp/base/html/main.css", |
| 57 | "//remoting/webapp/base/js/credits_js.js", |
| 58 | _credits_html, |
| 59 | ] |
| 60 | outputs = [ |
| 61 | "$_raw_resources_base_dir/raw/{{source_file_part}}", |
| 62 | ] |
| 63 | deps = [ |
| 64 | "//remoting/webapp:credits", |
| 65 | ] |
| 66 | } |
| 67 | |
| 68 | remoting_localize("remoting_apk_manifest") { |
| 69 | sources = [ |
| 70 | "java/AndroidManifest.xml.jinja2", |
| 71 | ] |
| 72 | locales = [ "en" ] |
lambroslambrou | 0e1b88f | 2016-01-26 21:35:46 | [diff] [blame] | 73 | if (remoting_enable_cardboard) { |
| 74 | defines = [ "ENABLE_CARDBOARD=1" ] |
| 75 | } else { |
| 76 | defines = [ "ENABLE_CARDBOARD=0" ] |
| 77 | } |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 78 | variables = [ branding_path ] |
| 79 | output = "$root_gen_dir/remoting/android/{{source_name_part}}" |
| 80 | } |
| 81 | |
| 82 | android_resources("remoting_android_client_java_resources") { |
| 83 | custom_package = "org.chromium.chromoting" |
| 84 | resource_dirs = [ "java/res" ] |
| 85 | generated_resource_dirs = [ _raw_resources_base_dir ] |
| 86 | generated_resource_files = |
| 87 | get_target_outputs(":remoting_android_raw_resources") |
| 88 | |
| 89 | deps = [ |
| 90 | ":remoting_android_raw_resources", |
| 91 | "//remoting/resources:strings_java", |
| 92 | "//third_party/android_tools:android_support_v7_appcompat_resources", |
| 93 | ] |
| 94 | } |
| 95 | |
pkotwicz | 59ed02f | 2015-12-09 16:42:14 | [diff] [blame] | 96 | remoting_android_client_java_tmpl("remoting_android_client_java") { |
| 97 | remoting_google_play_services_library = google_play_services_library |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 98 | } |
| 99 | |
pkotwicz | a3ca935 | 2016-01-27 19:07:26 | [diff] [blame] | 100 | if (target_cpu == "arm") { |
| 101 | action("remoting_cardboard_extract_native_lib") { |
| 102 | script = "//remoting/tools/extract_android_native_lib.py" |
| 103 | sources = [ |
| 104 | "//third_party/cardboard-java/src/CardboardSample/libs/cardboard.jar", |
| 105 | ] |
| 106 | outputs = [ |
| 107 | "$root_out_dir/libvrtoolkit.so", |
| 108 | ] |
| 109 | args = [ android_app_abi ] |
| 110 | args += rebase_path(sources, root_build_dir) |
| 111 | args += rebase_path(outputs, root_build_dir) |
| 112 | } |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 113 | } |
| 114 | |
| 115 | remoting_apk_tmpl("remoting_apk") { |
| 116 | apk_name = "Chromoting" |
lambroslambrou | 32f0a43 | 2016-02-04 02:51:52 | [diff] [blame] | 117 | java_files = [ "//remoting/android/apk/src/org/chromium/chromoting/RemotingApplication.java" ] |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 118 | deps = [ |
| 119 | ":remoting_android_client_java", |
| 120 | "//base:base_java", |
| 121 | "//net/android:net_java", |
| 122 | google_play_services_resources, |
| 123 | ] |
| 124 | } |
| 125 | |
agrieve | 8d976033 | 2016-01-15 01:27:27 | [diff] [blame] | 126 | remoting_localize("remoting_test_apk_manifest") { |
| 127 | sources = [ |
| 128 | "javatests/AndroidManifest.xml.jinja2", |
| 129 | ] |
| 130 | locales = [ "en" ] |
| 131 | variables = [ branding_path ] |
| 132 | output = "$root_gen_dir/remoting/android_test/{{source_name_part}}" |
| 133 | } |
| 134 | |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 135 | instrumentation_test_apk("remoting_test_apk") { |
agrieve | 8d976033 | 2016-01-15 01:27:27 | [diff] [blame] | 136 | android_manifest = "$root_gen_dir/remoting/android_test/AndroidManifest.xml" |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 137 | apk_name = "ChromotingTest" |
| 138 | apk_under_test = ":remoting_apk" |
lambroslambrou | 32f0a43 | 2016-02-04 02:51:52 | [diff] [blame] | 139 | java_files = [ |
| 140 | "javatests/src/org/chromium/chromoting/TouchInputStrategyTest.java", |
| 141 | "javatests/src/org/chromium/chromoting/SwipePinchDetectorTest.java", |
| 142 | "javatests/src/org/chromium/chromoting/TapGestureDetectorTest.java", |
| 143 | "javatests/src/org/chromium/chromoting/TouchEventGenerator.java", |
| 144 | ] |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 145 | deps = [ |
| 146 | ":remoting_android_client_java", |
agrieve | 8d976033 | 2016-01-15 01:27:27 | [diff] [blame] | 147 | ":remoting_test_apk_manifest", |
pkotwicz | 713dadb | 2015-12-09 01:51:19 | [diff] [blame] | 148 | "//base:base_java", |
| 149 | "//base:base_java_test_support", |
| 150 | ] |
| 151 | } |