Exemplo n.º 1
0
 def __init__(self,
              update_hook,
              dep_level,
              platforms,
              depends_cache=None,
              check_conflict=False):
     self.dict_projects = None
     self.update_hook = update_hook
     self.dep_level = dep_level
     self.proj_depends = ProjectDependsParser(
         os.path.join(BuildEnv.ScriptDir, 'include', 'project.depends'))
     self.platforms = platforms
     self.depends_cache = depends_cache
     self.check_conflict = check_conflict
Exemplo n.º 2
0
    if dictArgs.level >= 0 and dictArgs.r_level >= 0:
        raise RuntimeError("Error! x and r can not use simultaneously")
    if dictArgs.platform:
        platforms = dictArgs.platform.strip().split(" ")
    if dictArgs.level >= 0:
        level = dictArgs.level
    elif dictArgs.r_level >= 0:
        level = dictArgs.r_level
        direct = 'backwardDependency'

    # Reorder, we need to traverse all depend to sort the input projects.
    if dictArgs.level == -1 and dictArgs.r_level == -1:
        level = 0

    config = ProjectDependsParser(config_path)
    dictDepends = loadConfigFiles(config)

    listProjs = dictArgs.listProj

    kernels = config.get_platform_kernels(platforms)

    if listProjs:
        dictDepGraph = {}
        blAddKernelHeader, normalizedProjList = normalizeProjects(
            listProjs, config, kernels)
        replaceVariableSection(config, dictDepends)
        depGraph = DepGraph(dictDepends, level, direct)
        listOut = depGraph.traverseDepends(normalizedProjList)

        # reorder need filter while args not contain 'x' and 'r'