Граф коммитов

11 Коммитов

Автор SHA1 Сообщение Дата
bulach@chromium.org c4dfd98310 Android: sync up latest JNI generator changes from downstream.
Quite a few changes were made downstream, keep them in sync:
- specify the #include files.
- inject the common DCHECKs for class and native pointers.
- inject the check exception call.

BUG=

Review URL: https://codereview.chromium.org/115103002

git-svn-id: http://src.chromium.org/svn/trunk/src/build@243558 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-01-08 14:41:13 +00:00
blundell@chromium.org 9e5b639032 Have jni_generator.gypi specify include_dirs to dependent targets.
Rather than each dependent target of a target that generates jni headers having
to specify the appropriate include_dir manually, jni_generator.gypi can do it
via direct_dependent_settings.

TBR=darin@chromium.org

Review URL: https://codereview.chromium.org/111493006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@241216 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-12-17 08:31:34 +00:00
bulach@chromium.org 19630b225e Android: adds ptr_type to jni_generator.
Allows ptr_type to be configurable.

BUG=

Review URL: https://codereview.chromium.org/49913003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@232858 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-11-05 00:54:22 +00:00
torne@chromium.org ce220bdd17 Android WebView: add empty jarjar ruleset.
We don't have any jarjar rules yet, but add the empty file now in order
that the downstream build can enable jarjar. This way, when rules are
added later it will just work, instead of breaking the downstream build
temporarily.

Also, make sure that when a jarjar rule file is being used, it's
considered as an input to the JNI generator step, to make sure the JNI
header files get regenerated when the rules change.

BUG=

Review URL: https://chromiumcodereview.appspot.com/15888011

git-svn-id: http://src.chromium.org/svn/trunk/src/build@203141 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-05-30 14:16:12 +00:00
torne@chromium.org 048a8b0ebc Android: allow JNI generator to be used with jarjar.
When using jarjar to rename Java packages to avoid name conflicts, the
generated JNI code no longer works as it refers to the old name. Support
using the jarjar remapping list during JNI generation to generate code
that refers to the post-remapping names, since the JNI headers are not
intended to be read by humans anyway.

BUG=

Review URL: https://chromiumcodereview.appspot.com/15715006

git-svn-id: http://src.chromium.org/svn/trunk/src/build@202856 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-05-29 13:51:23 +00:00
yfriedman@chromium.org da06ce8ed8 [Android] Change jni_gen_dir to jni_gen_package for jni_generator.
With the old name it was getting relativized which is undesirable. See
bug for more details.

BUG=159133
TBR=ben (nobody really cares about this outside of build/ which cjhopman approved)


Review URL: https://chromiumcodereview.appspot.com/12558005

git-svn-id: http://src.chromium.org/svn/trunk/src/build@186803 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-03-07 22:34:05 +00:00
tedchoc@chromium.org 7a45e488db Add gyp flag to specify whether we should optimize JNI generation.
Do not regenerate JNI files (and subsequently the .so file) if they have
not changed.  This will happen if you edit a java file that has a native
counterpart, but the native signatures were not touched.

We do not enable this all the time as some build systems require that
when you modify an input, the output should also be modified.  This
also will result in more command line output, so we'll keep it behind
a developer flag for now.

BUG=


Review URL: https://chromiumcodereview.appspot.com/12314025

git-svn-id: http://src.chromium.org/svn/trunk/src/build@183936 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-02-22 00:37:33 +00:00
bulach@chromium.org 7d38bac524 Android: uses "import" section and inner classes for obtaining qualified JNI parameters.
Rather than explicitly listing all the parameters
(see crbug.com/158722), infer almost all of them from the import section and inner classes.
Assumes other classes are in the same package as a fallback.

BUG=159397
TEST=base/android/jni_generator/jni_generator_tests.py


Review URL: https://chromiumcodereview.appspot.com/11363079

git-svn-id: http://src.chromium.org/svn/trunk/src/build@166482 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-11-07 19:06:51 +00:00
bulach@chromium.org 97330b958e Android: passes a list of qualified JNI parameters as a param to the generator.
Instead of hardcoding the list of qualified JNI parameters,
pass it as a parameter so that different modules can inject their
classes.
This is the first step in such decoupling; follow up will start splitting
the class_list.jni list closer to their modules.

BUG=158722
TEST=jni_generator_tests

Review URL: https://chromiumcodereview.appspot.com/11339013

git-svn-id: http://src.chromium.org/svn/trunk/src/build@165250 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-10-31 22:58:15 +00:00
bulach@chromium.org cd14de0058 Uses gyp "rules" rather than "actions" templates for the JNI generator.
This allow finer grain control over what is rebuilt.
Also, since we have approval over the generated header file name,
it greatly simplifies both the generator and also all the gyp files
as they no longer need to list the header file and keep in sync with the
java file, so the process now is as simple as adding a single java file
to the sources.

BUG=137069
TEST=build on android


Review URL: https://chromiumcodereview.appspot.com/10798010

git-svn-id: http://src.chromium.org/svn/trunk/src/build@147515 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-07-19 20:02:55 +00:00
yfriedman@chromium.org 884abb2d56 Add templates for building java and running the jni_generator.
As requested in http://codereview.chromium.org/10073024/, I've created
templates for these two actions. I've also applied them to base.


Review URL: http://codereview.chromium.org/10081035

git-svn-id: http://src.chromium.org/svn/trunk/src/build@132537 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2012-04-17 04:39:52 +00:00