123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- load("//bazel:ray.bzl", "define_java_module")
- load("//bazel:ray.bzl", "native_java_binary")
- load("//bazel:ray.bzl", "native_java_library")
- load("@rules_proto_grpc//java:defs.bzl", "java_proto_compile")
- exports_files([
- "testng.xml",
- ])
- all_modules = [
- "streaming-state",
- "streaming-api",
- "streaming-runtime",
- ]
- java_import(
- name = "all_modules",
- jars = [
- "libio_ray_ray_" + module + ".jar"
- for module in all_modules
- ] + [
- "libio_ray_ray_" + module + "-src.jar"
- for module in all_modules
- ] + [
- "all_streaming_tests_deploy.jar",
- "all_streaming_tests_deploy-src.jar",
- ],
- deps = [
- ":io_ray_ray_" + module
- for module in all_modules
- ] + [
- ":all_streaming_tests",
- ],
- )
- define_java_module(
- name = "streaming-api",
- define_test_lib = True,
- test_deps = [
- "//java:io_ray_ray_api",
- ":io_ray_ray_streaming-state",
- ":io_ray_ray_streaming-api",
- "@maven//:com_google_guava_guava",
- "@maven//:org_apache_logging_log4j_log4j_api",
- "@maven//:org_apache_logging_log4j_log4j_core",
- "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
- "@maven//:org_slf4j_slf4j_api",
- "@maven//:org_testng_testng",
- "@maven//:org_yaml_snakeyaml",
- "@ray_streaming_maven//:org_apache_commons_commons_lang3",
- ],
- visibility = ["//visibility:public"],
- deps = [
- ":io_ray_ray_streaming-state",
- "//java:io_ray_ray_api",
- "//java:io_ray_ray_runtime",
- "@maven//:com_google_guava_guava",
- "@maven//:org_apache_logging_log4j_log4j_api",
- "@maven//:org_apache_logging_log4j_log4j_core",
- "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
- "@maven//:org_slf4j_slf4j_api",
- "@ray_streaming_maven//:com_google_code_findbugs_jsr305",
- "@ray_streaming_maven//:com_google_code_gson_gson",
- "@ray_streaming_maven//:org_apache_commons_commons_lang3",
- ],
- )
- define_java_module(
- name = "streaming-state",
- define_test_lib = True,
- test_deps = [
- ":io_ray_ray_streaming-state",
- "@maven//:com_google_guava_guava",
- "@maven//:org_apache_logging_log4j_log4j_api",
- "@maven//:org_apache_logging_log4j_log4j_core",
- "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
- "@maven//:org_slf4j_slf4j_api",
- "@maven//:org_testng_testng",
- "@maven//:de_ruedigermoeller_fst",
- "@maven//:org_yaml_snakeyaml",
- "@ray_streaming_maven//:org_apache_commons_commons_lang3",
- "@ray_streaming_maven//:org_mockito_mockito_all",
- ],
- visibility = ["//visibility:public"],
- deps = [
- "@maven//:com_google_guava_guava",
- "@maven//:de_ruedigermoeller_fst",
- "@maven//:org_apache_logging_log4j_log4j_api",
- "@maven//:org_apache_logging_log4j_log4j_core",
- "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
- "@maven//:org_slf4j_slf4j_api",
- "@ray_streaming_maven//:org_apache_commons_commons_lang3",
- ],
- )
- native_java_library("streaming-runtime", "streaming_java", "//streaming:libstreaming_java.so")
- filegroup(
- name = "java_native_deps",
- srcs = [":streaming_java"],
- )
- define_java_module(
- name = "streaming-runtime",
- additional_resources = [
- ":java_native_deps",
- ],
- additional_srcs = [
- ":all_java_proto",
- ],
- define_test_lib = True,
- exclude_srcs = [
- "streaming-runtime/src/main/java/io/ray/streaming/runtime/generated/*.java",
- ],
- test_deps = [
- "//java:io_ray_ray_api",
- "//java:io_ray_ray_runtime",
- ":io_ray_ray_streaming-state",
- ":io_ray_ray_streaming-api",
- ":io_ray_ray_streaming-runtime",
- "@maven//:com_google_guava_guava",
- "@maven//:de_ruedigermoeller_fst",
- "@maven//:org_apache_logging_log4j_log4j_api",
- "@maven//:org_apache_logging_log4j_log4j_core",
- "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
- "@maven//:org_slf4j_slf4j_api",
- "@maven//:org_testng_testng",
- "@maven//:org_yaml_snakeyaml",
- "@ray_streaming_maven//:com_google_code_findbugs_jsr305",
- "@ray_streaming_maven//:org_aeonbits_owner_owner",
- "@ray_streaming_maven//:org_apache_commons_commons_lang3",
- "@ray_streaming_maven//:org_mockito_mockito_all",
- "@ray_streaming_maven//:org_powermock_powermock_api_mockito",
- "@ray_streaming_maven//:org_powermock_powermock_module_testng",
- ],
- visibility = ["//visibility:public"],
- deps = [
- ":io_ray_ray_streaming-api",
- ":io_ray_ray_streaming-state",
- "//java:io_ray_ray_api",
- "//java:io_ray_ray_runtime",
- "@maven//:com_google_guava_guava",
- "@maven//:com_google_protobuf_protobuf_java",
- "@maven//:commons_io_commons_io",
- "@maven//:de_ruedigermoeller_fst",
- "@maven//:org_apache_commons_commons_lang3",
- "@maven//:org_apache_logging_log4j_log4j_api",
- "@maven//:org_apache_logging_log4j_log4j_core",
- "@maven//:org_apache_logging_log4j_log4j_slf4j_impl",
- "@maven//:org_msgpack_msgpack_core",
- "@maven//:org_slf4j_slf4j_api",
- "@ray_streaming_maven//:com_github_davidmoten_flatbuffers_java",
- "@ray_streaming_maven//:com_google_code_findbugs_jsr305",
- "@ray_streaming_maven//:commons_collections_commons_collections",
- "@ray_streaming_maven//:org_aeonbits_owner_owner",
- ],
- )
- java_binary(
- name = "all_streaming_tests",
- args = ["streaming/java/testng.xml"],
- data = ["testng.xml"],
- main_class = "org.testng.TestNG",
- runtime_deps = [
- ":io_ray_ray_streaming-api_test",
- ":io_ray_ray_streaming-runtime",
- ":io_ray_ray_streaming-runtime_test",
- ":io_ray_ray_streaming-state",
- "//java:io_ray_ray_runtime",
- "@maven//:org_testng_testng",
- "@maven//:org_yaml_snakeyaml",
- "@ray_streaming_maven//:org_mockito_mockito_all",
- "@ray_streaming_maven//:org_powermock_powermock_api_mockito",
- "@ray_streaming_maven//:org_powermock_powermock_module_testng",
- ],
- )
- # proto buffer
- java_proto_compile(
- name = "streaming_java_proto",
- deps = ["//streaming:streaming_proto"],
- )
- java_proto_compile(
- name = "remote_call_java_proto",
- deps = ["//streaming:remote_call_proto"],
- )
- filegroup(
- name = "all_java_proto",
- srcs = [
- ":remote_call_java_proto",
- ":streaming_java_proto",
- ],
- )
- genrule(
- name = "copy_pom_file",
- srcs = [
- "//streaming/java:io_ray_ray_" + module + "_pom"
- for module in all_modules
- ],
- outs = ["copy_pom_file.out"],
- cmd = """
- WORK_DIR="$$(pwd)"
- cp -f $(location //streaming/java:io_ray_ray_streaming-api_pom) "$$WORK_DIR/streaming/java/streaming-api/pom.xml"
- cp -f $(location //streaming/java:io_ray_ray_streaming-runtime_pom) "$$WORK_DIR/streaming/java/streaming-runtime/pom.xml"
- cp -f $(location //streaming/java:io_ray_ray_streaming-state_pom) "$$WORK_DIR/streaming/java/streaming-state/pom.xml"
- date > $@
- """,
- local = 1,
- tags = ["no-cache"],
- )
- genrule(
- name = "cp_java_generated",
- srcs = [
- ":all_java_proto",
- ":copy_pom_file",
- ],
- outs = ["cp_java_generated.out"],
- cmd = """
- WORK_DIR="$$(pwd)"
- GENERATED_DIR="$$WORK_DIR/streaming/java/streaming-runtime/src/main/java/io/ray/streaming/runtime/generated"
- rm -rf "$$GENERATED_DIR"
- mkdir -p "$$GENERATED_DIR"
- # Copy protobuf-generated files.
- for f in $(locations //streaming/java:all_java_proto); do
- unzip -q -o "$$f" -x META-INF/MANIFEST.MF -d "$$WORK_DIR/streaming/java/streaming-runtime/src/main/java"
- done
- # remove third party protobuf
- rm -rf $$WORK_DIR/streaming/java/streaming-runtime/src/main/java/com/google/protobuf/
- date > $@
- """,
- local = 1,
- tags = ["no-cache"],
- )
- # Generates the dependencies needed by maven.
- genrule(
- name = "gen_maven_deps",
- srcs = [
- ":java_native_deps",
- ":cp_java_generated",
- ],
- outs = ["gen_maven_deps.out"],
- cmd = """
- WORK_DIR="$${PWD}"
- # Copy native dependencies.
- OS_NAME=""
- case "$${OSTYPE}" in
- linux*) OS_NAME="linux";;
- darwin*) OS_NAME="darwin";;
- *) echo "$${OSTYPE} is not supported currently"; exit 1;;
- esac
- NATIVE_DEPS_DIR="$$WORK_DIR/streaming/java/streaming-runtime/native_dependencies/native/$$OS_NAME"
- rm -rf "$$NATIVE_DEPS_DIR"
- mkdir -p "$$NATIVE_DEPS_DIR"
- for f in $(locations //streaming/java:java_native_deps); do
- chmod +w "$$f"
- cp "$$f" "$$NATIVE_DEPS_DIR"
- done
- date > $@
- """,
- local = 1,
- tags = ["no-cache"],
- visibility = ["//visibility:public"],
- )
|