Description
Describe the problem
I have noticed when a platform is installed from git, instead of the Boards Manager (./arduino-cli core install id
), then the BoardDetails#build_properties
fails to provide sufficient information to calculate required tool paths. See arduino/arduino-ide#2071 (comment).
To reproduce
Install the esp32 platform manually via Git, and run the get board details command for esp32:esp32:esp32
(the FQBN can be espressif:esp32:esp32
if you strictly follow the steps).
The missing runtime.tools.*
is the real problem for the Git-installed platform:
341,381c340,355
< "runtime.platform.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/hardware/esp32/2.0.9",
< "runtime.hardware.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/hardware/esp32",
< "build.core.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/hardware/esp32/2.0.9/cores/esp32",
< "build.system.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/hardware/esp32/2.0.9/system",
< "build.variant.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/hardware/esp32/2.0.9/variants/esp32",
< "runtime.tools.mkspiffs-3.1.0-gcc10.3-e5f9fec.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp8266/tools/mkspiffs/3.1.0-gcc10.3-e5f9fec",
< "runtime.tools.mklittlefs-3.1.0-gcc10.3-e5f9fec.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp8266/tools/mklittlefs/3.1.0-gcc10.3-e5f9fec",
< "runtime.tools.esptool_py.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/esptool_py/4.5.1",
< "runtime.tools.esptool_py-4.5.1.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/esptool_py/4.5.1",
< "runtime.tools.mklittlefs.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/mklittlefs/3.0.0-gnu12-dc7f933",
< "runtime.tools.mklittlefs-3.0.0-gnu12-dc7f933.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/mklittlefs/3.0.0-gnu12-dc7f933",
< "runtime.tools.mkspiffs.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/mkspiffs/0.2.3",
< "runtime.tools.mkspiffs-0.2.3.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/mkspiffs/0.2.3",
< "runtime.tools.openocd-esp32.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/openocd-esp32/v0.11.0-esp32-20221026",
< "runtime.tools.openocd-esp32-v0.11.0-esp32-20221026.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/openocd-esp32/v0.11.0-esp32-20221026",
< "runtime.tools.riscv32-esp-elf-gcc.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/riscv32-esp-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.riscv32-esp-elf-gcc-esp-2021r2-patch5-8.4.0.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/riscv32-esp-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.riscv32-esp-elf-gdb.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/riscv32-esp-elf-gdb/11.2_20220823",
< "runtime.tools.riscv32-esp-elf-gdb-11.2_20220823.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/riscv32-esp-elf-gdb/11.2_20220823",
< "runtime.tools.xtensa-esp-elf-gdb.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/xtensa-esp-elf-gdb/11.2_20220823",
< "runtime.tools.xtensa-esp-elf-gdb-11.2_20220823.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/xtensa-esp-elf-gdb/11.2_20220823",
< "runtime.tools.xtensa-esp32-elf-gcc.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/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/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.xtensa-esp32s2-elf-gcc.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/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/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/xtensa-esp32s2-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.xtensa-esp32s3-elf-gcc.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/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/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0",
< "runtime.tools.serial-monitor.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
< "runtime.tools.serial-monitor-0.13.0.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
< "runtime.tools.ctags.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
< "runtime.tools.ctags-5.8-arduino11.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
< "runtime.tools.mdns-discovery.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
< "runtime.tools.mdns-discovery-1.0.9.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
< "runtime.tools.xtensa-lx106-elf-gcc.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/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/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec",
< "runtime.tools.serial-discovery.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/serial-discovery/1.4.0",
< "runtime.tools.serial-discovery-1.4.0.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/builtin/tools/serial-discovery/1.4.0",
< "runtime.tools.python3.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp8266/tools/python3/3.7.2-post1",
< "runtime.tools.python3-3.7.2-post1.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/cli/Arduino15/packages/esp8266/tools/python3/3.7.2-post1",
< "extra.time.utc": "1685646630",
< "extra.time.local": "1685653830",
---
> "build.copy_jtag_files": "0",
> "runtime.platform.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino/hardware/esp32/esp32",
> "runtime.hardware.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino/hardware/esp32",
> "build.core.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino/hardware/esp32/esp32/cores/esp32",
> "build.system.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino/hardware/esp32/esp32/system",
> "build.variant.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino/hardware/esp32/esp32/variants/esp32",
> "runtime.tools.serial-monitor.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
> "runtime.tools.serial-monitor-0.13.0.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/serial-monitor/0.13.0",
> "runtime.tools.ctags.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
> "runtime.tools.ctags-5.8-arduino11.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/ctags/5.8-arduino11",
> "runtime.tools.serial-discovery.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/serial-discovery/1.4.0",
> "runtime.tools.serial-discovery-1.4.0.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/serial-discovery/1.4.0",
> "runtime.tools.mdns-discovery.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
> "runtime.tools.mdns-discovery-1.0.9.path": "/Users/dankeboy36/Desktop/dev/arduino-ide-esp-exception-decoder/test-resources/envs/git/Arduino15/packages/builtin/tools/mdns-discovery/1.0.9",
> "extra.time.utc": "1685646185",
> "extra.time.local": "1685653385",
diff.json.txt
installed_from_boards_manager.json.txt
installed_from_git.json.txt
If you have npm
, node
, python
, jq
installed, you can clone my repository and run the tests. It will create the test environment. It takes a few minutes.
git clone https://github.com/dankeboy36/arduino-ide-esp-exception-decoder.git cli-2197 \
&& cd cli-2197 \
&& git checkout e140fa90c88a785b766d1935156f0f1feab167ac \
&& npm i \
&& npm run test-slow
To get the complete build_proepties
from the CLI (boards manager) installation:
./test-resources/cli-releases/install/0.33.0/arduino-cli board details -b esp32:esp32:esp32 --config-file ./cli/arduino-cli.yaml --format json | jq .build_properties
To get the bogus build_proepties
from the Git installation:
./test-resources/cli-releases/install/0.33.0/arduino-cli board details -b esp32:esp32:esp32 --config-file ./git/arduino-cli.yaml --format json | jq .build_properties
Expected behavior
The BoardDetails#build_proeprties
keys are the same when the platform is installed via the boards manager and Git.
Arduino CLI version
0.33.0
Operating system
macOS
Operating system version
11.7.7
Additional context
No response
Issue checklist
- I searched for previous reports in the issue tracker
- I verified the problem still occurs when using the nightly build
- My report contains all necessary details