Let's say I hav:
- a C library
libfoo
, - a package
org.foo.jni
of JNI bindings tolibfoo
, and - a package
com.user.of.foo
of client code.
Obviously, if functions that org.foo.jni
touches in libfoo
change, I need to recompile the classes in org.foo.jni
. And, also obviously, if methods that com.user.of.foo
touches in org.foo.jni
change, I need to recompile the classes in com.user.of.foo
. But...
- If I change
libfoo
to fix a bug, but don't change the interface, do I have to recompile the classes inorg.foo.jni
? - If I change the interface to
libfoo
, but only in functions not called fromorg.foo.jni
, do I have to recompile the classes inorg.foo.jni
? - If I recompile the classes in
org.foo.jni
because of some change inlibfoo
, but don't change the interface toorg.foo.jni
, do I have to recompile the classes incom.user.of.foo
?