Closed
Description
Describe the request
If I run ./arduino-cli board details -b arduino:avr:unomini --format json
twice, they give different JSON output. The contents are the same, but the JSON structure is not deterministic. It would be great if the CLI could do it. Thanks!
Describe the current behavior
Run ./arduino-cli board details -b arduino:avr:unomini --format json
twice and compare the content. They're different.
./arduino-cli version \
&& ./arduino-cli board details -b arduino:avr:unomini --format json >> bd_1.json \
&& ./arduino-cli board details -b arduino:avr:unomini --format json >> bd_2.json \
&& diff bd_1.json bd_2.json >> bd_diff.diff
arduino-cli Version: git-snapshot Commit: 8cd72974 Date: 2023-06-11T14:33:49Z
Click to see bd_diff.diff
177a178,187
> "id": "jtag3isp",
> "name": "Atmel JTAGICE3 (ISP mode)"
> },
> {
> "platform": "Arduino AVR Boards",
> "id": "parallel",
> "name": "Parallel Programmer"
> },
> {
> "platform": "Arduino AVR Boards",
183,184c193,194
< "id": "usbGemma",
< "name": "Arduino Gemma"
---
> "id": "avrispmkii",
> "name": "AVRISP mkII"
193,194c203,204
< "id": "arduinoasispatmega32u4",
< "name": "Arduino as ISP (ATmega32U4)"
---
> "id": "atmel_ice",
> "name": "Atmel-ICE (AVR)"
198,199c208,209
< "id": "parallel",
< "name": "Parallel Programmer"
---
> "id": "jtag3",
> "name": "Atmel JTAGICE3 (JTAG mode)"
203,204c213,214
< "id": "avrispmkii",
< "name": "AVRISP mkII"
---
> "id": "usbGemma",
> "name": "Arduino Gemma"
208,209c218,219
< "id": "arduinoasisp",
< "name": "Arduino as ISP"
---
> "id": "buspirate",
> "name": "BusPirate as ISP"
218,222d227
< "id": "atmel_ice",
< "name": "Atmel-ICE (AVR)"
< },
< {
< "platform": "Arduino AVR Boards",
228,234c233,234
< "id": "arduinoisporg",
< "name": "ArduinoISP.org"
< },
< {
< "platform": "Arduino AVR Boards",
< "id": "jtag3",
< "name": "Atmel JTAGICE3 (JTAG mode)"
---
> "id": "arduinoisp",
> "name": "ArduinoISP"
238,239c238,239
< "id": "jtag3isp",
< "name": "Atmel JTAGICE3 (ISP mode)"
---
> "id": "arduinoisporg",
> "name": "ArduinoISP.org"
243,244c243,244
< "id": "arduinoisp",
< "name": "ArduinoISP"
---
> "id": "arduinoasispatmega32u4",
> "name": "Arduino as ISP (ATmega32U4)"
248,249c248,249
< "id": "buspirate",
< "name": "BusPirate as ISP"
---
> "id": "arduinoasisp",
> "name": "Arduino as ISP"
371a372,373
> "runtime.tools.mklittlefs-3.0.0-gnu12-dc7f933.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/mklittlefs/3.0.0-gnu12-dc7f933",
> "runtime.tools.mkspiffs-0.2.3.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/mkspiffs/0.2.3",
376d377
< "runtime.tools.serial-monitor-0.11.0.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/serial-monitor/0.11.0",
378,379c379
< "runtime.tools.mkspiffs-0.2.3.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/mkspiffs/0.2.3",
< "runtime.tools.mklittlefs-3.0.0-gnu12-dc7f933.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/mklittlefs/3.0.0-gnu12-dc7f933",
---
> "runtime.tools.serial-monitor-0.11.0.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/serial-monitor/0.11.0",
385a386,393
> "runtime.tools.arm-none-eabi-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4",
> "runtime.tools.arm-none-eabi-gcc-7-2017q4.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4",
> "runtime.tools.dfu-util.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/dfu-util/0.10.0-arduino1",
> "runtime.tools.dfu-util-0.10.0-arduino1.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/dfu-util/0.10.0-arduino1",
> "runtime.tools.ctags.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
> "runtime.tools.ctags-5.8-arduino11.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
> "runtime.tools.mdns-discovery.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
> "runtime.tools.mdns-discovery-1.0.9.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
388,395d395
< "runtime.tools.xtensa-esp32s3-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.xtensa-esp32s3-elf-gcc-esp-2021r2-patch5-8.4.0.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.python3.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1",
< "runtime.tools.python3-3.7.2-post1.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1",
< "runtime.tools.mkspiffs.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/mkspiffs/3.1.0-gcc10.3-e5f9fec",
< "runtime.tools.mkspiffs-3.1.0-gcc10.3-e5f9fec.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/mkspiffs/3.1.0-gcc10.3-e5f9fec",
< "runtime.tools.xtensa-lx106-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec",
< "runtime.tools.xtensa-lx106-elf-gcc-3.1.0-gcc10.3-e5f9fec.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec",
398,405d397
< "runtime.tools.imgtool.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/imgtool/1.8.0-arduino.1",
< "runtime.tools.imgtool-1.8.0-arduino.1.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/imgtool/1.8.0-arduino.1",
< "runtime.tools.serial-monitor.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
< "runtime.tools.serial-monitor-0.13.0.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
< "runtime.tools.teensy-monitor.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-monitor/1.57.2",
< "runtime.tools.teensy-monitor-1.57.2.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-monitor/1.57.2",
< "runtime.tools.teensy-compile.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-compile/5.4.1",
< "runtime.tools.teensy-compile-5.4.1.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-compile/5.4.1",
408,409d399
< "runtime.tools.arm-none-eabi-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4",
< "runtime.tools.arm-none-eabi-gcc-7-2017q4.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4",
412,417c402,409
< "runtime.tools.xtensa-esp32-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.xtensa-esp32-elf-gcc-esp-2021r2-patch5-8.4.0.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.esptool_py.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1",
< "runtime.tools.esptool_py-4.5.1.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1",
< "runtime.tools.bossac.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2",
< "runtime.tools.bossac-1.9.1-arduino2.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2",
---
> "runtime.tools.teensy-monitor.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-monitor/1.57.2",
> "runtime.tools.teensy-monitor-1.57.2.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-monitor/1.57.2",
> "runtime.tools.teensy-compile.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-compile/5.4.1",
> "runtime.tools.teensy-compile-5.4.1.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-compile/5.4.1",
> "runtime.tools.xtensa-esp32s2-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s2-elf-gcc/esp-2021r2-patch5-8.4.0",
> "runtime.tools.xtensa-esp32s2-elf-gcc-esp-2021r2-patch5-8.4.0.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s2-elf-gcc/esp-2021r2-patch5-8.4.0",
> "runtime.tools.xtensa-lx106-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec",
> "runtime.tools.xtensa-lx106-elf-gcc-3.1.0-gcc10.3-e5f9fec.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec",
420,423c412,417
< "runtime.tools.dfu-util.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/dfu-util/0.10.0-arduino1",
< "runtime.tools.dfu-util-0.10.0-arduino1.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/dfu-util/0.10.0-arduino1",
< "runtime.tools.ctags.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
< "runtime.tools.ctags-5.8-arduino11.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
---
> "runtime.tools.serial-monitor.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
> "runtime.tools.serial-monitor-0.13.0.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
> "runtime.tools.xtensa-esp-elf-gdb.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp-elf-gdb/11.2_20220823",
> "runtime.tools.xtensa-esp-elf-gdb-11.2_20220823.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp-elf-gdb/11.2_20220823",
> "runtime.tools.xtensa-esp32s3-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0",
> "runtime.tools.xtensa-esp32s3-elf-gcc-esp-2021r2-patch5-8.4.0.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0",
425a420,429
> "runtime.tools.teensy-discovery.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-discovery/1.57.2",
> "runtime.tools.teensy-discovery-1.57.2.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-discovery/1.57.2",
> "runtime.tools.bossac.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2",
> "runtime.tools.bossac-1.9.1-arduino2.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/bossac/1.9.1-arduino2",
> "runtime.tools.imgtool.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/imgtool/1.8.0-arduino.1",
> "runtime.tools.imgtool-1.8.0-arduino.1.path=/Users/akos.kitta/Library/Arduino15/packages/arduino/tools/imgtool/1.8.0-arduino.1",
> "runtime.tools.python3.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1",
> "runtime.tools.python3-3.7.2-post1.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1",
> "runtime.tools.mkspiffs.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/mkspiffs/3.1.0-gcc10.3-e5f9fec",
> "runtime.tools.mkspiffs-3.1.0-gcc10.3-e5f9fec.path=/Users/akos.kitta/Library/Arduino15/packages/esp8266/tools/mkspiffs/3.1.0-gcc10.3-e5f9fec",
428,431d431
< "runtime.tools.xtensa-esp32s2-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s2-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.xtensa-esp32s2-elf-gcc-esp-2021r2-patch5-8.4.0.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32s2-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.xtensa-esp-elf-gdb.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp-elf-gdb/11.2_20220823",
< "runtime.tools.xtensa-esp-elf-gdb-11.2_20220823.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp-elf-gdb/11.2_20220823",
434,439c434,439
< "runtime.tools.mdns-discovery.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
< "runtime.tools.mdns-discovery-1.0.9.path=/Users/akos.kitta/Library/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
< "runtime.tools.teensy-discovery.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-discovery/1.57.2",
< "runtime.tools.teensy-discovery-1.57.2.path=/Users/akos.kitta/Library/Arduino15/packages/teensy/tools/teensy-discovery/1.57.2",
< "extra.time.utc=1686494811",
< "extra.time.local=1686502011",
---
> "runtime.tools.esptool_py.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1",
> "runtime.tools.esptool_py-4.5.1.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1",
> "runtime.tools.xtensa-esp32-elf-gcc.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0",
> "runtime.tools.xtensa-esp32-elf-gcc-esp-2021r2-patch5-8.4.0.path=/Users/akos.kitta/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0",
> "extra.time.utc=1686494812",
> "extra.time.local=1686502012",
Arduino CLI version
Operating system
macOS
Operating system version
11.7.7
Additional context
No response
Issue checklist
- I searched for previous requests in the issue tracker
- I verified the feature was still missing when using the nightly build
- My request contains all necessary details