load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library") java_library( name = "org_apache_arrow_arrow_plasma", srcs = glob(["java/plasma/src/main/java/**/*.java"]), data = [":plasma_client_java"], visibility = ["//visibility:public"], deps = [ "@maven//:org_slf4j_slf4j_api", ], ) java_binary( name = "org_apache_arrow_arrow_plasma_test", srcs = ["java/plasma/src/test/java/org/apache/arrow/plasma/PlasmaClientTest.java"], main_class = "org.apache.arrow.plasma.PlasmaClientTest", visibility = ["//visibility:public"], deps = [ ":org_apache_arrow_arrow_plasma", "@maven//:junit_junit", ], ) cc_library( name = "arrow", srcs = [ "cpp/src/arrow/buffer.cc", "cpp/src/arrow/io/interfaces.cc", "cpp/src/arrow/memory_pool.cc", "cpp/src/arrow/status.cc", "cpp/src/arrow/util/io-util.cc", "cpp/src/arrow/util/logging.cc", "cpp/src/arrow/util/memory.cc", "cpp/src/arrow/util/string_builder.cc", "cpp/src/arrow/util/thread-pool.cc", ], hdrs = [ "cpp/src/arrow/buffer.h", "cpp/src/arrow/io/interfaces.h", "cpp/src/arrow/memory_pool.h", "cpp/src/arrow/status.h", "cpp/src/arrow/util/bit-util.h", "cpp/src/arrow/util/io-util.h", "cpp/src/arrow/util/logging.h", "cpp/src/arrow/util/macros.h", "cpp/src/arrow/util/memory.h", "cpp/src/arrow/util/stl.h", "cpp/src/arrow/util/string.h", "cpp/src/arrow/util/string_builder.h", "cpp/src/arrow/util/string_view.h", "cpp/src/arrow/util/thread-pool.h", "cpp/src/arrow/util/type_traits.h", "cpp/src/arrow/util/ubsan.h", "cpp/src/arrow/util/visibility.h", "cpp/src/arrow/util/windows_compatibility.h", "cpp/src/arrow/vendored/string_view.hpp", "cpp/src/arrow/vendored/xxhash/xxhash.c", "cpp/src/arrow/vendored/xxhash/xxhash.h", ], strip_include_prefix = "cpp/src", deps = [ "@boost//:filesystem", ], ) cc_library( name = "plasma_client", srcs = [ "cpp/src/plasma/client.cc", "cpp/src/plasma/common.cc", "cpp/src/plasma/fling.cc", "cpp/src/plasma/io.cc", "cpp/src/plasma/malloc.cc", "cpp/src/plasma/plasma.cc", "cpp/src/plasma/protocol.cc", ], hdrs = [ "cpp/src/plasma/client.h", "cpp/src/plasma/common.h", "cpp/src/plasma/common_generated.h", "cpp/src/plasma/compat.h", "cpp/src/plasma/external_store.h", "cpp/src/plasma/fling.h", "cpp/src/plasma/io.h", "cpp/src/plasma/malloc.h", "cpp/src/plasma/plasma.h", "cpp/src/plasma/plasma_generated.h", "cpp/src/plasma/protocol.h", ], strip_include_prefix = "cpp/src", visibility = ["//visibility:public"], deps = [ ":arrow", ":common_fbs", ":plasma_fbs", ], ) cc_binary( name = "libplasma_java.so", srcs = [ "cpp/src/plasma/lib/java/org_apache_arrow_plasma_PlasmaClientJNI.cc", "cpp/src/plasma/lib/java/org_apache_arrow_plasma_PlasmaClientJNI.h", ":jni.h", ":jni_md.h", ], includes = [ ".", "cpp/src", ], linkshared = 1, linkstatic = 1, deps = [":plasma_client"], ) genrule( name = "copy_jni_h", srcs = ["@bazel_tools//tools/jdk:jni_header"], outs = ["jni.h"], cmd = "cp -f $< $@", ) genrule( name = "copy_jni_md_h", srcs = select({ "@bazel_tools//src/conditions:windows": ["@bazel_tools//tools/jdk:jni_md_header-windows"], "@bazel_tools//src/conditions:darwin": ["@bazel_tools//tools/jdk:jni_md_header-darwin"], "//conditions:default": ["@bazel_tools//tools/jdk:jni_md_header-linux"], }), outs = ["jni_md.h"], cmd = "cp -f $< $@", ) genrule( name = "plasma-jni-darwin-compat", srcs = [":libplasma_java.so"], outs = ["libplasma_java.dylib"], cmd = "cp $< $@", output_to_bindir = 1, ) filegroup( name = "plasma_client_java", srcs = select({ "@bazel_tools//src/conditions:darwin": [":libplasma_java.dylib"], "//conditions:default": [":libplasma_java.so"], }), visibility = ["//visibility:public"], ) cc_library( name = "plasma_lib", srcs = [ "cpp/src/plasma/dlmalloc.cc", "cpp/src/plasma/events.cc", "cpp/src/plasma/eviction_policy.cc", "cpp/src/plasma/external_store.cc", "cpp/src/plasma/plasma_allocator.cc", "cpp/src/plasma/thirdparty/ae/ae.c", ], hdrs = [ "cpp/src/plasma/events.h", "cpp/src/plasma/eviction_policy.h", "cpp/src/plasma/external_store.h", "cpp/src/plasma/plasma_allocator.h", "cpp/src/plasma/store.h", "cpp/src/plasma/thirdparty/ae/ae.h", "cpp/src/plasma/thirdparty/ae/ae_epoll.c", "cpp/src/plasma/thirdparty/ae/ae_evport.c", "cpp/src/plasma/thirdparty/ae/ae_kqueue.c", "cpp/src/plasma/thirdparty/ae/ae_select.c", "cpp/src/plasma/thirdparty/ae/config.h", "cpp/src/plasma/thirdparty/ae/zmalloc.h", "cpp/src/plasma/thirdparty/dlmalloc.c", ], strip_include_prefix = "cpp/src", deps = [":plasma_client"], ) cc_binary( name = "plasma_store_server", srcs = [ "cpp/src/plasma/store.cc", ], visibility = ["//visibility:public"], deps = [":plasma_lib"], ) FLATC_ARGS = [ "--gen-object-api", "--gen-mutable", "--scoped-enums", ] flatbuffer_cc_library( name = "common_fbs", srcs = ["cpp/src/plasma/format/common.fbs"], flatc_args = FLATC_ARGS, out_prefix = "cpp/src/plasma/", ) flatbuffer_cc_library( name = "plasma_fbs", srcs = ["cpp/src/plasma/format/plasma.fbs"], flatc_args = FLATC_ARGS, includes = ["cpp/src/plasma/format/common.fbs"], out_prefix = "cpp/src/plasma/", ) exports_files(["cpp/src/plasma/format/common.fbs"])