From 6c6cb465b14f2f020f44a816285153ed8b1ef990 Mon Sep 17 00:00:00 2001 From: Philip Jameson Date: Fri, 2 Nov 2018 14:20:20 -0700 Subject: [PATCH] Change BUCK template files (#4624) Summary: Slightly changes the format of generated BUCK files for Facebook consumption. Generated targets end up looking like this: ``` cpp_library( name = "rocksdb_tools_lib", srcs = [ "tools/db_bench_tool.cc", "tools/trace_analyzer_tool.cc", "util/testutil.cc", ], auto_headers = AutoHeaders.RECURSIVE_GLOB, arch_preprocessor_flags = rocksdb_arch_preprocessor_flags, compiler_flags = rocksdb_compiler_flags, preprocessor_flags = rocksdb_preprocessor_flags, deps = [":rocksdb_lib"], external_deps = rocksdb_external_deps, ) ``` Instead of ``` cpp_library( name = "rocksdb_tools_lib", srcs = [ "tools/db_bench_tool.cc", "tools/trace_analyzer_tool.cc", "util/testutil.cc", ], headers = AutoHeaders.RECURSIVE_GLOB, arch_preprocessor_flags = rocksdb_arch_preprocessor_flags, compiler_flags = rocksdb_compiler_flags, preprocessor_flags = rocksdb_preprocessor_flags, deps = [":rocksdb_lib"], external_deps = rocksdb_external_deps, ) ``` Pull Request resolved: https://github.com/facebook/rocksdb/pull/4624 Reviewed By: riversand963 Differential Revision: D12906711 Pulled By: philipjameson fbshipit-source-id: 32ab64a3390cdcf2c4043ff77517ac1ad58a5e2b --- buckifier/targets_builder.py | 15 +++++++++------ buckifier/targets_cfg.py | 8 ++++---- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/buckifier/targets_builder.py b/buckifier/targets_builder.py index 7d700a21f..3d5822d3c 100644 --- a/buckifier/targets_builder.py +++ b/buckifier/targets_builder.py @@ -10,7 +10,7 @@ def pretty_list(lst, indent=8): if len(lst) == 1: return "\"%s\"" % lst[0] - + separator = "\",\n%s\"" % (" " * indent) res = separator.join(sorted(lst)) res = "\n" + (" " * indent) + "\"" + res + "\",\n" + (" " * (indent - 4)) @@ -31,13 +31,16 @@ class TARGETSBuilder: self.targets_file.close() def add_library(self, name, srcs, deps=None, headers=None): + headers_attr_prefix = "" if headers is None: + headers_attr_prefix = "auto_" headers = "AutoHeaders.RECURSIVE_GLOB" - self.targets_file.write(targets_cfg.library_template % ( - name, - pretty_list(srcs), - headers, - pretty_list(deps))) + self.targets_file.write(targets_cfg.library_template.format( + name=name, + srcs=pretty_list(srcs), + headers_attr_prefix=headers_attr_prefix, + headers=headers, + deps=pretty_list(deps))) self.total_lib = self.total_lib + 1 def add_binary(self, name, srcs, deps=None): diff --git a/buckifier/targets_cfg.py b/buckifier/targets_cfg.py index 98e1f51e2..80359f770 100644 --- a/buckifier/targets_cfg.py +++ b/buckifier/targets_cfg.py @@ -85,13 +85,13 @@ if default_allocator.startswith("jemalloc") and sanitizer == "": library_template = """ cpp_library( - name = "%s", - srcs = [%s], - headers = %s, + name = "{name}", + srcs = [{srcs}], + {headers_attr_prefix}headers = {headers}, arch_preprocessor_flags = rocksdb_arch_preprocessor_flags, compiler_flags = rocksdb_compiler_flags, preprocessor_flags = rocksdb_preprocessor_flags, - deps = [%s], + deps = [{deps}], external_deps = rocksdb_external_deps, ) """