def print_violations(data): ignore, dependencies = build_lib_dependencies(data) for dependency in dependencies: if dependency.src_lib in myConfig.dependencies and dependency.dst_lib in myConfig.dependencies[dependency.src_lib]: continue logging.warn("Dependency violation in file: " + dependency.src) logging.warn(" with the include: " + dependency.dst) logging.warn(" " + dependency.src_lib + " -> " + dependency.dst_lib)
def write_lib_graph(data): log_block("writing library dependency graph") dependencies, ignore = build_lib_dependencies(data) with open('libraries.gv', 'w') as output: output.write("digraph G {\n") for src in dependencies.keys(): for dst in dependencies[src]: line = "" if src in myConfig.dependencies and dst in myConfig.dependencies[src]: line = src + " -> " + dst + ";\n" else: line = src + " -> " + dst + " [color = red];\n" output.write(line) for src in myConfig.dependencies: for dst in myConfig.dependencies[src]: if src in dependencies and dst in dependencies[src]: continue else: line = src + " -> " + dst + " [color = blue];\n" output.write(line) output.write("}\n")