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
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'