summaryrefslogtreecommitdiffstats
path: root/build/jar_file_jni_generator.gypi
diff options
context:
space:
mode:
authorfelipeg@chromium.org <felipeg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-02 18:04:49 +0000
committerfelipeg@chromium.org <felipeg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-02 18:04:49 +0000
commit83c09ff8774621770d106b74274727c501908d61 (patch)
treedd802f9dc0681a453c257d1b0f7cefdc2f9dd49b /build/jar_file_jni_generator.gypi
parentefd53e24469b48845179badc449d524bbdc87d3d (diff)
downloadchromium_src-83c09ff8774621770d106b74274727c501908d61.zip
chromium_src-83c09ff8774621770d106b74274727c501908d61.tar.gz
chromium_src-83c09ff8774621770d106b74274727c501908d61.tar.bz2
Upstreaming AndroidProtocolAdapter.
We currently don't have a way of compiling or running java unittests upstream. So the java unittest for AndroidProtocolAdapter is being done only downstream for now. It should be upstreamed once we can. BUG=136983 TEST= Review URL: https://chromiumcodereview.appspot.com/10832034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149653 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/jar_file_jni_generator.gypi')
-rw-r--r--build/jar_file_jni_generator.gypi53
1 files changed, 53 insertions, 0 deletions
diff --git a/build/jar_file_jni_generator.gypi b/build/jar_file_jni_generator.gypi
new file mode 100644
index 0000000..3c14cf8
--- /dev/null
+++ b/build/jar_file_jni_generator.gypi
@@ -0,0 +1,53 @@
+# Copyright (c) 2012 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.
+
+# This file is meant to be included into a target to provide a rule
+# to generate jni bindings for system Java-files in a consistent manner.
+#
+# To use this, create a gyp target with the following form:
+# {
+# 'target_name': 'android_jar_jni_headers',
+# 'type': 'none',
+# 'variables': {
+# 'jni_gen_dir': 'chrome',
+# 'input_java_class': 'java/io/InputStream.class',
+# 'input_jar_file': '<(android_sdk)/android.jar',
+# },
+# 'includes': [ '../build/jar_file_jni_generator.gypi' ],
+# },
+
+{
+ 'variables': {
+ 'jni_generator': '<(DEPTH)/base/android/jni_generator/jni_generator.py',
+ },
+ 'actions': [
+ {
+ 'action_name': 'generate_jni_headers_from_jar_file',
+ 'inputs': [
+ '<(jni_generator)',
+ '<(input_jar_file)',
+ ],
+ 'variables': {
+ 'java_class_name': '<!(basename <(input_java_class)|sed "s/\.class//")'
+ },
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/<(jni_gen_dir)/jni/<(java_class_name)_jni.h',
+ ],
+ 'action': [
+ '<(jni_generator)',
+ '-j',
+ '<(input_jar_file)',
+ '--input_file',
+ '<(input_java_class)',
+ '--output_dir',
+ '<(SHARED_INTERMEDIATE_DIR)/<(jni_gen_dir)/jni',
+ ],
+ 'message': 'Generating JNI bindings from <(input_jar_file)/<(input_java_class)',
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ # This target exports a hard dependency because it generates header
+ # files.
+ 'hard_dependency': 1,
+}