mirror of
https://github.com/wassname/ray.git
synced 2026-06-27 19:32:11 +08:00
Add bazel build for JNI code (#3918)
* Add bazel build for JNI code * clean * Add plasma client JNI build process * refine * clean linux part * Add Java Library * Remove java library * Generate dylib after build using genrule
This commit is contained in:
committed by
Philipp Moritz
parent
e1c68a0881
commit
add8ae7063
+47
-3
@@ -338,6 +338,45 @@ pyx_library(
|
||||
deps = ["//:raylet_lib"]
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "raylet_library_java.so",
|
||||
srcs = [
|
||||
"@bazel_tools//tools/jdk:current_java_runtime",
|
||||
"src/ray/raylet/lib/java/org_ray_runtime_raylet_RayletClientImpl.h",
|
||||
"src/ray/raylet/lib/java/org_ray_runtime_raylet_RayletClientImpl.cc",
|
||||
"src/ray/id.h",
|
||||
"src/ray/raylet/raylet_client.h",
|
||||
"src/ray/util/logging.h"
|
||||
],
|
||||
includes = [
|
||||
"src",
|
||||
"external/local_jdk/include"] + select({
|
||||
"@bazel_tools//src/conditions:darwin": ["external/local_jdk/include/darwin"],
|
||||
"//conditions:default": ["external/local_jdk/include/linux"]
|
||||
}),
|
||||
linkshared = 1,
|
||||
linkstatic = 1,
|
||||
deps = ["@plasma//:plasma_client",
|
||||
"//:raylet_lib"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "raylet-jni-darwin-compat",
|
||||
srcs = [":raylet_library_java.so"],
|
||||
outs = ["raylet_library_java.dylib"],
|
||||
cmd = "cp $< $@",
|
||||
output_to_bindir = 1,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "raylet_library_java",
|
||||
visibility = ["//visibility:public"],
|
||||
srcs = select({
|
||||
"@bazel_tools//src/conditions:darwin": [":raylet_library_java.dylib"],
|
||||
"//conditions:default": [":raylet_library_java.so"],
|
||||
})
|
||||
)
|
||||
|
||||
flatbuffer_py_library(
|
||||
name = "python_gcs_fbs",
|
||||
srcs = [
|
||||
@@ -460,7 +499,9 @@ genrule(
|
||||
"//:ray_redis_module",
|
||||
"//:raylet",
|
||||
"//:raylet_monitor",
|
||||
"@plasma//:plasma_store_server"
|
||||
"@plasma//:plasma_store_server",
|
||||
"@plasma//:plasma_client_java",
|
||||
"//:raylet_library_java",
|
||||
],
|
||||
outs = ["ray_pkg"],
|
||||
cmd = """
|
||||
@@ -476,6 +517,9 @@ genrule(
|
||||
mkdir -p python/ray/core/src/plasma &&
|
||||
cp $(location @plasma//:plasma_store_server) python/ray/core/src/plasma/ &&
|
||||
cp $(location //:raylet) python/ray/core/src/ray/raylet/ &&
|
||||
mv python $(location ray_pkg)
|
||||
""",
|
||||
mv python $(location ray_pkg) &&
|
||||
mkdir -p $(location ray_pkg)/java_lib &&
|
||||
cp $(location @plasma//:plasma_client_java) $(location ray_pkg)/java_lib &&
|
||||
cp $(location //:raylet_library_java) $(location ray_pkg)/java_lib
|
||||
"""
|
||||
)
|
||||
|
||||
@@ -60,6 +60,41 @@ cc_library(
|
||||
strip_include_prefix = "cpp/src",
|
||||
)
|
||||
|
||||
cc_binary(
|
||||
name = "plasma_client_java.so",
|
||||
srcs = [
|
||||
"@bazel_tools//tools/jdk:current_java_runtime",
|
||||
"cpp/src/plasma/lib/java/org_apache_arrow_plasma_PlasmaClientJNI.cc",
|
||||
"cpp/src/plasma/lib/java/org_apache_arrow_plasma_PlasmaClientJNI.h"
|
||||
],
|
||||
includes = [
|
||||
"cpp/src",
|
||||
"../../external/local_jdk/include"] + select({
|
||||
"@bazel_tools//src/conditions:darwin": ["../../external/local_jdk/include/darwin"],
|
||||
"//conditions:default": ["../../external/local_jdk/include/linux"]
|
||||
}),
|
||||
linkshared = 1,
|
||||
linkstatic = 1,
|
||||
deps = [":plasma_client"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "plasma-jni-darwin-compat",
|
||||
srcs = [":plasma_client_java.so"],
|
||||
outs = ["plasma_client_java.dylib"],
|
||||
cmd = "cp $< $@",
|
||||
output_to_bindir = 1,
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "plasma_client_java",
|
||||
visibility = ["//visibility:public"],
|
||||
srcs = select({
|
||||
"@bazel_tools//src/conditions:darwin": [":plasma_client_java.dylib"],
|
||||
"//conditions:default": [":plasma_client_java.so"],
|
||||
})
|
||||
)
|
||||
|
||||
cc_library(
|
||||
name = "plasma_lib",
|
||||
hdrs = [
|
||||
|
||||
Reference in New Issue
Block a user