blob: d0bac7c2524b1b96eae141e65f2bd671a5f83849 [file] [log] [blame]
pkotwicz713dadb2015-12-09 01:51:191# 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
5import("//build/config/android/config.gni")
6import("//build/config/android/rules.gni")
pkotwicz59ed02f2015-12-09 16:42:147import("//remoting/android/client_java_tmpl.gni")
pkotwicz713dadb2015-12-09 01:51:198import("//remoting/android/remoting_apk_tmpl.gni")
9import("//remoting/remoting_options.gni")
10import("//remoting/tools/build/remoting_localize.gni")
11
pkotwicz713dadb2015-12-09 01:51:1912generate_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
21shared_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"
51copy("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
68remoting_localize("remoting_apk_manifest") {
69 sources = [
70 "java/AndroidManifest.xml.jinja2",
71 ]
72 locales = [ "en" ]
lambroslambrou0e1b88f2016-01-26 21:35:4673 if (remoting_enable_cardboard) {
74 defines = [ "ENABLE_CARDBOARD=1" ]
75 } else {
76 defines = [ "ENABLE_CARDBOARD=0" ]
77 }
pkotwicz713dadb2015-12-09 01:51:1978 variables = [ branding_path ]
79 output = "$root_gen_dir/remoting/android/{{source_name_part}}"
80}
81
82android_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
pkotwicz59ed02f2015-12-09 16:42:1496remoting_android_client_java_tmpl("remoting_android_client_java") {
97 remoting_google_play_services_library = google_play_services_library
pkotwicz713dadb2015-12-09 01:51:1998}
99
pkotwicza3ca9352016-01-27 19:07:26100if (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 }
pkotwicz713dadb2015-12-09 01:51:19113}
114
115remoting_apk_tmpl("remoting_apk") {
116 apk_name = "Chromoting"
lambroslambrou32f0a432016-02-04 02:51:52117 java_files = [ "//remoting/android/apk/src/org/chromium/chromoting/RemotingApplication.java" ]
pkotwicz713dadb2015-12-09 01:51:19118 deps = [
119 ":remoting_android_client_java",
120 "//base:base_java",
121 "//net/android:net_java",
122 google_play_services_resources,
123 ]
124}
125
agrieve8d9760332016-01-15 01:27:27126remoting_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
pkotwicz713dadb2015-12-09 01:51:19135instrumentation_test_apk("remoting_test_apk") {
agrieve8d9760332016-01-15 01:27:27136 android_manifest = "$root_gen_dir/remoting/android_test/AndroidManifest.xml"
pkotwicz713dadb2015-12-09 01:51:19137 apk_name = "ChromotingTest"
138 apk_under_test = ":remoting_apk"
lambroslambrou32f0a432016-02-04 02:51:52139 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 ]
pkotwicz713dadb2015-12-09 01:51:19145 deps = [
146 ":remoting_android_client_java",
agrieve8d9760332016-01-15 01:27:27147 ":remoting_test_apk_manifest",
pkotwicz713dadb2015-12-09 01:51:19148 "//base:base_java",
149 "//base:base_java_test_support",
150 ]
151}