Description
Describe the current behavior
Arduino IDE 1.x has a "post install script" feature that runs a specific script after Boards Manager installation.
This feature has been added to Arduino CLI for boards platforms (#893) and documented in the Arduino Platform Specification. However, it turns out that it was only partially implemented.
In addition to running the post install script from the platform at the time of installation, Arduino IDE 1.x does the same for tools.
The potentially useful support for post install scripts in tools has not been added to Arduino CLI.
To reproduce
Observe base line behavior of Arduino IDE 1.x
Use Arduino IDE 1.8.19 to install ATTinyCore:[email protected]
according to these instructions:
https://github.com/SpenceKonde/ATTinyCore/blob/master/Installation.md#boards-manager-installation
🙂 Notice that the Arduino IDE console shows a warning about skipping the post install script for the ATTinyCore:[email protected]
tool installation:
Warning: non trusted contribution, skipping script execution (C:\Users\per\AppData\Local\Arduino15\packages\ATTinyCore\tools\micronucleus\2.5-azd1b\post_install.bat)
Skipping post install scripts for "untrusted contributions" is an obsolete behavior which was removed from Arduino CLI (#911). The important thing to note is that this shows the post install script support is intended to be available for tools as well as boards platforms.
Observe mismatched behavior of Arduino CLI
$ arduino-cli version
arduino-cli.exe Version: nightly-20220121 Commit: 5beeba4 Date: 2022-01-21T01:26:28Z
$ arduino-cli core update-index --additional-urls http://drazzy.com/package_drazzy.com_index.json
Updating index: package_index.json downloaded / 439.91 KiB 29.10%
Updating index: package_index.json.sig downloaded
Updating index: package_drazzy.com_index.json downloaded/ 190.61 KiB 37.62%
$ arduino-cli core uninstall --additional-urls http://drazzy.com/package_drazzy.com_index.json ATTinyCore:avr
Uninstalling ATTinyCore:[email protected]...
Platform ATTinyCore:[email protected] uninstalled
Uninstalling arduino:[email protected], tool is no more required...
Tool arduino:[email protected] uninstalled
Uninstalling arduino:[email protected], tool is no more required...
Tool arduino:[email protected] uninstalled
Uninstalling ATTinyCore:[email protected], tool is no more required...
Tool ATTinyCore:[email protected] uninstalled
$ arduino-cli core install --verbose --additional-urls http://drazzy.com/package_drazzy.com_index.json ATTinyCore:avr | grep 'post_install'
😢 Notice that Arduino CLI did not execute C:\Users\per\AppData\Local\Arduino15\packages\ATTinyCore\tools\micronucleus\2.5-azd1b\post_install.bat
during the installation.
Describe the request
Treat post install scripts in tool archives during Boards Manager installations in same way platform archives are currently handled.
Environment
- CLI version:
arduino-cli.exe Version: nightly-20220121 Commit: 5beeba4 Date: 2022-01-21T01:26:28Z
- OS and platform: Windows 10
Additional context
The support for the post install script in ATTinyCore:[email protected]
is anticipated: