1 import argparse 2 import sys 3 4 from constants import ( 5 IMPL_DEP_FILE_STR, 6 OUTPUT_FILE_STR, 7 ) 8 from parser import Parser 9 10 def main(): 11 arg_parser = argparse.ArgumentParser( 12 description="Control module for tracking implicit dependencies" 13 ) 14 arg_parser.add_argument( 15 "-f", "--file", default=IMPL_DEP_FILE_STR, 16 help="path to kernel.implicit_dependencies", 17 ) 18 arg_parser.add_argument( 19 "-o", "--output", default=OUTPUT_FILE_STR, 20 help="where to output info", 21 ) 22 arg_parser.add_argument( 23 "-v", "--verbose", action="store_true", 24 help="if verbose, we list what fields are responsible for the dependency" 25 ) 26 arg_parser.add_argument( 27 "-p", "--pretty", action="store_true", 28 help="print implicit dependencies in pretty format" 29 ) 30 args = arg_parser.parse_args() 31 32 p = Parser(args.file, output_file_str=args.output, verbose=args.verbose, pretty=args.pretty) 33 p.parse() 34 p.write() 35 p.close() 36 37 38 if __name__ == "__main__": 39 sys.exit(main())