Exemple #1
0
    def load_impl(self) -> ReferenceManual:
        mlog.log('Loading YAML reference manual')
        with mlog.nested():
            manual = ReferenceManual(
                functions=[
                    self._load_function(x) for x in self.func_dir.iterdir()
                ],
                objects=mesonlib.listify([
                    [
                        self._load_object(ObjectType.ELEMENTARY, x)
                        for x in self.elem_dir.iterdir()
                    ],
                    [
                        self._load_object(ObjectType.RETURNED, x)
                        for x in self.objs_dir.iterdir()
                    ],
                    [
                        self._load_object(ObjectType.BUILTIN, x)
                        for x in self.builtin_dir.iterdir()
                    ],
                    [self._load_module(x) for x in self.modules_dir.iterdir()]
                ],
                                         flatten=True))

            if not self.strict:
                mlog.warning(
                    'YAML reference manual loaded using the best-effort fastyaml loader.  Results are not guaranteed to be stable or correct.'
                )

            return manual
Exemple #2
0
 def load_impl(self) -> ReferenceManual:
     mlog.log('Loading YAML refererence manual')
     with mlog.nested():
         return ReferenceManual(
             functions=[self._load_function(x) for x in self.func_dir.iterdir()],
             objects=mesonlib.listify([
                 [self._load_object(ObjectType.ELEMENTARY, x) for x in self.elem_dir.iterdir()],
                 [self._load_object(ObjectType.RETURNED, x) for x in self.objs_dir.iterdir()],
                 [self._load_object(ObjectType.BUILTIN, x) for x in self.builtin_dir.iterdir()],
                 [self._load_module(x) for x in self.modules_dir.iterdir()]
             ], flatten=True)
         )
Exemple #3
0
 def generate(self) -> None:
     mlog.log('Generating markdown files...')
     with mlog.nested():
         self._write_functions()
         for obj in self.objects:
             if not self.enable_modules and (
                     obj.obj_type == ObjectType.MODULE
                     or obj.defined_by_module is not None):
                 continue
             self._write_object(obj)
         self._root_refman_docs()
         self._configure_sitemap()
         self._generate_link_def()
Exemple #4
0
 def load(self) -> ReferenceManual:
     self._input_files = []  # Reset input files
     manual = self.load_impl()
     resolver = _Resolver()
     with mlog.nested():
         return resolver.validate_and_resolve(manual)
Exemple #5
0
def my_nested() -> T.ContextManager[None]:
    prefix = '|' * len(mlog.log_depth)
    return mlog.nested(prefix)