Pipeline
Shalom template works around an Object called Pipeline()
.
Pipeline()
essentially Loads everything that needs to be loaded,
in order, and pass the data from one loaded thing to the next, and then
finally all to the builder, which checks dependencies etc and builds
the final output.
buildpipline.py
class Pipeline()
def __init__(self):
#-------------------Loads project----------------------
self.projectLoader = projectLoader()
self.project = projectLoader.load_project() #Currently config is not in use
self.projectName = self.project["name"]
#-------------------Load Data and Components-----------
self.data_loader = DataLoader()
self.component_loader = ComponentLoader()
#-------------------Build Project----------------------
self.builder = TemplateBuilder(self.projectName)
buildpipe = self.get_build_pipe(self.project["parsed"])
self.builder.build(buildpipe)
def get_build_pipe(self):
#-------------------Get Data---------------------------
data = self.data_loader.load(parsed["models"])
#-------------------Get Components---------------------
componentTemplates = self.component_loader.load(parsed["components"])
#-------------------Check dependencies-----------------
self.check_dependencies(parsed)
#-------------------Build buildpipe--------------------
buildpipe = self.construct_build_pipe(parsed,data,componentTemplates)