in uberpoet/projectgen.py [0:0]
def gen_lib_module(self, module_node, loc_per_unit):
# Make BUCK Text
deps = self.make_dep_list([i.name for i in module_node.deps])
buck_text = self.bzl_lib_template.format(module_node.name, deps, self.wmo_state)
# Make Swift Text
file_count = (loc_per_unit * module_node.code_units) / self.swift_file_size_loc
if file_count < 1:
raise ValueError("Lines of code count is too small for the module to fit one file, increase it.")
files = {"File{}.swift".format(i): self.swift_gen.gen_file(3, 3) for i in xrange(file_count)}
# Make Module Directories
module_dir_path = join(self.app_root, module_node.name)
files_dir_path = join(module_dir_path, "Sources")
makedir(module_dir_path)
makedir(files_dir_path)
# Write BUCK File
buck_path = join(module_dir_path, "BUCK")
self.write_file(buck_path, buck_text)
# Write Swift Files
for file_name, file_obj in files.iteritems():
file_path = join(files_dir_path, file_name)
self.write_file(file_path, file_obj.text)
file_obj.text = "" # Save memory after write
module_node.extra_info = files
return files