From be24c6ab4d802143fa9295a276777d50208af780 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 18 Apr 2019 14:17:22 +0300 Subject: [PATCH] Fix an issue when invalid "env_default" results into unhandled errors // Resolve #2265 --- HISTORY.rst | 4 ++++ platformio/commands/init.py | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index a6543f30..d34f4555 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -8,6 +8,10 @@ PlatformIO 3.0 ~~~~~~~~~~~~~~~~~~ * Project Generator: fixed a VSCode C/C++'s "Cannot find" warning when CPPPATH folder does not exist +* Fixed an "IndexError: list index out of range" for Arduino sketch preprocessor + (`issue #2268 `_) +* Fixed an issue when invalid "env_default" in `"platformio.ini" (Project Configuration File) `__ results into unhandled errors + (`issue #2265 `_) 3.6.6 (2019-03-29) ~~~~~~~~~~~~~~~~~~ diff --git a/platformio/commands/init.py b/platformio/commands/init.py index e90bc2fd..e7127313 100644 --- a/platformio/commands/init.py +++ b/platformio/commands/init.py @@ -23,6 +23,7 @@ import click from platformio import exception, util from platformio.commands.platform import \ platform_install as cli_platform_install +from platformio.commands.run import check_project_envs from platformio.ide.projectgenerator import ProjectGenerator from platformio.managers.platform import PlatformManager @@ -130,10 +131,11 @@ def get_best_envname(project_dir, boards=None): config = util.load_project_config(project_dir) env_default = None if config.has_option("platformio", "env_default"): - env_default = config.get("platformio", - "env_default").split(", ")[0].strip() + env_default = util.parse_conf_multi_values( + config.get("platformio", "env_default")) + check_project_envs(config, env_default) if env_default: - return env_default + return env_default[0] section = None for section in config.sections(): if not section.startswith("env:"):