Page 1 of 1
Problem adding a component
Posted: Fri Sep 06, 2024 7:09 am
by stevenbennett
If I create a new project called blink from the blink example I have no problem building it. However if I create a minimal new project using the sample project, again I can build it but if I try to add a component using the command listed in the ESP Registry i.e. idf.py add-dependency "espressif/led_strip^2.5.5" it creates a new file under main called idf_component.yml which includes the reference to led_strip, but it does not add the folder called managed components with the subfolder espressif__led_strip and consequently fails to build. If I copy the folder managed_components from the working blink project to the sample project then it does build, surely I should not have to do this? As an experiment I downloaded the archive folder from
https://components.espressif.com/compon ... ions/2.5.5 the contents of which look very similar to the folder espressif__led_strip but again if I substitute this folder the sample_project fails to build. Any suggestions most welcome, thank you.
Re: Problem adding a component
Posted: Fri Sep 06, 2024 8:16 am
by chegewara
stevenbennett wrote:
If I create a new project called blink from the blink example I have no problem building it. However if I create a minimal new project using the sample project, again I can build it but if I try to add a component using the command listed in the ESP Registry i.e. idf.py add-dependency "espressif/led_strip^2.5.5" it creates a new file under main called idf_component.yml which includes the reference to led_strip,
Thats correct. Then folder espressif__led_strip will be added when you start building project.
If you see some build errors its best to post logs here so we could investigate it.
Re: Problem adding a component
Posted: Fri Sep 06, 2024 9:04 am
by stevenbennett
If I create a new project based on the sample_project it builds, if I then add a component e.g. led_strip using the Python command idf.py add-dependency "espressif/led_strip^2.5.5" it creates the file idf.component.yml in which there are references to led_strip, but it does not build as the folder managed_components is not created, which should include all the necessary files for the led_strip component. If I create a new project and add the downloaded led_strip component archive at the time of creation then the project does include the folder managed_components but not the file idf.component.yml, however despite the omission it builds!
This is the output from running idf.py add-dependency "espressif/led_strip^2.5.5"
PS E:\Users\Steven\Documents\GitHub\ESP-IDF\sample_project> idf.py add-dependency "espressif/led_strip^2.5.5"
Executing action: add-dependency
Created "E:\Users\Steven\Documents\GitHub\ESP-IDF\sample_project\main\idf_component.yml"
Successfully added dependency "espressif/led_strip^2.5.5" to component "main"
PS E:\Users\Steven\Documents\GitHub\ESP-IDF\sample_project>
This is the build output from the Python component addition, it looks like to failure is because the led_strip files can not be found, presumably because the folder managed_components does not exit?
* Executing task: C:\Espressif\tools\ninja\1.11.1\ninja.exe
[1/4] cmd.exe /C "cd /D E:\Users\Steven\Documents\GitHub\ESP-IDF\sample_project\build\esp-idf\esptool_py && C:\Espress...ject/build/partition_table/partition-table.bin E:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/build/main.bin"
main.bin binary size 0x35750 bytes. Smallest app partition is 0x100000 bytes. 0xca8b0 bytes (79%) free.
[2/4] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D E:\Users\Steven\Documents\GitHub\ESP-IDF\sample_project\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe C:/ESP-IDF/esp-idf-v5.2.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 E:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/build/bootloader/bootloader.bin"
Bootloader binary size 0x5250 bytes. 0x2db0 bytes (36%) free.
* Executing task: C:\Espressif\tools\ninja\1.11.1\ninja.exe
[1/9] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj
C:\Espressif\tools\xtensa-esp-elf\esp-13.2.0_20230928\xtensa-esp-elf\bin\xtensa-esp32s3-elf-gcc.exe -DESP_PLATFORM -DIDF_VER=\"v5.2.1-dirty\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -DUNITY_INCLUDE_CONFIG_H -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -IE:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/build/config -IE:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/main -IC:/ESP-IDF/esp-idf-v5.2.1/components/newlib/platform_include -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/config/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/config/include/freertos -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/config/xtensa/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/FreeRTOS-Kernel/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -IC:/ESP-IDF/esp-idf-v5.2.1/components/freertos/esp_additions/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_hw_support/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_hw_support/include/soc -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_hw_support/include/soc/esp32s3 -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_hw_support/port/esp32s3/. -IC:/ESP-IDF/esp-idf-v5.2.1/components/heap/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/log/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/soc/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/soc/esp32s3 -IC:/ESP-IDF/esp-idf-v5.2.1/components/soc/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/hal/platform_port/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/hal/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/hal/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_rom/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_rom/include/esp32s3 -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_rom/esp32s3 -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_common/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_system/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_system/port/soc -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_system/port/include/private -IC:/ESP-IDF/esp-idf-v5.2.1/components/xtensa/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/xtensa/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/xtensa/deprecated_include -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/include/apps -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/include/apps/sntp -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/lwip/src/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/port/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/port/freertos/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/port/esp32xx/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/port/esp32xx/include/arch -IC:/ESP-IDF/esp-idf-v5.2.1/components/lwip/port/esp32xx/include/sys -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_ringbuf/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/efuse/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/efuse/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_mm/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/deprecated -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/analog_comparator/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/dac/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/gpio/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/gptimer/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/i2c/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/i2s/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/ledc/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/mcpwm/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/parlio/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/pcnt/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/rmt/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/sdio_slave/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/sdmmc/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/sigma_delta/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/spi/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/temperature_sensor/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/touch_sensor/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/twai/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/uart/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/usb_serial_jtag/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/driver/touch_sensor/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_pm/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/port/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/mbedtls/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/mbedtls/library -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/esp_crt_bundle/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/mbedtls/3rdparty/everest/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/mbedtls/3rdparty/p256-m -IC:/ESP-IDF/esp-idf-v5.2.1/components/mbedtls/mbedtls/3rdparty/p256-m/p256-m -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_bootloader_format/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_app_format/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/bootloader_support/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/bootloader_support/bootloader_flash/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_partition/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/app_update/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/spi_flash/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/pthread/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_timer/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/app_trace/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_event/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/nvs_flash/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_phy/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_phy/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/vfs/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_netif/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/wpa_supplicant/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/wpa_supplicant/port/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/wpa_supplicant/esp_supplicant/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_coex/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_wifi/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_wifi/wifi_apps/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/unity/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/unity/unity/src -IC:/ESP-IDF/esp-idf-v5.2.1/components/cmock/CMock/src -IC:/ESP-IDF/esp-idf-v5.2.1/components/console -IC:/ESP-IDF/esp-idf-v5.2.1/components/http_parser -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp-tls -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp-tls/esp-tls-crypto -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_adc/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_adc/interface -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_adc/esp32s3/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_adc/deprecated/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_eth/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_gdbstub/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_hid/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/tcp_transport/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_http_client/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_http_server/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_https_ota/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_psram/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_lcd/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_lcd/interface -IC:/ESP-IDF/esp-idf-v5.2.1/components/protobuf-c/protobuf-c -IC:/ESP-IDF/esp-idf-v5.2.1/components/protocomm/include/common -IC:/ESP-IDF/esp-idf-v5.2.1/components/protocomm/include/security -IC:/ESP-IDF/esp-idf-v5.2.1/components/protocomm/include/transports -IC:/ESP-IDF/esp-idf-v5.2.1/components/protocomm/include/crypto/srp6a -IC:/ESP-IDF/esp-idf-v5.2.1/components/esp_local_ctrl/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/espcoredump/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/espcoredump/include/port/xtensa -IC:/ESP-IDF/esp-idf-v5.2.1/components/wear_levelling/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/sdmmc/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/fatfs/diskio -IC:/ESP-IDF/esp-idf-v5.2.1/components/fatfs/src -IC:/ESP-IDF/esp-idf-v5.2.1/components/fatfs/vfs -IC:/ESP-IDF/esp-idf-v5.2.1/components/idf_test/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/idf_test/include/esp32s3 -IC:/ESP-IDF/esp-idf-v5.2.1/components/ieee802154/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/json/cJSON -IC:/ESP-IDF/esp-idf-v5.2.1/components/mqtt/esp-mqtt/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/nvs_sec_provider/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/perfmon/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/spiffs/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/touch_element/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/usb/include -IC:/ESP-IDF/esp-idf-v5.2.1/components/wifi_provisioning/include -mlongcalls -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -Og -fno-shrink-wrap -fmacro-prefix-map=E:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project=. -fmacro-prefix-map=C:/ESP-IDF/esp-idf-v5.2.1=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -MF esp-idf\main\CMakeFiles\__idf_main.dir\main.c.obj.d -o esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj -c E:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/main/main.c
E:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/main/main.c:2:10: fatal error: led_strip: No such file or directory
2 | #include "led_strip"
| ^~~~~~~~~~~
compilation terminated.
[2/9] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D E:\Users\Steven\Documents\GitHub\ESP-IDF\sample_project\build\bootloader\esp-idf\esptool_py && C:\Espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe C:/ESP-IDF/esp-idf-v5.2.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 E:/Users/Steven/Documents/GitHub/ESP-IDF/sample_project/build/bootloader/bootloader.bin"
Bootloader binary size 0x5250 bytes. 0x2db0 bytes (36%) free.
ninja: build stopped: subcommand failed.
* The terminal process "C:\Espressif\tools\ninja\1.11.1\ninja.exe" terminated with exit code: 1.
Re: Problem adding a component
Posted: Fri Sep 06, 2024 4:22 pm
by chegewara
Yet again:
- idf.py add-dependency "espressif/led_strip^2.5.5" - in this step "idf_component.yml" is created in main folder
- idf.py set-target esp32xx - sdkconfig is generated
- idf.py build - managed_components is created and all dependency components will be downloaded into it, which means you need active internet connection
Code: Select all
idf.py build
Executing action: all (aliases: build)
Running cmake in directory /home/chegewara/programming/other/test-esp-idf/test-usb-lcd/build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/home/chegewara/.espressif/python_env/idf5.4_py3.12_env/bin/python -DESP_PLATFORM=1 -DCCACHE_ENABLE=0 /home/chegewara/programming/other/test-esp-idf/test-usb-lcd"...
-- IDF_TARGET is not set, guessed 'esp32p4' from sdkconfig '/home/chegewara/programming/other/test-esp-idf/test-usb-lcd/sdkconfig'
-- Found Git: /usr/bin/git (found version "2.43.0")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/chegewara/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/chegewara/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/chegewara/.espressif/tools/riscv32-esp-elf/esp-13.2.0_20240530/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any of the parent directories): .git'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32p4
NOTICE: Skipping optional dependency: leeebo/tinyusb_src
Processing 6 dependencies:
[1/6] espressif/cmake_utilities (0.5.3)
[2/6] espressif/esp_lcd_ek79007 (1.0.0)
[3/6] espressif/esp_lcd_usb_display (1.0.0)
[4/6] espressif/tinyusb (0.15.0~10)
[5/6] espressif/usb_device_uvc (1.1.0)
[6/6] idf (5.4.0)
-- Project sdkconfig file /home/chegewara/programming/other/test-esp-idf/test-usb-lcd/sdkconfig
Loading defaults file /home/chegewara/programming/other/test-esp-idf/test-usb-lcd/sdkconfig.defaults...
-- Adding linker script /home/chegewara/programming/esp-idf/master/components/riscv/ld/rom.api.ld
-- Found Python3: /home/chegewara/.espressif/python_env/idf5.4_py3.12_env/bin/python (found version "3.12.3") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
Code: Select all
Processing 6 dependencies:
[1/6] espressif/cmake_utilities (0.5.3)
[2/6] espressif/esp_lcd_ek79007 (1.0.0)
[3/6] espressif/esp_lcd_usb_display (1.0.0)
[4/6] espressif/tinyusb (0.15.0~10)
[5/6] espressif/usb_device_uvc (1.1.0)
[6/6] idf (5.4.0)
Re: Problem adding a component
Posted: Fri Sep 06, 2024 4:51 pm
by stevenbennett
Are you saying that one must run set-target and build using idf.py rather than do this in the ESP-IDF VSCode extension from the buttons in the status bar?
Re: Problem adding a component
Posted: Fri Sep 06, 2024 5:01 pm
by chegewara
It suppose to works with buttons from extension. I personally prefer to use CLI instead of extension.
Extension is another layer of software, which has a bugs (there is no software w/o bugs), so it may cause more problems one way or another.
I am just saying that you have to start build, from cli or from button press, system should prepare managed_components folder and to download components.
Re: Problem adding a component
Posted: Sat Sep 07, 2024 6:18 am
by stevenbennett
Thanks for your suggestions, it helped me to realise what I was doing wrong.
I was doing this:
1: Add dependency
2: Add #include
3: Build = failed!!!!!
The correct way is:
1: Add dependency
2: Build - to add managed components
3: Add #include
4: Build = success
Re: Problem adding a component
Posted: Sat Sep 07, 2024 1:45 pm
by chegewara
This is only is confirming what i said. There is a bug in extension.
When you do fullclean then managed components will be removed and you will end up with code which has includes and cmake complaining about it, which is wrong. Also you may have and in many cases you will have Kconfig file to configure options for managed components.
With CLI it works both ways, when you add include and code before and after initial build.