BUILD.gn 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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. import("//build/config/android/config.gni")
  5. import("//build/config/android/rules.gni")
  6. import("//remoting/android/client_java_tmpl.gni")
  7. import("//remoting/android/remoting_apk_tmpl.gni")
  8. import("//remoting/credits/credits.gni")
  9. import("//remoting/remoting_options.gni")
  10. import("//remoting/tools/build/remoting_localize.gni")
  11. generate_jni("jni_headers") {
  12. sources = [
  13. "java/src/org/chromium/chromoting/jni/Client.java",
  14. "java/src/org/chromium/chromoting/jni/DirectoryService.java",
  15. "java/src/org/chromium/chromoting/jni/GlDisplay.java",
  16. "java/src/org/chromium/chromoting/jni/JniInterface.java",
  17. "java/src/org/chromium/chromoting/jni/JniOAuthTokenGetter.java",
  18. "java/src/org/chromium/chromoting/jni/NotificationPresenter.java",
  19. "java/src/org/chromium/chromoting/jni/TouchEventData.java",
  20. ]
  21. }
  22. _raw_resources_base_dir = "$target_gen_dir/credits_resources_raw/res"
  23. # The target is named this way, instead of "..._raw_resources", specifically
  24. # to avoid matching any of the _java_resource_patterns items in
  25. # build/config/android/internal_rules.gni
  26. remoting_credits("credits_resources_raw") {
  27. credits_gen_dir = "$_raw_resources_base_dir/raw"
  28. gn_target = "//remoting/android:remoting_apk"
  29. }
  30. remoting_localize("remoting_apk_manifest") {
  31. sources = [ "java/AndroidManifest.xml.jinja2" ]
  32. locale_list = [ "en" ]
  33. variables = [ rebase_path(branding_path) ]
  34. output = "$root_gen_dir/remoting/android/{{source_name_part}}"
  35. }
  36. android_resources("remoting_android_client_java_resources") {
  37. sources = [
  38. "java/res/drawable-hdpi/empty_host_list.png",
  39. "java/res/drawable-hdpi/ic_action_full_screen.png",
  40. "java/res/drawable-hdpi/ic_action_keyboard.png",
  41. "java/res/drawable-hdpi/ic_announcement.png",
  42. "java/res/drawable-hdpi/ic_help.png",
  43. "java/res/drawable-hdpi/ic_host_offline.png",
  44. "java/res/drawable-hdpi/ic_host_online.png",
  45. "java/res/drawable-hdpi/ic_menu.png",
  46. "java/res/drawable-hdpi/ic_mouse.png",
  47. "java/res/drawable-hdpi/ic_refresh.png",
  48. "java/res/drawable-hdpi/ic_touch.png",
  49. "java/res/drawable-ldpi/empty_host_list.png",
  50. "java/res/drawable-mdpi/empty_host_list.png",
  51. "java/res/drawable-mdpi/ic_action_full_screen.png",
  52. "java/res/drawable-mdpi/ic_action_keyboard.png",
  53. "java/res/drawable-mdpi/ic_announcement.png",
  54. "java/res/drawable-mdpi/ic_help.png",
  55. "java/res/drawable-mdpi/ic_host_offline.png",
  56. "java/res/drawable-mdpi/ic_host_online.png",
  57. "java/res/drawable-mdpi/ic_menu.png",
  58. "java/res/drawable-mdpi/ic_mouse.png",
  59. "java/res/drawable-mdpi/ic_refresh.png",
  60. "java/res/drawable-mdpi/ic_touch.png",
  61. "java/res/drawable-xhdpi/empty_host_list.png",
  62. "java/res/drawable-xhdpi/ic_action_full_screen.png",
  63. "java/res/drawable-xhdpi/ic_action_keyboard.png",
  64. "java/res/drawable-xhdpi/ic_announcement.png",
  65. "java/res/drawable-xhdpi/ic_help.png",
  66. "java/res/drawable-xhdpi/ic_host_offline.png",
  67. "java/res/drawable-xhdpi/ic_host_online.png",
  68. "java/res/drawable-xhdpi/ic_menu.png",
  69. "java/res/drawable-xhdpi/ic_mouse.png",
  70. "java/res/drawable-xhdpi/ic_refresh.png",
  71. "java/res/drawable-xhdpi/ic_touch.png",
  72. "java/res/drawable-xxhdpi/empty_host_list.png",
  73. "java/res/drawable-xxhdpi/ic_action_full_screen.png",
  74. "java/res/drawable-xxhdpi/ic_action_keyboard.png",
  75. "java/res/drawable-xxhdpi/ic_announcement.png",
  76. "java/res/drawable-xxhdpi/ic_help.png",
  77. "java/res/drawable-xxhdpi/ic_host_offline.png",
  78. "java/res/drawable-xxhdpi/ic_host_online.png",
  79. "java/res/drawable-xxhdpi/ic_menu.png",
  80. "java/res/drawable-xxhdpi/ic_mouse.png",
  81. "java/res/drawable-xxhdpi/ic_refresh.png",
  82. "java/res/drawable-xxhdpi/ic_touch.png",
  83. "java/res/drawable-xxxhdpi/empty_host_list.png",
  84. "java/res/drawable-xxxhdpi/ic_action_full_screen.png",
  85. "java/res/drawable-xxxhdpi/ic_action_keyboard.png",
  86. "java/res/drawable-xxxhdpi/ic_announcement.png",
  87. "java/res/drawable-xxxhdpi/ic_help.png",
  88. "java/res/drawable-xxxhdpi/ic_host_offline.png",
  89. "java/res/drawable-xxxhdpi/ic_host_online.png",
  90. "java/res/drawable-xxxhdpi/ic_menu.png",
  91. "java/res/drawable-xxxhdpi/ic_mouse.png",
  92. "java/res/drawable-xxxhdpi/ic_refresh.png",
  93. "java/res/drawable-xxxhdpi/ic_touch.png",
  94. "java/res/layout/account_ui.xml",
  95. "java/res/layout/credits.xml",
  96. "java/res/layout/desktop.xml",
  97. "java/res/layout/help.xml",
  98. "java/res/layout/host_offline.xml",
  99. "java/res/layout/host_online.xml",
  100. "java/res/layout/main.xml",
  101. "java/res/layout/navigation_list.xml",
  102. "java/res/layout/navigation_list_item.xml",
  103. "java/res/layout/navigation_list_separator.xml",
  104. "java/res/layout/notification_dialog.xml",
  105. "java/res/layout/pin_dialog.xml",
  106. "java/res/menu/chromoting_actionbar.xml",
  107. "java/res/menu/desktop_actionbar.xml",
  108. "java/res/menu/help_actionbar.xml",
  109. "java/res/menu/host_context_menu.xml",
  110. "java/res/mipmap-anydpi-v26/ic_launcher.xml",
  111. "java/res/mipmap-hdpi/ic_launcher.png",
  112. "java/res/mipmap-hdpi/ic_launcher_foreground.png",
  113. "java/res/mipmap-mdpi/ic_launcher.png",
  114. "java/res/mipmap-mdpi/ic_launcher_foreground.png",
  115. "java/res/mipmap-xhdpi/ic_launcher.png",
  116. "java/res/mipmap-xhdpi/ic_launcher_foreground.png",
  117. "java/res/mipmap-xxhdpi/ic_launcher.png",
  118. "java/res/mipmap-xxhdpi/ic_launcher_foreground.png",
  119. "java/res/mipmap-xxxhdpi/ic_launcher.png",
  120. "java/res/mipmap-xxxhdpi/ic_launcher_foreground.png",
  121. "java/res/values-sw600dp/dimens.xml",
  122. "java/res/values-v17/styles.xml",
  123. "java/res/values/dimens.xml",
  124. "java/res/values/ic_launcher_background.xml",
  125. ]
  126. sources += get_target_outputs(":credits_resources_raw")
  127. deps = [
  128. ":credits_resources_raw",
  129. "//remoting/resources:strings_java",
  130. ]
  131. }
  132. remoting_android_client_java_tmpl("remoting_android_client_java") {
  133. # This should always be the public play services libraries since it is only
  134. # used by non-_google apks. Explicitly use the string literal rather than
  135. # google_play_services_package to ensure this.
  136. play_services_package = "//third_party/android_deps"
  137. }
  138. remoting_apk_tmpl("remoting_apk") {
  139. enable_lint = true
  140. lint_baseline_file = "lint-baseline.xml"
  141. lint_suppressions_file = "lint-suppressions.xml"
  142. apk_name = "Chromoting"
  143. sources = [ "//remoting/android/apk/src/org/chromium/chromoting/RemotingApplication.java" ]
  144. deps = [
  145. ":remoting_android_client_java",
  146. "//base:base_java",
  147. "//net/android:net_java",
  148. ]
  149. }
  150. remoting_localize("remoting_test_apk_manifest") {
  151. sources = [ "javatests/AndroidManifest.xml.jinja2" ]
  152. locale_list = [ "en" ]
  153. variables = [ rebase_path(branding_path) ]
  154. output = "$root_gen_dir/remoting/android_test/{{source_name_part}}"
  155. }
  156. instrumentation_test_apk("remoting_test_apk") {
  157. android_manifest = "$root_gen_dir/remoting/android_test/AndroidManifest.xml"
  158. android_manifest_dep = ":remoting_test_apk_manifest"
  159. apk_name = "ChromotingTest"
  160. apk_under_test = ":remoting_apk"
  161. sources = [
  162. "javatests/src/org/chromium/chromoting/EventTest.java",
  163. "javatests/src/org/chromium/chromoting/MockInputStub.java",
  164. "javatests/src/org/chromium/chromoting/SwipePinchDetectorTest.java",
  165. "javatests/src/org/chromium/chromoting/TapGestureDetectorTest.java",
  166. "javatests/src/org/chromium/chromoting/TouchEventBuilder.java",
  167. "javatests/src/org/chromium/chromoting/TouchEventGenerator.java",
  168. "javatests/src/org/chromium/chromoting/TouchInputStrategyTest.java",
  169. "javatests/src/org/chromium/chromoting/test/util/MutableReference.java",
  170. ]
  171. deps = [
  172. ":remoting_android_client_java",
  173. "//base:base_java",
  174. "//base:base_java_test_support",
  175. "//third_party/android_support_test_runner:runner_java",
  176. "//third_party/androidx:androidx_test_runner_java",
  177. "//third_party/junit:junit",
  178. ]
  179. if (!is_java_debug) {
  180. proguard_enabled = true
  181. }
  182. }