def sort_doxygen(self):
        """ Get a list of doxygen docs to build

        """
        deps_tree = self.deps_tree["doxygen"]
        doc_names = topological_sort(deps_tree, self.doxydocs.keys())
        return [self.get_doc("doxygen", d) for d in doc_names]
예제 #2
0
    def sort_doxygen(self):
        """ Get a list of doxygen docs to build

        """
        deps_tree = self.deps_tree["doxygen"]
        doc_names = topological_sort(deps_tree, self.doxydocs.keys())
        return [self.get_doc("doxygen", d) for d in doc_names]
    def sort_sphinx(self):
        """ Get a list of sphinx docs to build, in the
        correct order

        """
        deps_tree = self.deps_tree["sphinx"]
        doc_names = topological_sort(deps_tree, self.sphinxdocs.keys())
        return [self.get_doc("sphinx", d) for d in doc_names]
예제 #4
0
    def sort_sphinx(self):
        """ Get a list of sphinx docs to build, in the
        correct order

        """
        deps_tree = self.deps_tree["sphinx"]
        doc_names = topological_sort(deps_tree, self.sphinxdocs.keys())
        return [self.get_doc("sphinx", d) for d in doc_names]
    def get_intersphinx_mapping(self, name):
        """ Get the relevant intersphinx_mapping for
        the given name

        """
        res = dict()
        deps_tree = self.deps_tree["sphinx"]
        doc_names = topological_sort(deps_tree, [name])
        docs = [self.get_doc("sphinx", d) for d in doc_names]
        for doc in docs:
            # Remove self from the list:
            if doc.name != name:
                res[doc.name] = (doc.dest, None)
        return res
예제 #6
0
    def get_intersphinx_mapping(self, name):
        """ Get the relevant intersphinx_mapping for
        the given name

        """
        res = dict()
        deps_tree = self.deps_tree["sphinx"]
        doc_names = topological_sort(deps_tree, [name])
        docs = [self.get_doc("sphinx", d) for d in doc_names]
        for doc in docs:
            # Remove self from the list:
            if doc.name != name:
                res[doc.name] = (doc.dest, None)
        return res
예제 #7
0
    def get_doxygen_mapping(self, name):
        """ Get the relevant Doxygen TAGFILES setting

        """
        doc = self.get_doc("doxygen", name)
        res = dict()
        deps_tree = self.deps_tree["doxygen"]
        dep_doc_names = topological_sort(deps_tree, [name])
        dep_docs = [self.get_doc("doxygen", d) for d in dep_doc_names]
        for dep_doc in dep_docs:
            # Remove self from the list
            if dep_doc.name == name:
                continue
            doxytag_file = os.path.join(self.doxytags_path, dep_doc.name + ".tag")
            dep_dest = dep_doc.dest
            rel_path = os.path.relpath(dep_dest, doc.dest)
            res[doxytag_file] = rel_path

        return res
    def get_doxygen_mapping(self, name):
        """ Get the relevant Doxygen TAGFILES setting

        """
        doc = self.get_doc("doxygen", name)
        res = dict()
        deps_tree = self.deps_tree["doxygen"]
        dep_doc_names = topological_sort(deps_tree, [name])
        dep_docs = [self.get_doc("doxygen", d) for d in dep_doc_names]
        for dep_doc in dep_docs:
            # Remove self from the list
            if dep_doc.name == name:
                continue
            doxytag_file = os.path.join(self.doxytags_path,
                                        dep_doc.name + ".tag")
            dep_dest = dep_doc.dest
            rel_path = os.path.relpath(dep_dest, doc.dest)
            res[doxytag_file] = rel_path

        return res
예제 #9
0
파일: cmdparse.py 프로젝트: gnatali/qibuild
def get_deps(toc, projects, single=False, runtime=False, build_deps=False):
    """ Get a list (packages, projects) from a toc object,
    some projects and some flags

    """
    orig_list = [x.name for x in projects]
    if single:
        return (list(), projects)
    to_sort = dict()
    if build_deps:
        for project in toc.projects:
            to_sort[project.name] = project.depends
    elif runtime:
        for project in toc.projects:
            to_sort[project.name] = project.rdepends
    else:
        for project in toc.projects:
            to_sort[project.name] = project.rdepends.union(project.depends)

    names = topological_sort(to_sort, [x.name for x in projects])

    package_names = list()
    if toc.toolchain:
        package_names = [x.name for x in toc.toolchain.packages]
    project_names = [x.name for x in toc.projects]

    r_projects = list()
    r_packages = list()
    for name in names:
        if name in orig_list:
            r_projects.append(toc.get_project(name))
        elif name in package_names:
            r_packages.append(toc.get_package(name))
        elif name in project_names:
            r_projects.append(toc.get_project(name))
    return (r_packages, r_projects)