# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps

.bt_default_depends: &bt_default_depends
  depends_components:
    - bt
    - esp_phy
    - esp_coex
    - nvs_flash
    - esp_log
    - mbedtls
    - vfs

examples/bluetooth:
  <<: *bt_default_depends
  disable:
    - if: SOC_BT_SUPPORTED != 1

examples/bluetooth/bluedroid/ble:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_console
    - esp_driver_gpio
    - esp_driver_i2s
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/bluedroid/ble/pytest_ble_test.py

examples/bluetooth/bluedroid/ble/ble_hid_device_demo:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_driver_gpio

examples/bluetooth/bluedroid/ble/ble_throughput:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_console
    - esp_driver_gpio
    - esp_driver_i2s
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/bluedroid/ble_50/pytest_ble_throughput_test.py

examples/bluetooth/bluedroid/ble_50:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_50_SUPPORTED != 1
  depends_components+:
    - esp_console
    - esp_driver_gpio
    - esp_driver_i2s
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/bluedroid/ble_50/pytest_ble50_test.py

examples/bluetooth/bluedroid/classic_bt:
  <<: *bt_default_depends
  disable:
    - if: SOC_BT_CLASSIC_SUPPORTED != 1
  depends_components+:
    - esp_console
    - esp_driver_gpio
    - esp_driver_i2s
    - esp_driver_uart
  depends_components-:
    - mbedtls
  depends_filepatterns:
    - components/driver/dac/**/*
    - examples/bluetooth/bluedroid/esp_hid_host/**/*
    - examples/bluetooth/bluedroid/classic_bt/pytest_classic_bt_test.py
    - examples/bluetooth/bluedroid/classic_bt/bt_discovery/pytest_classic_bt_discovery_test.py

examples/bluetooth/bluedroid/coex/a2dp_gatts_coex:
  <<: *bt_default_depends
  disable:
    - if: IDF_TARGET != "esp32"
      temporary: true
      reason: the other targets are not tested yet
  depends_components+:
    - esp_driver_i2s
  depends_filepatterns:
    - components/driver/dac/**/*

examples/bluetooth/blufi:
  <<: *bt_default_depends
  disable:
    - if: SOC_BT_SUPPORTED != 1
    - if: SOC_WIFI_SUPPORTED != 1
  depends_components+:
    - esp_console
    - esp_wifi
    - esp_event

examples/bluetooth/esp_ble_mesh:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_MESH_SUPPORTED != 1
    # limit build configs
    - if: CI_COMMIT_REF_NAME == "master" and (NIGHTLY_RUN == 0 and CONFIG_NAME not in ["default", "bluedroid", "nimble"])
  depends_components+:
    - esp_console
    - touch_element
    - esp_driver_gpio
  depends_components-:
    - esp_coex
  depends_filepatterns:
    - examples/bluetooth/esp_ble_mesh/common_components/**/*

examples/bluetooth/esp_ble_mesh/wifi_coexist:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_MESH_SUPPORTED != 1
    - if: SOC_WIFI_SUPPORTED != 1
  depends_components+:
    - esp_console
    - esp_wifi
    - esp_netif
    - esp_driver_gpio
  depends_filepatterns:
    - examples/bluetooth/esp_ble_mesh/common_components/**/*

examples/bluetooth/esp_hid_device:
  <<: *bt_default_depends
  disable:
    - if: SOC_BT_SUPPORTED != 1
  depends_components+:
    - esp_hid

examples/bluetooth/esp_hid_host:
  <<: *bt_default_depends
  disable_test:
    - if: IDF_TARGET != "esp32"
      temporary: true
      reason: temporarily test esp32
  disable:
    - if: SOC_BT_SUPPORTED != 1
  depends_components+:
    - esp_hid

examples/bluetooth/hci/ble_adv_scan_combined:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/hci/hci_common_component/**/*

examples/bluetooth/hci/controller_hci_uart_esp32:
  <<: *bt_default_depends
  enable:
    - if: IDF_TARGET == "esp32"
  depends_components+:
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/hci/hci_common_component/**/*

examples/bluetooth/hci/controller_hci_uart_esp32c3_and_esp32s3:
  <<: *bt_default_depends
  enable:
    - if: IDF_TARGET in ["esp32c3", "esp32s3"]
  depends_components+:
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/hci/hci_common_component/**/*

examples/bluetooth/hci/controller_vhci_ble_adv:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/hci/hci_common_component/**/*


# config BT_NIMBLE_ENABLED does not depends on any soc cap
examples/bluetooth/nimble/ble_cte:
  <<: *bt_default_depends
  enable:
    - if: SOC_BLE_CTE_SUPPORTED == 1
  depends_filepatterns:
    - examples/bluetooth/nimble/ble_cte/common_components/*

examples/bluetooth/nimble/ble_enc_adv_data:
  <<: *bt_default_depends
  enable:
    - if: SOC_BLE_SUPPORTED == 1 and IDF_TARGET != "esp32"
      temporary: true
      reason: BLE5.0 not supported on esp32
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/ble_multi_adv:
  <<: *bt_default_depends
  enable:
    - if: SOC_BLE_SUPPORTED == 1 and IDF_TARGET != "esp32"
      temporary: true
      reason: the other targets are not tested yet
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/ble_multi_conn:
  <<: *bt_default_depends
  enable:
    - if: SOC_ESP_NIMBLE_CONTROLLER == 1 and IDF_TARGET != "esp32c2"
      temporary: true
      reason: the other targets are not tested yet
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/ble_pawr_adv:
  <<: *bt_default_depends
  enable:
    - if: IDF_TARGET == "esp32c6"

examples/bluetooth/nimble/ble_pawr_adv_conn:
  <<: *bt_default_depends
  enable:
    - if: IDF_TARGET == "esp32c6"

examples/bluetooth/nimble/ble_periodic_adv:
  <<: *bt_default_depends
  enable:
    - if: SOC_BLE_SUPPORTED == 1 and IDF_TARGET != "esp32"
      temporary: true
      reason: the other targets are not tested yet
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/ble_periodic_sync:
  <<: *bt_default_depends
  enable:
    - if: SOC_BLE_SUPPORTED == 1 and IDF_TARGET != "esp32"
      temporary: true
      reason: the other targets are not tested yet
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/ble_phy:
  <<: *bt_default_depends
  enable:
    - if: SOC_BLE_SUPPORTED == 1 and IDF_TARGET != "esp32"
      temporary: true
      reason: the other targets are not tested yet
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/blecent:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_event
    - esp_coex
    - esp_pm
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*
    - examples/bluetooth/nimble/blecent/**/*
    - examples/bluetooth/nimble/power_save/**/*
    - examples/bluetooth/nimble/pytest_nimble_test.py

examples/bluetooth/nimble/blemesh:
  <<: *bt_default_depends
  enable:
    - if: IDF_TARGET == "esp32"
      temporary: true
      reason: the other targets are not tested yet
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/bleprph_wifi_coex:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
    - if: SOC_WIFI_SUPPORTED != 1
  depends_components+:
    - esp_event
    - esp_hid
    - esp_wifi
    - esp_coex
    - lwip
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/hci:
  <<: *bt_default_depends
  disable:
    - if: SOC_ESP_NIMBLE_CONTROLLER != 1
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*

examples/bluetooth/nimble/power_save:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_event
    - esp_coex
    - esp_pm
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*
    - examples/bluetooth/nimble/blecent/**/*
    - examples/bluetooth/nimble/power_save/**/*
    - examples/bluetooth/nimble/pytest_nimble_test.py

examples/bluetooth/nimble/throughput_app:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_driver_gpio
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*
    - examples/bluetooth/nimble/throughput_app/blecent_throughput/components/**/*

examples/bluetooth/nimble/throughput_app/blecent_throughput:
  <<: *bt_default_depends
  disable:
    - if: SOC_BLE_SUPPORTED != 1
  depends_components+:
    - esp_driver_gpio
    - esp_driver_uart
  depends_filepatterns:
    - examples/bluetooth/nimble/common/**/*
    - examples/bluetooth/nimble/throughput_app/blecent_throughput/components/**/*
