def main(): """Run the checking script.""" parser = OptionParser() parser.add_option('-S', '--source-root', help='Source tree root directory') parser.add_option('-B', '--build-root', help='Build tree root directory') parser.add_option('--installed', help='Read list of installed files from given file') parser.add_option('-l', '--log', help='Write issues into a given log file in addition to stderr') parser.add_option('--ignore', help='Set file with patterns for messages to ignore') parser.add_option('--check-ignored', action='store_true', help='Check documentation ignored by Doxygen') parser.add_option('-q', '--quiet', action='store_true', help='Do not write status messages') options, args = parser.parse_args() installedlist = [] if options.installed: with open(options.installed, 'r') as outfile: for line in outfile: installedlist.append(line.strip()) reporter = Reporter(options.log) if options.ignore: reporter.load_filters(options.ignore) if not options.quiet: sys.stderr.write('Scanning source tree...\n') tree = GromacsTree(options.source_root, options.build_root, reporter) tree.set_installed_file_list(installedlist) if not options.quiet: sys.stderr.write('Reading source files...\n') tree.scan_files() if not options.quiet: sys.stderr.write('Reading Doxygen XML files...\n') tree.load_xml() reporter.write_pending() if not options.quiet: sys.stderr.write('Checking...\n') for fileobj in tree.get_files(): check_file(fileobj, reporter) for includedfile in fileobj.get_includes(): check_include(fileobj, includedfile, reporter) for classobj in tree.get_classes(): check_class(classobj, reporter) for memberobj in tree.get_members(): if memberobj.is_visible() or options.check_ignored: check_member(memberobj, reporter) reporter.write_pending() reporter.report_unused_filters() reporter.close_log()
def main(): """Run the checking script.""" parser = OptionParser() parser.add_option('-S', '--source-root', help='Source tree root directory') parser.add_option('-B', '--build-root', help='Build tree root directory') parser.add_option('--installed', help='Read list of installed files from given file') parser.add_option( '-l', '--log', help='Write issues into a given log file in addition to stderr') parser.add_option('--ignore', help='Set file with patterns for messages to ignore') parser.add_option('--check-ignored', action='store_true', help='Check documentation ignored by Doxygen') parser.add_option('-q', '--quiet', action='store_true', help='Do not write status messages') options, args = parser.parse_args() installedlist = [] if options.installed: with open(options.installed, 'r') as outfile: for line in outfile: installedlist.append(line.strip()) reporter = Reporter(options.log) if options.ignore: reporter.load_filters(options.ignore) if not options.quiet: sys.stderr.write('Scanning source tree...\n') tree = GromacsTree(options.source_root, options.build_root, reporter) tree.set_installed_file_list(installedlist) if not options.quiet: sys.stderr.write('Reading source files...\n') tree.scan_files() if not options.quiet: sys.stderr.write('Reading Doxygen XML files...\n') tree.load_xml() reporter.write_pending() if not options.quiet: sys.stderr.write('Checking...\n') for fileobj in tree.get_files(): check_file(fileobj, reporter) for includedfile in fileobj.get_includes(): check_include(fileobj, includedfile, reporter) for classobj in tree.get_classes(): check_class(classobj, reporter) for memberobj in tree.get_members(): if memberobj.is_visible() or options.check_ignored: check_member(memberobj, reporter) reporter.write_pending() reporter.report_unused_filters() reporter.close_log()
def main(): """Run the graph generation script.""" import os import sys from optparse import OptionParser from gmxtree import GromacsTree from reporter import Reporter parser = OptionParser() parser.add_option('-S', '--source-root', help='Source tree root directory') parser.add_option('-B', '--build-root', help='Build tree root directory') parser.add_option('--installed', help='Read list of installed files from given file') parser.add_option('-o', '--outdir', default='.', help='Specify output directory for graphs') parser.add_option('-q', '--quiet', action='store_true', help='Do not write status messages') options, args = parser.parse_args() installedlist = [] if options.installed: with open(options.installed, 'r') as outfile: for line in outfile: installedlist.append(line.strip()) reporter = Reporter(quiet=True) if not options.quiet: sys.stderr.write('Scanning source tree...\n') tree = GromacsTree(options.source_root, options.build_root, reporter) tree.set_installed_file_list(installedlist) if not options.quiet: sys.stderr.write('Reading source files...\n') tree.scan_files() if not options.quiet: sys.stderr.write('Reading Doxygen XML files...\n') tree.load_xml(only_files=True) if not options.quiet: sys.stderr.write('Writing graphs...\n') graphbuilder = GraphBuilder(tree) if not os.path.exists(options.outdir): os.mkdir(options.outdir) filename = os.path.join(options.outdir, 'module-deps.dot') graph = graphbuilder.create_modules_graph() with open(filename, 'w') as outfile: graph.write(outfile) # Skip some modules that are too big to make any sense skippedmodules = ('legacyheaders', 'gmxlib', 'mdlib', 'gmxana', 'gmxpreprocess') for module in tree.get_modules(): if not module.get_name()[7:] in skippedmodules: filename = '{0}-deps.dot'.format(module.get_name()) filename = os.path.join(options.outdir, filename) graph = graphbuilder.create_module_file_graph(module) with open(filename, 'w') as outfile: graph.write(outfile)
def main(): """Run the graph generation script.""" import os import sys from optparse import OptionParser from gmxtree import GromacsTree from reporter import Reporter parser = OptionParser() parser.add_option('-S', '--source-root', help='Source tree root directory') parser.add_option('-B', '--build-root', help='Build tree root directory') parser.add_option('--installed', help='Read list of installed files from given file') parser.add_option('-o', '--outdir', default='.', help='Specify output directory for graphs') parser.add_option('-q', '--quiet', action='store_true', help='Do not write status messages') options, args = parser.parse_args() installedlist = [] if options.installed: with open(options.installed, 'r') as outfile: for line in outfile: installedlist.append(line.strip()) reporter = Reporter(quiet=True) if not options.quiet: sys.stderr.write('Scanning source tree...\n') tree = GromacsTree(options.source_root, options.build_root, reporter) tree.set_installed_file_list(installedlist) if not options.quiet: sys.stderr.write('Reading source files...\n') tree.scan_files() if not options.quiet: sys.stderr.write('Reading Doxygen XML files...\n') tree.load_xml(only_files=True) if not options.quiet: sys.stderr.write('Writing graphs...\n') graphbuilder = GraphBuilder(tree) if not os.path.exists(options.outdir): os.mkdir(options.outdir) filename = os.path.join(options.outdir, 'module-deps.dot') graph = graphbuilder.create_modules_graph() with open(filename, 'w') as outfile: graph.write(outfile) # Skip some modules that are too big to make any sense skippedmodules = ('legacyheaders', 'gmxlib', 'mdlib', 'gmxana', 'gmxpreprocess') for module in tree.get_modules(): if not module.get_name()[7:] in skippedmodules: filename = '{0}-deps.dot'.format(module.get_name()) filename = os.path.join(options.outdir, filename) graph = graphbuilder.create_module_file_graph(module) with open(filename, 'w') as outfile: graph.write(outfile)