diff options
author | lambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-23 22:06:30 +0000 |
---|---|---|
committer | lambroslambrou@chromium.org <lambroslambrou@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-23 22:06:30 +0000 |
commit | 248c476635bd2b07f12f5ee705d0468b77e7c7db (patch) | |
tree | 4ae2c2b23183ef5c8b6aa38e01a2b390c6ec7464 /remoting/remoting_android.gypi | |
parent | 34674fd597065fdd1ab1e43993aa0c9a4a69a4cb (diff) | |
download | chromium_src-248c476635bd2b07f12f5ee705d0468b77e7c7db.zip chromium_src-248c476635bd2b07f12f5ee705d0468b77e7c7db.tar.gz chromium_src-248c476635bd2b07f12f5ee705d0468b77e7c7db.tar.bz2 |
Refactor GYP targets for Android Chromoting client
This creates a separate target, remoting_java, that builds the Java
code and resources. The remoting_apk target depends on this target and
builds the final APK.
Several changes were needed, since the build/java.gypi file has some
features and checks not present in build/java_apk.gypi:
* switch/case statements changed to if/else chains, since the generated
R.java uses 'int' instead of 'const int' for resource IDs.
* XML style fixes necessitated by the lint-style checking, and v14
resource generation.
* A new Java class added: RemotingApplication. This is needed right now
because the APK build step requires at least one Java source file. In
future, this class will override onCreate(), and a different override
will be used for official builds, to dependency-inject Java code that
requires closed-source dependencies (such as the Help+Feedback
implementation).
TEST=Builds and runs. Touching various files triggers rebuild.
Review URL: https://codereview.chromium.org/245893004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265750 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/remoting_android.gypi')
-rw-r--r-- | remoting/remoting_android.gypi | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/remoting/remoting_android.gypi b/remoting/remoting_android.gypi index 7a8c6ed..d0865d6 100644 --- a/remoting/remoting_android.gypi +++ b/remoting/remoting_android.gypi @@ -79,47 +79,51 @@ }], }, # end of target 'remoting_apk_manifest' { - 'target_name': 'remoting_apk', + 'target_name': 'remoting_android_client_java', 'type': 'none', + 'variables': { + 'java_in_dir': 'android/java', + 'has_java_resources': 1, + 'R_package': 'org.chromium.chromoting', + 'R_package_relpath': 'org/chromium/chromoting', + 'res_extra_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ], + 'res_extra_files': [ + '<!@pymod_do_main(grit_info <@(grit_defines) --outputs "<(SHARED_INTERMEDIATE_DIR)" resources/remoting_strings.grd)', + '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/drawable/chromoting128.png', + '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res/drawable/icon_host.png', + ], + }, 'dependencies': [ + '../base/base.gyp:base_java', + '../ui/android/ui_android.gyp:ui_java', 'remoting_android_resources', + ], + 'includes': [ '../build/java.gypi' ], + }, + { + 'target_name': 'remoting_apk', + 'type': 'none', + 'dependencies': [ 'remoting_apk_manifest', 'remoting_client_jni', + 'remoting_android_client_java', ], 'variables': { 'apk_name': '<!(python <(version_py_path) -f <(branding_path) -t "@APK_FILE_NAME@")', 'android_app_version_name': '<(version_full)', 'android_app_version_code': '<!(python tools/android_version.py <(android_app_version_name))', 'android_manifest_path': '<(SHARED_INTERMEDIATE_DIR)/remoting/android/AndroidManifest.xml', + 'java_in_dir': 'android/apk', 'native_lib_target': 'libremoting_client_jni', - 'java_in_dir': 'android/java', - 'R_package': 'org.chromium.chromoting', - 'package_name': '<(_target_name)', - 'resource_dir': 'android/java/res', - 'additional_res_dirs': [ '<(SHARED_INTERMEDIATE_DIR)/remoting/android/res' ], - 'additional_input_paths': [ - '<(PRODUCT_DIR)/obj/remoting/remoting_android_resources.actions_rules_copies.stamp', - '<(PRODUCT_DIR)/obj/remoting/remoting_resources.actions_rules_copies.stamp', - ], }, 'includes': [ '../build/java_apk.gypi' ], }, # end of target 'remoting_apk' { - # remoting_apk creates a .jar file as a side effect. Any Java targets - # that need that .jar in their classpath should depend on this target. - 'target_name': 'remoting_apk_java', - 'type': 'none', - 'dependencies': [ - 'remoting_apk', - ], - 'includes': [ '../build/apk_fake_jar.gypi' ], - }, # end of target 'remoting_apk_java' - { 'target_name': 'remoting_test_apk', 'type': 'none', 'dependencies': [ '../base/base.gyp:base_java_test_support', - 'remoting_apk_java', + 'remoting_android_client_java', ], 'variables': { 'apk_name': 'ChromotingTest', |