blob: e4d49ab7c6d52dd59f17fd8d3c7de6ea34ff4939 [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("//base/android/jni_generator/jni_exception_list.gni")
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/credits/credits.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"
}
generate_jni_registration("remoting_jni_registration") {
target = ":remoting_apk"
output = "$root_gen_dir/remoting/client/${target_name}.h"
exception_files = jni_exception_files
}
_raw_resources_base_dir = "$target_gen_dir/credits_resources_raw/res"
# The target is named this way, instead of "..._raw_resources", specifically
# to avoid matching any of the _java_target_whitelist items in
# build/config/android/internal_rules.gni
remoting_credits("credits_resources_raw") {
credits_gen_dir = "$_raw_resources_base_dir/raw"
gn_target = "//remoting/android:remoting_apk"
}
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(":credits_resources_raw")
deps = [
":credits_resources_raw",
"//remoting/resources:strings_java",
"//third_party/android_tools:android_support_v7_appcompat_java",
]
}
remoting_android_client_java_tmpl("remoting_android_client_java") {
play_services_package = "//third_party/android_tools"
}
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",
"//third_party/junit:junit",
]
}