2019-05-16 11:19:31 +08:00
|
|
|
load("//bazel:ray.bzl", "flatbuffer_java_library", "define_java_module")
|
2019-03-22 14:30:05 +08:00
|
|
|
|
|
|
|
exports_files([
|
|
|
|
"testng.xml",
|
|
|
|
"checkstyle.xml",
|
|
|
|
"checkstyle-suppressions.xml",
|
2019-03-30 19:32:05 +08:00
|
|
|
"streaming/testng.xml",
|
2019-03-22 14:30:05 +08:00
|
|
|
])
|
|
|
|
|
2019-05-16 11:19:31 +08:00
|
|
|
all_modules = [
|
|
|
|
"api",
|
|
|
|
"runtime",
|
|
|
|
"test",
|
|
|
|
"tutorial",
|
|
|
|
"streaming",
|
|
|
|
]
|
|
|
|
|
2019-03-22 14:30:05 +08:00
|
|
|
java_import(
|
|
|
|
name = "all_modules",
|
|
|
|
jars = [
|
2019-05-16 11:19:31 +08:00
|
|
|
"liborg_ray_ray_" + module + ".jar" for module in all_modules
|
|
|
|
] + [
|
|
|
|
"liborg_ray_ray_" + module + "-src.jar" for module in all_modules
|
|
|
|
] + [
|
2019-03-22 14:30:05 +08:00
|
|
|
"all_tests_deploy.jar",
|
|
|
|
"all_tests_deploy-src.jar",
|
2019-03-30 19:32:05 +08:00
|
|
|
"streaming_tests_deploy.jar",
|
|
|
|
"streaming_tests_deploy-src.jar",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
deps = [
|
2019-05-16 11:19:31 +08:00
|
|
|
":org_ray_ray_" + module for module in all_modules
|
|
|
|
] + [
|
2019-03-22 14:30:05 +08:00
|
|
|
":all_tests",
|
2019-03-30 19:32:05 +08:00
|
|
|
":streaming_tests",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
define_java_module(
|
|
|
|
name = "api",
|
|
|
|
deps = [
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:org_slf4j_slf4j_log4j12",
|
|
|
|
"@maven//:log4j_log4j",
|
|
|
|
"@maven//:javax_xml_bind_jaxb_api",
|
|
|
|
"@maven//:com_sun_xml_bind_jaxb_core",
|
|
|
|
"@maven//:com_sun_xml_bind_jaxb_impl",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
define_java_module(
|
|
|
|
name = "runtime",
|
|
|
|
additional_srcs = [
|
|
|
|
":generate_java_gcs_fbs",
|
|
|
|
],
|
|
|
|
additional_resources = [
|
|
|
|
":java_native_deps",
|
|
|
|
],
|
|
|
|
define_test_lib = True,
|
|
|
|
test_deps = [
|
|
|
|
":org_ray_ray_api",
|
|
|
|
":org_ray_ray_runtime",
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:org_apache_commons_commons_lang3",
|
|
|
|
"@maven//:com_beust_jcommander",
|
|
|
|
"@maven//:org_testng_testng",
|
|
|
|
"@maven//:commons_io_commons_io",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
deps = [
|
|
|
|
":org_ray_ray_api",
|
|
|
|
"@plasma//:org_apache_arrow_arrow_plasma",
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:com_github_davidmoten_flatbuffers_java",
|
|
|
|
"@maven//:com_google_guava_guava",
|
|
|
|
"@maven//:com_typesafe_config",
|
|
|
|
"@maven//:commons_io_commons_io",
|
|
|
|
"@maven//:de_ruedigermoeller_fst",
|
|
|
|
"@maven//:org_apache_commons_commons_lang3",
|
|
|
|
"@maven//:org_ow2_asm_asm",
|
|
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
|
|
"@maven//:org_slf4j_slf4j_log4j12",
|
|
|
|
"@maven//:redis_clients_jedis",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
define_java_module(
|
|
|
|
name = "tutorial",
|
|
|
|
deps = [
|
|
|
|
":org_ray_ray_api",
|
|
|
|
":org_ray_ray_runtime",
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:com_google_guava_guava",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
define_java_module(
|
|
|
|
name = "test",
|
|
|
|
deps = [
|
|
|
|
":org_ray_ray_api",
|
|
|
|
":org_ray_ray_runtime",
|
|
|
|
"@plasma//:org_apache_arrow_arrow_plasma",
|
2019-06-17 19:00:50 +08:00
|
|
|
"@maven//:com_google_guava_guava",
|
|
|
|
"@maven//:com_sun_xml_bind_jaxb_core",
|
|
|
|
"@maven//:com_sun_xml_bind_jaxb_impl",
|
|
|
|
"@maven//:commons_io_commons_io",
|
|
|
|
"@maven//:javax_xml_bind_jaxb_api",
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:org_apache_commons_commons_lang3",
|
|
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
|
|
"@maven//:org_testng_testng",
|
2019-03-22 14:30:05 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2019-03-30 19:32:05 +08:00
|
|
|
define_java_module(
|
|
|
|
name = "streaming",
|
|
|
|
deps = [
|
|
|
|
":org_ray_ray_api",
|
|
|
|
":org_ray_ray_runtime",
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:com_google_guava_guava",
|
|
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
|
|
"@maven//:org_slf4j_slf4j_log4j12",
|
2019-03-30 19:32:05 +08:00
|
|
|
],
|
|
|
|
define_test_lib = True,
|
|
|
|
test_deps = [
|
|
|
|
":org_ray_ray_api",
|
|
|
|
":org_ray_ray_runtime",
|
|
|
|
":org_ray_ray_streaming",
|
2019-04-18 16:53:25 +08:00
|
|
|
"@maven//:com_beust_jcommander",
|
|
|
|
"@maven//:com_google_guava_guava",
|
|
|
|
"@maven//:org_slf4j_slf4j_api",
|
|
|
|
"@maven//:org_slf4j_slf4j_log4j12",
|
|
|
|
"@maven//:org_testng_testng",
|
2019-03-30 19:32:05 +08:00
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2019-03-22 14:30:05 +08:00
|
|
|
java_binary(
|
|
|
|
name = "all_tests",
|
|
|
|
main_class = "org.testng.TestNG",
|
|
|
|
data = ["testng.xml"],
|
|
|
|
args = ["java/testng.xml"],
|
|
|
|
runtime_deps = [
|
|
|
|
":org_ray_ray_test",
|
|
|
|
":org_ray_ray_runtime_test",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2019-03-30 19:32:05 +08:00
|
|
|
java_binary(
|
|
|
|
name = "streaming_tests",
|
|
|
|
main_class = "org.testng.TestNG",
|
|
|
|
data = ["streaming/testng.xml"],
|
|
|
|
args = ["java/streaming/testng.xml"],
|
|
|
|
runtime_deps = [
|
|
|
|
":org_ray_ray_streaming_test",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2019-03-22 14:30:05 +08:00
|
|
|
flatbuffers_generated_files = [
|
|
|
|
"ActorCheckpointData.java",
|
|
|
|
"ActorCheckpointIdData.java",
|
|
|
|
"ActorState.java",
|
|
|
|
"ActorTableData.java",
|
|
|
|
"Arg.java",
|
|
|
|
"ClassTableData.java",
|
|
|
|
"ClientTableData.java",
|
|
|
|
"ConfigTableData.java",
|
|
|
|
"CustomSerializerData.java",
|
|
|
|
"DriverTableData.java",
|
2019-05-11 05:06:04 -07:00
|
|
|
"EntryType.java",
|
2019-03-22 14:30:05 +08:00
|
|
|
"ErrorTableData.java",
|
|
|
|
"ErrorType.java",
|
|
|
|
"FunctionTableData.java",
|
2019-06-07 16:11:37 +08:00
|
|
|
"GcsEntry.java",
|
2019-03-22 14:30:05 +08:00
|
|
|
"HeartbeatBatchTableData.java",
|
|
|
|
"HeartbeatTableData.java",
|
|
|
|
"Language.java",
|
|
|
|
"ObjectTableData.java",
|
|
|
|
"ProfileEvent.java",
|
|
|
|
"ProfileTableData.java",
|
|
|
|
"RayResource.java",
|
|
|
|
"ResourcePair.java",
|
|
|
|
"SchedulingState.java",
|
|
|
|
"TablePrefix.java",
|
|
|
|
"TablePubsub.java",
|
|
|
|
"TaskInfo.java",
|
|
|
|
"TaskLeaseData.java",
|
|
|
|
"TaskReconstructionData.java",
|
|
|
|
"TaskTableData.java",
|
|
|
|
"TaskTableTestAndUpdate.java",
|
|
|
|
]
|
|
|
|
|
|
|
|
flatbuffer_java_library(
|
|
|
|
name = "java_gcs_fbs",
|
|
|
|
srcs = ["//:gcs_fbs_file"],
|
|
|
|
outs = flatbuffers_generated_files,
|
|
|
|
out_prefix = "",
|
|
|
|
)
|
|
|
|
|
|
|
|
genrule(
|
|
|
|
name = "generate_java_gcs_fbs",
|
|
|
|
srcs = [":java_gcs_fbs"],
|
|
|
|
outs = [
|
|
|
|
"runtime/src/main/java/org/ray/runtime/generated/" + file for file in flatbuffers_generated_files
|
|
|
|
],
|
|
|
|
cmd = """
|
|
|
|
for f in $(locations //java:java_gcs_fbs); do
|
|
|
|
chmod +w $$f
|
|
|
|
cp -f $$f $(@D)/runtime/src/main/java/org/ray/runtime/generated
|
|
|
|
done
|
|
|
|
python $$(pwd)/java/modify_generated_java_flatbuffers_files.py $(@D)/..
|
|
|
|
""",
|
|
|
|
local = 1,
|
|
|
|
)
|
|
|
|
|
|
|
|
filegroup(
|
|
|
|
name = "java_native_deps",
|
|
|
|
srcs = [
|
|
|
|
"//:redis-server",
|
|
|
|
"//:libray_redis_module.so",
|
|
|
|
"//:raylet",
|
|
|
|
"//:raylet_library_java",
|
|
|
|
"@plasma//:plasma_store_server",
|
|
|
|
"@plasma//:plasma_client_java",
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
# Generates the depedencies needed by maven.
|
|
|
|
genrule(
|
|
|
|
name = "gen_maven_deps",
|
|
|
|
srcs = [
|
|
|
|
":java_native_deps",
|
|
|
|
":generate_java_gcs_fbs",
|
|
|
|
"@plasma//:org_apache_arrow_arrow_plasma",
|
|
|
|
],
|
|
|
|
outs = ["gen_maven_deps.out"],
|
|
|
|
cmd = """
|
|
|
|
set -x
|
|
|
|
WORK_DIR=$$(pwd)
|
|
|
|
# Copy native dependecies.
|
|
|
|
NATIVE_DEPS_DIR=$$WORK_DIR/java/runtime/native_dependencies/
|
|
|
|
rm -rf $$NATIVE_DEPS_DIR
|
|
|
|
mkdir -p $$NATIVE_DEPS_DIR
|
|
|
|
for f in $(locations //java:java_native_deps); do
|
|
|
|
chmod +w $$f
|
|
|
|
cp $$f $$NATIVE_DEPS_DIR
|
|
|
|
done
|
|
|
|
# Copy flatbuffers-generated files
|
|
|
|
GENERATED_DIR=$$WORK_DIR/java/runtime/src/main/java/org/ray/runtime/generated
|
|
|
|
rm -rf $$GENERATED_DIR
|
|
|
|
mkdir -p $$GENERATED_DIR
|
|
|
|
for f in $(locations //java:generate_java_gcs_fbs); do
|
|
|
|
cp $$f $$GENERATED_DIR
|
|
|
|
done
|
|
|
|
# Install plasma jar to local maven repo.
|
|
|
|
mvn install:install-file -Dfile=$(locations @plasma//:org_apache_arrow_arrow_plasma) -Dpackaging=jar \
|
|
|
|
-DgroupId=org.apache.arrow -DartifactId=arrow-plasma -Dversion=0.13.0-SNAPSHOT
|
|
|
|
echo $$(date) > $@
|
|
|
|
""",
|
|
|
|
local = 1,
|
|
|
|
)
|
2019-04-29 13:02:49 +08:00
|
|
|
|
|
|
|
genrule(
|
|
|
|
name = "copy_pom_file",
|
|
|
|
srcs = [
|
2019-05-16 11:19:31 +08:00
|
|
|
"//java:org_ray_ray_" + module + "_pom" for module in all_modules
|
2019-04-29 13:02:49 +08:00
|
|
|
],
|
|
|
|
outs = ["copy_pom_file.out"],
|
|
|
|
cmd = """
|
|
|
|
set -x
|
|
|
|
WORK_DIR=$$(pwd)
|
|
|
|
cp -f $(location //java:org_ray_ray_api_pom) $$WORK_DIR/java/api/pom.xml
|
|
|
|
cp -f $(location //java:org_ray_ray_runtime_pom) $$WORK_DIR/java/runtime/pom.xml
|
|
|
|
cp -f $(location //java:org_ray_ray_tutorial_pom) $$WORK_DIR/java/tutorial/pom.xml
|
|
|
|
cp -f $(location //java:org_ray_ray_test_pom) $$WORK_DIR/java/test/pom.xml
|
2019-05-16 11:19:31 +08:00
|
|
|
cp -f $(location //java:org_ray_ray_streaming_pom) $$WORK_DIR/java/streaming/pom.xml
|
2019-04-29 13:02:49 +08:00
|
|
|
echo $$(date) > $@
|
|
|
|
""",
|
|
|
|
local = 1,
|
|
|
|
tags = ["no-cache"],
|
|
|
|
)
|