@@ -42,15 +42,14 @@ def configure_default_packages(self, variables, targets):
42
42
board_config = self .board_config (variables .get ("board" ))
43
43
mcu = variables .get ("board_build.mcu" , board_config .get ("build.mcu" , "esp32" ))
44
44
board_sdkconfig = variables .get ("board_espidf.custom_sdkconfig" , board_config .get ("espidf.custom_sdkconfig" , "" ))
45
- core_variant_board = '' .join (variables .get ("board_build.extra_flags" , board_config .get ("build.extra_flags" , "" )))
46
- core_variant_board = core_variant_board .replace ("-D" , " " )
47
- core_variant_build = ('' .join (variables .get ("build_flags" , []))).replace ("-D" , " " )
48
45
frameworks = variables .get ("pioframework" , [])
49
46
50
47
def install_tool (TOOL ):
51
48
INSTALL_TOOL = "install-" + TOOL .split ('-' , 1 )[- 1 ]
49
+ self .packages [INSTALL_TOOL ]["optional" ] = False
52
50
INSTALL_TOOL_PATH = os .path .join (ProjectConfig .get_instance ().get ("platformio" , "packages_dir" ), INSTALL_TOOL )
53
51
TOOL_PATH = os .path .join (ProjectConfig .get_instance ().get ("platformio" , "packages_dir" ), TOOL )
52
+ TOOL_PACKAGE_PATH = os .path .join (TOOL_PATH , "package.json" )
54
53
TOOLS_PATH_DEFAULT = os .path .join (os .path .expanduser ("~" ), ".platformio" )
55
54
IDF_TOOLS = os .path .join (ProjectConfig .get_instance ().get ("platformio" , "packages_dir" ), "tl-install" , "tools" , "idf_tools.py" )
56
55
TOOLS_JSON_PATH = os .path .join (INSTALL_TOOL_PATH , "tools.json" )
@@ -67,20 +66,23 @@ def install_tool(TOOL):
67
66
68
67
tl_flag = bool (os .path .exists (IDF_TOOLS ))
69
68
json_flag = bool (os .path .exists (TOOLS_JSON_PATH ))
70
- tool_flag = bool (os .path .exists (TOOL_PATH ))
69
+ tool_flag = bool (os .path .exists (TOOL_PACKAGE_PATH ))
71
70
if tl_flag and json_flag and not tool_flag :
72
- rc = subprocess .call (IDF_TOOLS_CMD )
71
+ rc = subprocess .run (IDF_TOOLS_CMD ). returncode
73
72
if rc != 0 :
74
73
sys .stderr .write ("Error: Couldn't execute 'idf_tools.py install'\n " )
75
74
else :
76
75
tl_path = "file://" + join (TOOLS_PATH_DEFAULT , "tools" , TOOL )
77
76
if not os .path .exists (join (TOOLS_PATH_DEFAULT , "tools" , TOOL , "package.json" )):
78
77
shutil .copyfile (TOOLS_PACK_PATH , join (TOOLS_PATH_DEFAULT , "tools" , TOOL , "package.json" ))
79
- pm .install (tl_path )
78
+ pm .install (tl_path )
79
+ self .packages [INSTALL_TOOL ]["optional" ] = True
80
80
# tool is already installed, just activate it
81
- self .packages [TOOL ]["version" ] = TOOL_PATH
82
- self .packages [TOOL ]["optional" ] = False
83
- self .packages .pop (INSTALL_TOOL , None )
81
+ if tl_flag and json_flag and tool_flag :
82
+ self .packages [TOOL ]["version" ] = TOOL_PATH
83
+ self .packages [TOOL ]["optional" ] = False
84
+ self .packages [INSTALL_TOOL ]["optional" ] = True
85
+
84
86
return
85
87
86
88
# Installer only needed for setup, deactivate when installed
@@ -117,8 +119,7 @@ def install_tool(TOOL):
117
119
self .packages ["tool-mkfatfs" ]["optional" ] = False
118
120
else :
119
121
self .packages ["tool-mkspiffs" ]["optional" ] = False
120
- if variables .get ("upload_protocol" ):
121
- self .packages ["tool-openocd-esp32" ]["optional" ] = False
122
+
122
123
if os .path .isdir ("ulp" ):
123
124
self .packages ["toolchain-esp32ulp" ]["optional" ] = False
124
125
@@ -153,8 +154,6 @@ def install_tool(TOOL):
153
154
"tool-esp-rom-elfs" ,
154
155
):
155
156
self .packages [p ]["optional" ] = False
156
- # elif p in ("tool-mconf", "tool-idf") and IS_WINDOWS:
157
- # self.packages[p]["optional"] = False
158
157
159
158
if mcu in ("esp32" , "esp32s2" , "esp32s3" ):
160
159
self .packages ["toolchain-xtensa-esp-elf" ]["optional" ] = False
0 commit comments