diff options
author | alexv-smirnov <alex@ydb.tech> | 2023-03-15 19:59:12 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2023-03-15 19:59:12 +0300 |
commit | 056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11 (patch) | |
tree | 4740980126f32e3af7937ba0ca5f83e59baa4ab0 /build/scripts/java_pack_to_file.py | |
parent | 269126dcced1cc8b53eb4398b4a33e5142f10290 (diff) | |
download | ydb-056bb284ccf8dd6793ec3a54ffa36c4fb2b9ad11.tar.gz |
add library/cpp/actors, ymake build to ydb oss export
Diffstat (limited to 'build/scripts/java_pack_to_file.py')
-rw-r--r-- | build/scripts/java_pack_to_file.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/build/scripts/java_pack_to_file.py b/build/scripts/java_pack_to_file.py new file mode 100644 index 0000000000..c8ab7c311b --- /dev/null +++ b/build/scripts/java_pack_to_file.py @@ -0,0 +1,43 @@ +import os +import re +import optparse + +JAVA_PACKAGE_REGEX = re.compile(r'^\s*package\s+(.*?);', flags=re.MULTILINE | re.DOTALL) +KOTLIN_PACKAGE_REGEX = re.compile(r'^\s*package\s+(.*?)^', flags=re.MULTILINE | re.DOTALL) + + +def parse_args(): + parser = optparse.OptionParser() + parser.add_option('-o', '--output') + parser.add_option('-a', '--source-root', dest='source_root') + return parser.parse_args() + + +def get_package_name(filename): + with open(filename) as afile: + content = afile.read() + if filename.endswith(".kt"): + match = KOTLIN_PACKAGE_REGEX.search(content) + if match: + return match.group(1).strip().replace('.', '/') + else: + match = JAVA_PACKAGE_REGEX.search(content) + if match: + return match.group(1).replace('\n\t ', '').replace('.', '/') + return '' + + +def write_coverage_sources(output, srcroot, files): + with open(output, 'w') as afile: + for filename in files: + pname = get_package_name(os.path.join(srcroot, filename)) + afile.write(os.path.join(pname, os.path.basename(filename)) + ':' + filename + '\n') + + +def main(): + opts, files = parse_args() + write_coverage_sources(opts.output, opts.source_root, files) + + +if __name__ == '__main__': + exit(main()) |