• A
    Plugin java jni support (#9575) · ce84e502
    Alan Paxton 提交于
    Summary:
    Extend the plugin architecture to allow for the inclusion, building and testing of Java and JNI components of a plugin. This will cause the JAR built by `$ make rocksdbjava` to include the extra functionality provided by the plugin, and will cause `$ make jtest` to add the java tests provided by the plugin to the tests built and run by Java testing.
    
    The plugin's `<plugin>.mk` file can define:
    ```
    <plugin>_JNI_NATIVE_SOURCES
    <plugin>_NATIVE_JAVA_CLASSES
    <plugin>_JAVA_TESTS
    ```
    The plugin should provide java/src, java/test and java/rocksjni directories. When a plugin is required to be build it must be named in the ROCKSDB_PLUGINS environment variable (as per the plugin architecture). This now has the effect of adding the files specified by the above definitions to the appropriate parts of the build.
    
    An example of a plugin with a Java component can be found as part of the hdfs plugin in https://github.com/riversand963/rocksdb-hdfs-env - at the time of writing the Java part of this fails tests, and needs a little work to complete, but it builds correctly under the plugin model.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/9575
    
    Reviewed By: hx235
    
    Differential Revision: D34253948
    
    Pulled By: riversand963
    
    fbshipit-source-id: b3dde5da06f3d3c25c54246892097ae2a369b42d
    ce84e502
Makefile 94.4 KB