code: def main():
      
      # Parse the arguments
      parser = argparse.ArgumentParser(
          description='Convert MSBuild XML to JSON format')
  
      parser.add_argument(
          '-t', '--toolchain', help='The name of the toolchain', required=True)
      parser.add_argument(
          '-o', '--output', help='The output directory', default='')
      parser.add_argument(
          '-r',
          '--overwrite',
          help='Whether previously output should be overwritten',
          dest='overwrite',
          action='store_true')
      parser.set_defaults(overwrite=False)
      parser.add_argument(
          '-d',
          '--debug',
          help="Debug tool output",
          action="store_const",
          dest="loglevel",
          const=logging.DEBUG,
          default=logging.WARNING)
      parser.add_argument(
          '-v',
          '--verbose',
          help="Verbose output",
          action="store_const",
          dest="loglevel",
          const=logging.INFO)
      parser.add_argument('input', help='The input files', nargs='+')
  
      args = parser.parse_args()
  
      toolchain = args.toolchain
  
      logging.basicConfig(level=args.loglevel)
      logging.info('Creating %s toolchain files', toolchain)
  
      values = {}
  
      # Iterate through the inputs
      for input in args.input:
          input = __get_path(input)
  
          read_msbuild_xml(input, values)
  
      # Determine if the output directory needs to be created
      output_dir = __get_path(args.output)
  
      if not os.path.exists(output_dir):
          os.mkdir(output_dir)
          logging.info('Created output directory %s', output_dir)
  
      for key, value in values.items():
          output_path = __output_path(toolchain, key, output_dir)
  
          if os.path.exists(output_path) and not args.overwrite:
              logging.info('Comparing previous output to current')
  
              __merge_json_values(value, read_msbuild_json(output_path))
          else:
              logging.info('Original output will be overwritten')
  
          logging.info('Writing MS Build JSON file at %s', output_path)
  
          __write_json_file(output_path, value)
docs: Script entrypoint.