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
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
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
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
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
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