def load_all(cls, project_config, all_projects): root_project = project_config macros = MacroLoader.load_all(root_project, all_projects) macros.update(OperationLoader.load_all(root_project, all_projects)) nodes = {} for loader in cls._LOADERS: nodes.update(loader.load_all(root_project, all_projects, macros)) docs = DocumentationLoader.load_all(root_project, all_projects) tests, patches = SchemaTestLoader.load_all(root_project, all_projects) manifest = Manifest(nodes=nodes, macros=macros, docs=docs, generated_at=timestring(), config=project_config) manifest.add_nodes(tests) manifest.patch_nodes(patches) patches = DocumentationLoader.get_model_doc_patches(nodes, docs) manifest.patch_nodes(patches) manifest = dbt.parser.ParserUtils.process_refs( manifest, root_project.project_name ) manifest = dbt.parser.ParserUtils.process_docs(manifest, root_project) return manifest
def create_manifest(self): manifest = Manifest(nodes=self.nodes, macros=self.macros, docs=self.docs, generated_at=timestring(), config=self.root_project, disabled=self.disabled) manifest.add_nodes(self.tests) manifest.patch_nodes(self.patches) manifest = ParserUtils.process_sources(manifest, self.root_project) manifest = ParserUtils.process_refs(manifest, self.root_project.project_name) manifest = ParserUtils.process_docs(manifest, self.root_project) return manifest
def add_new_refs(manifest: Manifest, config: RuntimeConfig, node: ParsedRPCNode, macros: Dict[str, Any]) -> None: """Given a new node that is not in the manifest, insert the new node into it as if it were part of regular ref processing. """ if config.args.single_threaded or flags.SINGLE_THREADED_HANDLER: manifest = manifest.deepcopy() # it's ok for macros to silently override a local project macro name manifest.macros.update(macros) for macro in macros.values(): process_macro(config, manifest, macro) manifest.add_nodes({node.unique_id: node}) process_node(config, manifest, node)
def create_manifest(self): manifest = Manifest( nodes=self.nodes, macros=self.macros, docs=self.docs, generated_at=timestring(), config=self.root_project, disabled=self.disabled ) manifest.add_nodes(self.tests) manifest.patch_nodes(self.patches) manifest = ParserUtils.process_sources(manifest, self.root_project) manifest = ParserUtils.process_refs(manifest, self.root_project.project_name) manifest = ParserUtils.process_docs(manifest, self.root_project) return manifest