def cli( ctx, # pylint: disable=R0913 project_dir, board, ide, project_option, env_prefix, silent): if not silent: if project_dir == getcwd(): click.secho("\nThe current working directory", fg="yellow", nl=False) click.secho(" %s " % project_dir, fg="cyan", nl=False) click.secho( "will be used for project.\n" "You can specify another project directory via\n" "`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.", fg="yellow") click.echo("") click.echo("The next files/directories have been created in %s" % click.style(project_dir, fg="cyan")) click.echo("%s - Project Configuration File" % click.style("platformio.ini", fg="cyan")) click.echo("%s - Put your source files here" % click.style("src", fg="cyan")) click.echo("%s - Put here project specific (private) libraries" % click.style("lib", fg="cyan")) init_base_project(project_dir) if board: fill_project_envs(ctx, project_dir, board, project_option, env_prefix, ide is not None) if ide: env_name = get_best_envname(project_dir, board) if not env_name: raise exception.BoardNotDefined() pg = ProjectGenerator(project_dir, ide, env_name) pg.generate() if not silent: click.secho( "\nProject has been successfully initialized!\nUseful commands:\n" "`platformio run` - process/build project from the current " "directory\n" "`platformio run --target upload` or `platformio run -t upload` " "- upload firmware to embedded board\n" "`platformio run --target clean` - clean project (remove compiled " "files)\n" "`platformio run --help` - additional information", fg="green")
def cli(ctx, project_dir, board, ide, # pylint: disable=R0913 enable_auto_uploading, env_prefix): if project_dir == getcwd(): click.secho("\nThe current working directory", fg="yellow", nl=False) click.secho(" %s " % project_dir, fg="cyan", nl=False) click.secho( "will be used for project.\n" "You can specify another project directory via\n" "`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.", fg="yellow" ) click.echo("") click.echo("The next files/directories will be created in %s" % click.style(project_dir, fg="cyan")) click.echo("%s - Project Configuration File. |-> PLEASE EDIT ME <-|" % click.style("platformio.ini", fg="cyan")) click.echo("%s - Put your source files here" % click.style("src", fg="cyan")) click.echo("%s - Put here project specific (private) libraries" % click.style("lib", fg="cyan")) if (app.get_setting("enable_prompts") and not click.confirm("Do you want to continue?")): raise exception.AbortedByUser() project_file = join(project_dir, "platformio.ini") src_dir = join(project_dir, "src") lib_dir = join(project_dir, "lib") for d in (src_dir, lib_dir): if not isdir(d): makedirs(d) init_lib_readme(lib_dir) init_ci_conf(project_dir) init_cvs_ignore(project_dir) if not isfile(project_file): copyfile(join(get_source_dir(), "projectconftpl.ini"), project_file) if board: fill_project_envs( ctx, project_file, board, enable_auto_uploading, env_prefix, ide is not None ) if ide: if not board: raise exception.BoardNotDefined() if len(board) > 1: click.secho( "Warning! You have initialised project with more than 1 board" " for the specified IDE.\n" "However, the IDE features (code autocompletion, syntax lint)" " have been configured for the first board '%s' from your list" " '%s'." % (board[0], ", ".join(board)), fg="yellow" ) pg = ProjectGenerator( project_dir, ide, board[0]) pg.generate() click.secho( "\nProject has been successfully initialized!\nUseful commands:\n" "`platformio run` - process/build project from the current " "directory\n" "`platformio run --target upload` or `platformio run -t upload` " "- upload firmware to embedded board\n" "`platformio run --target clean` - clean project (remove compiled " "files)\n" "`platformio run --help` - additional information", fg="green" )
def cli( ctx, # pylint: disable=R0913 project_dir, board, ide, project_option, env_prefix): if project_dir == getcwd(): click.secho("\nThe current working directory", fg="yellow", nl=False) click.secho(" %s " % project_dir, fg="cyan", nl=False) click.secho( "will be used for project.\n" "You can specify another project directory via\n" "`platformio init -d %PATH_TO_THE_PROJECT_DIR%` command.", fg="yellow") click.echo("") click.echo("The next files/directories have been created in %s" % click.style(project_dir, fg="cyan")) click.echo("%s - Project Configuration File" % click.style("platformio.ini", fg="cyan")) click.echo("%s - Put your source files here" % click.style("src", fg="cyan")) click.echo("%s - Put here project specific (private) libraries" % click.style("lib", fg="cyan")) init_base_project(project_dir) if board: fill_project_envs(ctx, project_dir, board, project_option, env_prefix, ide is not None) if ide: if not board: board = get_first_board(project_dir) if board: board = [board] if not board: raise exception.BoardNotDefined() if len(board) > 1: click.secho( "Warning! You have initialised project with more than 1 board" " for the specified IDE.\n" "However, the IDE features (code autocompletion, syntax " "linter) have been configured for the first board '%s' from " "your list '%s'." % (board[0], ", ".join(board)), fg="yellow") pg = ProjectGenerator(project_dir, ide, board[0]) pg.generate() click.secho( "\nProject has been successfully initialized!\nUseful commands:\n" "`platformio run` - process/build project from the current " "directory\n" "`platformio run --target upload` or `platformio run -t upload` " "- upload firmware to embedded board\n" "`platformio run --target clean` - clean project (remove compiled " "files)\n" "`platformio run --help` - additional information", fg="green")
def cli( ctx, # pylint: disable=R0913 project_dir, board, ide, project_option, env_prefix, silent): if not silent: if project_dir == getcwd(): click.secho("\nThe current working directory", fg="yellow", nl=False) click.secho(" %s " % project_dir, fg="cyan", nl=False) click.secho("will be used for the project.", fg="yellow") click.echo("") click.echo("The next files/directories have been created in %s" % click.style(project_dir, fg="cyan")) click.echo("%s - Put project header files here" % click.style("include", fg="cyan")) click.echo("%s - Put here project specific (private) libraries" % click.style("lib", fg="cyan")) click.echo("%s - Put project source files here" % click.style("src", fg="cyan")) click.echo("%s - Project Configuration File" % click.style("platformio.ini", fg="cyan")) is_new_project = not util.is_platformio_project(project_dir) init_base_project(project_dir) if board: fill_project_envs(ctx, project_dir, board, project_option, env_prefix, ide is not None) if ide: env_name = get_best_envname(project_dir, board) if not env_name: raise exception.BoardNotDefined() pg = ProjectGenerator(project_dir, ide, env_name) pg.generate() if is_new_project: init_ci_conf(project_dir) init_cvs_ignore(project_dir) if silent: return if ide: click.secho( "\nProject has been successfully %s including configuration files " "for `%s` IDE." % ("initialized" if is_new_project else "updated", ide), fg="green") else: click.secho( "\nProject has been successfully %s! Useful commands:\n" "`pio run` - process/build project from the current directory\n" "`pio run --target upload` or `pio run -t upload` " "- upload firmware to a target\n" "`pio run --target clean` - clean project (remove compiled files)" "\n`pio run --help` - additional information" % ("initialized" if is_new_project else "updated"), fg="green")