@@ -161,6 +161,8 @@ def check_config():
161
161
global root_output_dir
162
162
global output_dir
163
163
global log_file
164
+ global stm32_url
165
+
164
166
if args .ci is False :
165
167
if os .path .isfile (path_config_filename ):
166
168
try :
@@ -198,11 +200,11 @@ def check_config():
198
200
199
201
try :
200
202
output = subprocess .check_output (
201
- [arduino_cli , "version" ], stderr = subprocess .DEVNULL ,
203
+ [arduino_cli , "version" ], stderr = subprocess .STDOUT ,
202
204
)
203
205
except subprocess .CalledProcessError as e :
204
206
print ('"' + " " .join (e .cmd ) + '" failed with code: {}!' .format (e .returncode ))
205
- print (e .stdout )
207
+ print (e .stdout . decode ( "utf-8" ) )
206
208
quit (e .returncode )
207
209
else :
208
210
res = re .match (r".*Version:\s+(\d+\.\d+\.\d+).*" , output .decode ("utf-8" ))
@@ -215,14 +217,17 @@ def check_config():
215
217
+ arduino_cli_default_version
216
218
)
217
219
220
+ if args .url :
221
+ stm32_url = args .url
222
+
218
223
try :
219
224
output = subprocess .check_output (
220
225
[arduino_cli , "core" , "search" , "stm32" , "--additional-urls" , stm32_url ],
221
- stderr = subprocess .DEVNULL ,
226
+ stderr = subprocess .STDOUT ,
222
227
)
223
228
except subprocess .CalledProcessError as e :
224
229
print ('"' + " " .join (e .cmd ) + '" failed with code: {}!' .format (e .returncode ))
225
- print (e .stdout )
230
+ print (e .stdout . decode ( "utf-8" ) )
226
231
quit (e .returncode )
227
232
else :
228
233
if arduino_platform not in output .decode ("utf-8" ):
@@ -232,13 +237,13 @@ def check_config():
232
237
try :
233
238
output = subprocess .check_output (
234
239
[arduino_cli , "config" , "dump" , "--format" , "json" ],
235
- stderr = subprocess .DEVNULL ,
240
+ stderr = subprocess .STDOUT ,
236
241
).decode ("utf-8" )
237
242
except subprocess .CalledProcessError as e :
238
243
print (
239
244
'"' + " " .join (e .cmd ) + '" failed with code: {}!' .format (e .returncode )
240
245
)
241
- print (e .stdout )
246
+ print (e .stdout . decode ( "utf-8" ) )
242
247
quit (e .returncode )
243
248
else :
244
249
cli_config = json .loads (output )
@@ -465,7 +470,7 @@ def find_board():
465
470
).decode ("utf-8" )
466
471
except subprocess .CalledProcessError as e :
467
472
print ('"' + " " .join (e .cmd ) + '" failed with code: {}!' .format (e .returncode ))
468
- print (e .stdout )
473
+ print (e .stdout . decode ( "utf-8" ) )
469
474
quit (e .returncode )
470
475
else :
471
476
boards_list = json .loads (output )
@@ -488,7 +493,7 @@ def find_board():
488
493
print (
489
494
'"' + " " .join (e .cmd ) + '" failed with code: {}!' .format (e .returncode )
490
495
)
491
- print (e .stdout )
496
+ print (e .stdout . decode ( "utf-8" ) )
492
497
quit (e .returncode )
493
498
else :
494
499
board_detail = json .loads (output )
@@ -874,6 +879,12 @@ def build(build_conf):
874
879
+ cores_config_file_default ,
875
880
)
876
881
882
+ parser .add_argument (
883
+ "-u" , "--url" , metavar = "<string>" , help = "additional URL for the board manager\
884
+ Default url : "
885
+ + stm32_url ,
886
+ )
887
+
877
888
parser .add_argument (
878
889
"-v" , "--verbose" , help = "enable arduino-cli verbose mode" , action = "store_true"
879
890
)
0 commit comments