blob: f6c21856dc3a2d4f1c16ded3e211600c34c9f23f [file] [log] [blame]
# 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",
]
}