mirror of
https://github.com/vale981/ray
synced 2025-03-06 10:31:39 -05:00

* auto gen flatbuffers for Java * Add auto_gen_tool.py * Refine * Add a comment * address comments. * Address comments. * Addressed * Refine * Address comments * Fix typo * Add exception * Address comments. * Refine * Fix lint * Fix * Fix lint and address comment. * Fix lint error
55 lines
1.6 KiB
Python
55 lines
1.6 KiB
Python
from __future__ import absolute_import
|
|
from __future__ import division
|
|
from __future__ import print_function
|
|
|
|
import os
|
|
import sys
|
|
|
|
"""
|
|
This script is used for modifying the generated java flatbuffer
|
|
files for the reason: The package declaration in Java is different
|
|
from python and C++, and there is no option in the flatc command
|
|
to specify package(namepsace) for Java specially.
|
|
|
|
USAGE:
|
|
python modify_generated_java_flatbuffers_file.py RAY_HOME
|
|
|
|
RAY_HOME: The root directory of Ray project.
|
|
"""
|
|
|
|
# constants declarations
|
|
PACKAGE_DECLARATION = "package org.ray.runtime.generated;"
|
|
|
|
|
|
def add_new_line(file, line_num, text):
|
|
with open(file, "r") as file_handler:
|
|
lines = file_handler.readlines()
|
|
if (line_num <= 0) or (line_num > len(lines) + 1):
|
|
return False
|
|
|
|
lines.insert(line_num - 1, text + os.linesep)
|
|
with open(file, "w") as file_handler:
|
|
for line in lines:
|
|
file_handler.write(line)
|
|
|
|
return True
|
|
|
|
|
|
def add_package_declarations(generated_root_path):
|
|
file_names = os.listdir(generated_root_path)
|
|
for file_name in file_names:
|
|
if not file_name.endswith(".java"):
|
|
continue
|
|
full_name = os.path.join(generated_root_path, file_name)
|
|
success = add_new_line(full_name, 2, PACKAGE_DECLARATION)
|
|
if not success:
|
|
raise RuntimeError("Failed to add package declarations, "
|
|
"file name is %s" % full_name)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ray_home = sys.argv[1]
|
|
root_path = os.path.join(
|
|
ray_home,
|
|
"java/runtime/src/main/java/org/ray/runtime/generated")
|
|
add_package_declarations(root_path)
|