def setup_application(application, source, datapath, scons): print "Configuring application", application, "...", data= tools.get_application_description(source, application, datapath) for d in data["required_dependencies"]: if not tools.get_dependency_info(d, datapath)["ok"]: write_no_ok(application, scons) #exits dependencies = data["required_dependencies"] unfound_dependencies = [] for d in data["optional_dependencies"]: if tools.get_dependency_info(d, datapath)["ok"]: dependencies.append(d) else: unfound_dependencies.append(d) for d in data["required_modules"]: if not tools.get_module_info(d, datapath)["ok"]: write_no_ok(application, scons) # exits modules= data["required_modules"] unfound_modules = [] for d in data["optional_modules"]: if tools.get_module_info(d, datapath)["ok"]: modules.append(d) else: unfound_modules.append(d) all_modules=tools.get_dependent_modules(modules, datapath) link_py(os.path.join(source, "applications", application)) write_ok(application, all_modules, unfound_modules, tools.get_dependent_dependencies(all_modules, dependencies, datapath), unfound_dependencies)
def setup_application(application, source, datapath, apps): print "Configuring application", application, "...", data = tools.get_application_description(source, application, datapath) for d in data["required_dependencies"]: if not tools.get_dependency_info(d, datapath)["ok"]: write_no_ok(application) # exits dependencies = data["required_dependencies"] unfound_dependencies = [] for d in data["optional_dependencies"]: if tools.get_dependency_info(d, datapath)["ok"]: dependencies.append(d) else: unfound_dependencies.append(d) for d in data["required_modules"]: if not tools.get_module_info(d, datapath)["ok"]: write_no_ok(application) # exits modules = data["required_modules"] unfound_modules = [] for d in data["optional_modules"]: if tools.get_module_info(d, datapath)["ok"]: modules.append(d) else: unfound_modules.append(d) all_modules = tools.get_dependent_modules(modules, datapath) link_py_apps(os.path.join(source, "applications", application)) make_doxygen(application, source, all_modules) make_overview(application, source, apps) write_ok( application, all_modules, unfound_modules, tools.get_dependent_dependencies(all_modules, dependencies, datapath), unfound_dependencies)
def setup_module(module, source, datapath): sys.stdout.write("Configuring module %s ..." % module) data = tools.get_module_description(source, module, datapath) for d in data["required_dependencies"]: if not tools.get_dependency_info(d, datapath)["ok"]: print("Required dependency %s not found" % d) write_no_ok(module) return False, [] dependencies = data["required_dependencies"] unfound_dependencies = [] for d in data["optional_dependencies"]: if tools.get_dependency_info(d, datapath)["ok"]: dependencies.append(d) else: unfound_dependencies.append(d) for d in data["required_modules"]: if not tools.get_module_info(d, datapath)["ok"]: print("Required module IMP.%s not available" % d) write_no_ok(module) return False, [] modules = data["required_modules"] unfound_modules = [] for d in data["optional_modules"]: if tools.get_module_info(d, datapath)["ok"]: modules.append(d) else: unfound_modules.append(d) all_modules = tools.get_dependent_modules(modules, datapath) moddir = os.path.join('IMP', '' if module == 'kernel' else module) swig_includes = [os.path.split(x)[1] for x in tools.get_glob( [os.path.join(source, "modules", module, "pyext", "include", "*.i")])] \ + [os.path.join(moddir, os.path.split(x)[1]) for x in tools.get_glob( [os.path.join("include", moddir, "*_macros.h")])] swig_wrapper_includes = [os.path.join(moddir, "internal", os.path.split(x)[1]) for x in tools.get_glob( [os.path.join(source, "modules", module, "include", "internal", "swig*.h")])] tools.mkdir(os.path.join("src", module)) tools.mkdir(os.path.join("src", module + "_swig")) write_ok(module, all_modules, unfound_modules, tools.get_dependent_dependencies(all_modules, dependencies, datapath), unfound_dependencies, swig_includes, swig_wrapper_includes) return True, all_modules
def get_all_components(): comps = {} # If RMF is being built as part of IMP, split out its build (rather than # building it as part of IMP.rmf) special_dep_targets = {"RMF": RMFDependency} for dep, cls in special_dep_targets.items(): i = tools.get_dependency_info(dep, "") if i['ok'] and internal_dep(dep): comps[dep] = cls(dep) comps[dep].set_dep_modules(comps, [], [], special_dep_targets) modules = tools.get_sorted_order() apps = tools.get_all_configured_applications() for m in modules: comps[m] = Module(m) for a in apps: comps[a] = Application(a) for m in modules: i = tools.get_module_info(m, "") comps[m].set_dep_modules(comps, i['modules'], i['dependencies'], special_dep_targets) for a in apps: i = tools.get_application_info(a, "") comps[a].set_dep_modules(comps, i['modules'], i['dependencies'], special_dep_targets) source_dir = os.path.join(os.path.dirname(sys.argv[0]), '..', '..') all_modules= [x[0] for x in tools.get_modules(source_dir)] all_apps= [x[0] for x in tools.get_applications(source_dir)] add_disabled_components(modules, all_modules, comps, "module") add_disabled_components(apps, all_apps, comps, "application") return comps
def get_all_components(): comps = {} # If RMF is being built as part of IMP, split out its build (rather than # building it as part of IMP.rmf) special_dep_targets = {"RMF": RMFDependency} for dep, cls in special_dep_targets.items(): i = tools.get_dependency_info(dep, "") if i['ok']: comps[dep] = cls(dep) comps[dep].set_dep_modules(comps, [], [], special_dep_targets) modules = tools.get_sorted_order() for m in modules: comps[m] = Module(m) for m in modules: i = tools.get_module_info(m, "") comps[m].set_dep_modules(comps, i['modules'], i['dependencies'], special_dep_targets) source_dir = os.path.join(os.path.dirname(sys.argv[0]), '..', '..') all_modules = [x[0] for x in tools.get_modules(source_dir)] add_disabled_components(modules, all_modules, comps, "module") return comps
def setup_module(module, source, datapath): sys.stdout.write("Configuring module %s ..." % module) data = tools.get_module_description(source, module, datapath) for d in data["required_dependencies"]: if not tools.get_dependency_info(d, datapath)["ok"]: print("Required dependency %s not found" % d) write_no_ok(module) return False, [] dependencies = data["required_dependencies"] unfound_dependencies = [] for d in data["optional_dependencies"]: if tools.get_dependency_info(d, datapath)["ok"]: dependencies.append(d) else: unfound_dependencies.append(d) for d in data["required_modules"]: if not tools.get_module_info(d, datapath)["ok"]: print("Required module IMP.%s not available" % d) write_no_ok(module) return False, [] modules = data["required_modules"] unfound_modules = [] for d in data["optional_modules"]: if tools.get_module_info(d, datapath)["ok"]: modules.append(d) else: unfound_modules.append(d) all_modules = tools.get_dependent_modules(modules, datapath) moddir = os.path.join('IMP', '' if module == 'kernel' else module) swig_includes = [os.path.split(x)[1] for x in tools.get_glob([os.path.join(source, "modules", module, "pyext", "include", "*.i")])]\ + [os.path.join(moddir, os.path.split(x)[1]) for x in tools.get_glob([os.path.join("include", moddir, "*_macros.h")])] swig_wrapper_includes = [os.path.join(moddir, "internal", os.path.split(x)[1]) for x in tools.get_glob([os.path.join(source, "modules", module, "include", "internal", "swig*.h")])] tools.mkdir(os.path.join("src", module)) tools.mkdir(os.path.join("src", module + "_swig")) write_ok(module, all_modules, unfound_modules, tools.get_dependent_dependencies( all_modules, dependencies, datapath), unfound_dependencies, swig_includes, swig_wrapper_includes) return True, all_modules
def get_dep_merged(modules, name, ordered): ret=[] alldeps=tools.get_all_dependencies(".", modules, "", ordered) for d in alldeps: info = tools.get_dependency_info(d, ".") lst= tools.split(info[name], ';') # cmake lists are semicolon-separated ret.extend(lst) ret=list(set(ret)) ret.sort() return ret
def get_dep_merged(modules, name, ordered): ret = [] alldeps = tools.get_all_dependencies(".", modules, "", ordered) for d in alldeps: info = tools.get_dependency_info(d, ".") # cmake lists are semicolon-separated lst = tools.split(info[name], ';') ret.extend(lst) ret = sorted(set(ret)) return ret
def get_dep_merged(finder, modules, name, extra_data_path): ret = [] alldeps = finder.get_all_dependencies(modules) for d in alldeps: info = tools.get_dependency_info(d, extra_data_path) # cmake lists are semicolon-separated lst = tools.split(info[name], ';') ret.extend(lst) ret = sorted(set(ret)) return ret
def setup_module(module, source, datapath): print "Configuring module", module, "...", data = tools.get_module_description(source, module, datapath) for d in data["required_dependencies"]: if not tools.get_dependency_info(d, datapath)["ok"]: print d, "not found" write_no_ok(module) return False, [] dependencies = data["required_dependencies"] unfound_dependencies = [] for d in data["optional_dependencies"]: if tools.get_dependency_info(d, datapath)["ok"]: dependencies.append(d) else: unfound_dependencies.append(d) for d in data["required_modules"]: if not tools.get_module_info(d, datapath)["ok"]: print "IMP." + d, "not found" write_no_ok(module) return False, [] modules = data["required_modules"] unfound_modules = [] for d in data["optional_modules"]: if tools.get_module_info(d, datapath)["ok"]: modules.append(d) else: unfound_modules.append(d) all_modules = tools.get_dependent_modules(modules, datapath) swig_includes = [os.path.split(x)[1] for x in tools.get_glob([os.path.join(source, "modules", module, "pyext", "include", "*.i")])]\ + ["IMP/" + module + "/" + os.path.split(x)[1] for x in tools.get_glob([os.path.join("include", "IMP", module, "*_macros.h")])] swig_wrapper_includes = ["IMP/" + module + "/internal/" + os.path.split(x)[1] for x in tools.get_glob([os.path.join(source, "modules", module, "include", "internal", "swig*.h")])] tools.mkdir(os.path.join("src", module)) tools.mkdir(os.path.join("src", module + "_swig")) write_ok(module, all_modules, unfound_modules, tools.get_dependent_dependencies( all_modules, dependencies, datapath), unfound_dependencies, swig_includes, swig_wrapper_includes) return True, all_modules
def setup_module(module, source, datapath): print "Configuring module", module, "...", data= tools.get_module_description(source, module, datapath) for d in data["required_dependencies"]: if not tools.get_dependency_info(d, datapath)["ok"]: print d, "not found" write_no_ok(module) return False dependencies = data["required_dependencies"] unfound_dependencies = [] for d in data["optional_dependencies"]: if tools.get_dependency_info(d, datapath)["ok"]: dependencies.append(d) else: unfound_dependencies.append(d) for d in data["required_modules"]: if not tools.get_module_info(d, datapath)["ok"]: print "IMP."+d, "not found" write_no_ok(module) return False modules= data["required_modules"] unfound_modules = [] for d in data["optional_modules"]: if tools.get_module_info(d, datapath)["ok"]: modules.append(d) else: unfound_modules.append(d) all_modules=tools.get_dependent_modules(modules, datapath) swig_includes=[os.path.split(x)[1] for x in tools.get_glob([os.path.join(source, "modules", module, "pyext", "include", "*.i")])]\ + ["IMP/"+module+"/"+os.path.split(x)[1] for x in tools.get_glob([os.path.join("include", "IMP", module, "*_macros.h")])] swig_wrapper_includes= ["IMP/"+module+"/internal/"+os.path.split(x)[1] for x in tools.get_glob([os.path.join(source, "modules", module, "include", "internal", "swig*.h")])] tools.mkdir(os.path.join("src", module)) tools.mkdir(os.path.join("src", module+"_swig")) write_ok(module, all_modules, unfound_modules, tools.get_dependent_dependencies(all_modules, dependencies,datapath), unfound_dependencies, swig_includes, swig_wrapper_includes) return True