Exemple #1
0
 def create_manifest(self) -> Manifest:
     nodes: Dict[str, CompileResultNode] = {}
     nodes.update(self.results.nodes)
     nodes.update(self.results.sources)
     disabled = []
     for value in self.results.disabled.values():
         disabled.extend(value)
     manifest = Manifest(
         nodes=nodes,
         macros=self.results.macros,
         docs=self.results.docs,
         generated_at=datetime.utcnow(),
         metadata=self.root_project.get_metadata(),
         disabled=disabled,
         files=self.results.files,
     )
     manifest.patch_nodes(self.results.patches)
     manifest = ParserUtils.process_sources(
         manifest, self.root_project.project_name
     )
     manifest = ParserUtils.process_refs(
         manifest, self.root_project.project_name
     )
     manifest = ParserUtils.process_docs(
         manifest, self.root_project.project_name
     )
     return manifest
Exemple #2
0
    def create_manifest(self) -> Manifest:
        # before we do anything else, patch the sources. This mutates
        # results.disabled, so it needs to come before the final 'disabled'
        # list is created
        sources = patch_sources(self.results, self.root_project)
        disabled = []
        for value in self.results.disabled.values():
            disabled.extend(value)

        nodes: MutableMapping[str, ManifestNode] = {
            k: v for k, v in self.results.nodes.items()
        }

        manifest = Manifest(
            nodes=nodes,
            sources=sources,
            macros=self.results.macros,
            docs=self.results.docs,
            exposures=self.results.exposures,
            generated_at=datetime.utcnow(),
            metadata=self.root_project.get_metadata(),
            disabled=disabled,
            files=self.results.files,
        )
        manifest.patch_nodes(self.results.patches)
        manifest.patch_macros(self.results.macro_patches)
        self.process_manifest(manifest)
        return manifest
Exemple #3
0
    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
Exemple #4
0
 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
Exemple #5
0
 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
Exemple #6
0
    def create_manifest(self) -> Manifest:
        # before we do anything else, patch the sources. This mutates
        # results.disabled, so it needs to come before the final 'disabled'
        # list is created
        start_patch = time.perf_counter()
        sources = patch_sources(self.results, self.root_project)
        self._perf_info.patch_sources_elapsed = (time.perf_counter() -
                                                 start_patch)
        disabled = []
        for value in self.results.disabled.values():
            disabled.extend(value)

        nodes: MutableMapping[str, ManifestNode] = {
            k: v
            for k, v in self.results.nodes.items()
        }

        manifest = Manifest(
            nodes=nodes,
            sources=sources,
            macros=self.results.macros,
            docs=self.results.docs,
            exposures=self.results.exposures,
            metadata=self.root_project.get_metadata(),
            disabled=disabled,
            files=self.results.files,
            selectors=self.root_project.manifest_selectors,
        )
        manifest.patch_nodes(self.results.patches)
        manifest.patch_macros(self.results.macro_patches)
        start_process = time.perf_counter()
        self.process_manifest(manifest)

        self._perf_info.process_manifest_elapsed = (time.perf_counter() -
                                                    start_process)

        return manifest