def make_args()

in uberpoet/genproj.py [0:0]


    def make_args(args):
        """Parses command line arguments"""
        arg_desc = 'Generate a fake test project with many modules'

        parser = argparse.ArgumentParser(description=arg_desc)

        parser.add_argument('-o', '--output_directory', required=True, help='Where the mock project should be output.')
        parser.add_argument(
            '-pgt',
            '--project_generator_type',
            choices=['buck', 'bazel', 'cocoapods'],
            default='buck',
            required=False,
            help='The project generator type to use.  Supported types are Buck, Bazel and CocoaPods. Default is `buck`')
        parser.add_argument(
            '-bmp',
            '--blaze_module_path',
            help='The root of the Buck or Bazel dependency path of the generated code.  Only used if Buck or Bazel '
            'generator type is used.')
        parser.add_argument(
            '-gt',
            '--gen_type',
            required=True,
            choices=ModuleGenType.enum_list(),
            help='What kind of mock app generation you want.  See layer_types.md for a description of graph types.')
        parser.add_argument(
            '-wmo',
            '--use_wmo',
            default=False,
            help='Whether or not to use whole module optimization when building swift modules.')
        parser.add_argument(
            '-udl',
            '--use_dynamic_linking',
            default=False,
            help='Whether or not to generate a project in which the modules are dynamically linked.  By default all '
            'projects use static linking. This option is currently used only by the CocoaPods generator.')
        parser.add_argument(
            '--print_dependency_graph',
            default=False,
            help='If true, prints out the dependency edge list and exits instead of generating an application.')
        # CocoaPods specific options
        parser.add_argument(
            '--cocoapods_use_deterministic_uuids',
            default=True,
            help='Whether to use deterministic uuids within the CocoaPods generated project.  Defaults to `true`.')
        parser.add_argument(
            '--cocoapods_generate_multiple_pod_projects',
            default=False,
            help='Whether to generate multiple pods projects.  Defaults to `false`.')

        commandlineutil.AppGenerationConfig.add_app_gen_options(parser)
        args = parser.parse_args(args)
        commandlineutil.AppGenerationConfig.validate_app_gen_options(args)

        return args