Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
23d397e
Merge branch 'enhance/transport_config' into 'main'
mantriyogesh Mar 6, 2025
dcb3585
fix(slave/compiler): Optimization to be performance, -O2 instead of -Og
mantriyogesh Feb 27, 2025
4cffe06
Merge branch 'fix/code_optimization_to_perf' into 'main'
mantriyogesh Mar 6, 2025
4593fb4
feat(h2_c5_board) Add C5 sub board for P4 host, add H2 as host
SohKamYung-Espressif Feb 25, 2025
c979a17
Merge branch 'feat/h2_c5_board' into 'main'
mantriyogesh Mar 7, 2025
0a92d91
enhance(transport_config_reset) Add Reset pin config to transport config
SohKamYung-Espressif Mar 7, 2025
9fb75ee
Merge branch 'enhance/transport_config_reset' into 'main'
mantriyogesh Mar 11, 2025
4170b37
workaround(sdio_host): restart host if sdio slave is unresponsive
mantriyogesh Mar 19, 2025
695c65a
Merge branch 'workaround/sdio_0x107_error' into 'main'
mantriyogesh Mar 19, 2025
98f44db
Update .gitlab-ci.yml file
mantriyogesh Mar 19, 2025
0ece814
Update .gitlab-ci.yml file
mantriyogesh Mar 19, 2025
9e09175
Update .gitlab-ci.yml file
mantriyogesh Mar 19, 2025
6d3cb01
Update .gitlab-ci.yml file
mantriyogesh Mar 19, 2025
19e7be7
bugfix(stats) Fix build failure when raw throughput test is enabled
SohKamYung-Espressif Mar 27, 2025
9e9b77a
Merge branch 'bugfix/stats' into 'main'
mantriyogesh Mar 27, 2025
9755f71
enhance(deassert_hs_after_cs) Deassert HS and start new transaction a…
SohKamYung-Espressif Mar 27, 2025
6040085
Merge branch 'enhance/deassert_hs_after_cs' into 'main'
mantriyogesh Mar 27, 2025
53cf719
bugfix(fg_mempool): Allocate mempool from DMA capable memory
SohKamYung-Espressif Apr 9, 2025
ee11e08
Merge branch 'bugfix/mempool' into 'main'
mantriyogesh Apr 9, 2025
69f81b5
enhance(support_sdio_slots) Add SDIO slot configuration
SohKamYung-Espressif Mar 28, 2025
96bea3a
Merge branch 'enhance/support_sdio_slots' into 'main'
mantriyogesh Apr 11, 2025
5854c65
bugfix(reset_config) Fixes the usage of sdkconfig to switch reset act…
TiKoESoPe Apr 16, 2025
1593ca3
Merge branch 'bugfix/reset_config' into 'main'
mantriyogesh Apr 24, 2025
6b56550
feat(code_reorg) Moved ESP porting layer
SohKamYung-Espressif Apr 29, 2025
e6489fb
Merge branch 'feat/code_reorg' into 'main'
mantriyogesh Apr 30, 2025
6b76ae1
bugfix(idf_master): Fix build break using ESP-IDF master
SohKamYung-Espressif May 7, 2025
39123d6
Merge branch 'bugfix/idf_master' into 'main'
mantriyogesh May 7, 2025
6a1e8cc
bugfix(rename_wifi_fn): Renamed wifi functions in RPC slave code
SohKamYung-Espressif May 13, 2025
6e118a3
Merge branch 'bugfix/rename_wifi_fn' into 'main'
mantriyogesh May 14, 2025
bee29d7
enhance(host_stats) Print mem stats also
SohKamYung-Espressif Mar 20, 2025
50d759e
Merge branch 'enhance/host_stats' into 'main'
mantriyogesh May 15, 2025
4fd4de0
bugfix(ci_use_5_5): use release-5.5 image for ci build
SohKamYung-Espressif May 15, 2025
478d946
Merge branch 'bugfix/ci_use_5_5' into 'main'
mantriyogesh May 15, 2025
7b347f7
Modify to allow C5 to use sdio interface
udoudou May 21, 2025
e225d1f
Modify sdio slave support judgment conditions
udoudou May 21, 2025
22c924e
Merge branch 'feat/c5_sdio' into 'main'
mantriyogesh May 21, 2025
8165d0e
feature(esp32c5_eco2_sdio) Added ESP32-C5 SDIO support
SohKamYung-Espressif May 27, 2025
634e512
Merge branch 'feature/esp32c5_eco2_sdio' into 'main'
mantriyogesh May 27, 2025
cecacef
bugfix(bt_transport_ll_deinit): Add bt_transport_ll_deinit
SohKamYung-Espressif May 15, 2025
41c47b9
Merge branch 'bugfix/bt_transport_ll_deinit' into 'main'
mantriyogesh May 29, 2025
6acaf65
fix: Kconfig GPIO pins in use for C5 and C6 to auto change
mantriyogesh Jun 4, 2025
1553244
doc: update sdio doc to make it cleaner
mantriyogesh Jun 4, 2025
45c2332
fix: build on 5.5 to set the default sdio pins
mantriyogesh Jun 4, 2025
7f45601
Merge branch 'kconfig__doc_fixes' into 'main'
mantriyogesh Jun 5, 2025
b401edd
fix: re-enable hearbeat event subscription
mantriyogesh Jun 5, 2025
8394228
Merge branch 'fix/allow_heartbeat_event' into 'main'
mantriyogesh Jun 5, 2025
08bd755
fix(esp32_bt) Fixed BT examples, check for BT version
SohKamYung-Espressif Jun 9, 2025
4444126
Merge branch 'fix/esp32_bt' into 'main'
mantriyogesh Jun 9, 2025
b89e330
refactor(port): use normal heap API to allocate aligned DMA buffer
suda-morris Jun 9, 2025
fc96427
Merge branch 'refactor/replace_esp_dma_malloc' into 'main'
mantriyogesh Jun 9, 2025
4479ea8
fix: Disable reserved fields by default, which break the idf portability
mantriyogesh Jun 7, 2025
1ef1a6a
fix: incorrect bitmasks used while decoding he params at slave
mantriyogesh Jun 9, 2025
b73cdbf
Merge branch 'fix/disable_reserved_fields_by_default' into 'main'
mantriyogesh Jun 10, 2025
83a9fc3
feature(sdio_rx_queue_size): Allow SDIO Tx/Rx Queue Size to be adjusted
SohKamYung-Espressif May 29, 2025
c66ba93
Merge branch 'feature/sdio_rx_queue_size' into 'main'
mantriyogesh Jun 10, 2025
b413ad2
fix(ota): handle HTTP_EVENT_ON_HEADERS_COMPLETE event
suda-morris Jun 11, 2025
4f4a466
Merge branch 'bugfix/handle_HTTP_EVENT_ON_HEADERS_COMPLETE' into 'main'
mantriyogesh Jun 11, 2025
e5eea34
fix(ci_for_master): CI with mqtt/tcp and iperf on master branch
SohKamYung-Espressif Jun 11, 2025
3c3d128
Merge branch 'fix/ci_for_master' into 'main'
mantriyogesh Jun 12, 2025
c0e349b
Fix typos
ckrenslehner Jun 11, 2025
6a6d37b
Merge branch 'pr59' into 'main'
mantriyogesh Jun 12, 2025
08c6580
fix: Build issue due to inclusion of esp_hosted_wifi_config.h in publ…
mantriyogesh Jun 12, 2025
3a4e80f
Merge branch 'fix/build_over_2.0.7' into 'main'
mantriyogesh Jun 13, 2025
2a5e9fd
fix(sync): as C5 takes little longer, waait for 1500ms instead of 1000ms
mantriyogesh Jun 13, 2025
9f32a93
Merge branch 'fix/increase_reset_time_slave' into 'main'
mantriyogesh Jun 16, 2025
2fe99d2
fix(ota): Fixed build break when doing ota
SohKamYung-Espressif Jun 17, 2025
6071534
fix(scan_timeout): increase timeout if doing blocking scan
SohKamYung-Espressif Jun 17, 2025
5368eb8
Merge branch 'fix/scan_timeout' into 'main'
mantriyogesh Jun 17, 2025
5c1a1f1
Merge branch 'fix/ota' into 'main'
mantriyogesh Jun 17, 2025
551711f
feature(update_wifi_structs): updated structs for sta and softap
SohKamYung-Espressif May 30, 2025
278d3b4
Merge branch 'feature/update_wifi_structs' into 'main'
mantriyogesh Jun 19, 2025
55ea395
fix(CI_test_more_versions): Test against more ESP IDF versions
SohKamYung-Espressif Jun 20, 2025
06c6f84
Merge branch 'fix/ci_test_more_versions' into 'main'
mantriyogesh Jun 23, 2025
0abadf1
fix(create_const_char): use const char for h_thread_create
SohKamYung-Espressif Jun 23, 2025
6dc2de2
Merge branch 'fix/create_const_char' into 'main'
mantriyogesh Jun 24, 2025
ea84a91
fix(ci_5_4_2): Added v5.4.2 to CI
SohKamYung-Espressif Jun 30, 2025
0c4aa5f
Merge branch 'fix/ci_5_4_2' into 'main'
mantriyogesh Jun 30, 2025
2264cfe
bugfix(wifi_init): Updated to add missing wifi init configs
SohKamYung-Espressif Jul 10, 2025
534c20f
Merge branch 'bugfix/wifi_init' into 'main'
mantriyogesh Jul 11, 2025
c26ccf6
Fix processing of received ESP_HCI_IF
OYTIS Jul 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 56 additions & 7 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ before_script:
- build
artifacts:
paths:
- "${IDF_PATH}/${IDF_EXAMPLE_PATH}/build*/build_log.txt"
- "artifacts_*/"
when: always
expire_in: 4 days
script:
Expand All @@ -21,37 +21,86 @@ before_script:
# Replaces esp_hosted component in example's deps with the one from the current repository
- export OVERRIDE_PATH=`pwd`
- cd ${IDF_PATH}/${IDF_EXAMPLE_PATH}
- cat ${OVERRIDE_PATH}/.gitlab-ci-override-idf-component.yml >> main/idf_component.yml
# Create components directory and link esp_hosted component
- mkdir -p components
- ln -sf ${OVERRIDE_PATH} components/esp_hosted
- echo "Created components directory with esp_hosted link:"
- ls -la components/
# Override component dependency as backup only if not already present
- |
if ! grep -q "esp_hosted" main/idf_component.yml 2>/dev/null; then
cat ${OVERRIDE_PATH}/.gitlab-ci-override-idf-component.yml >> main/idf_component.yml
echo "Added esp_hosted override to idf_component.yml"
fi
# Add slave target configuration if specified
- |
if [ ! -z "${IDF_SLAVE_TARGET}" ]; then
echo "CONFIG_SLAVE_IDF_TARGET_${IDF_SLAVE_TARGET^^}=y" >> sdkconfig.defaults
echo "Added slave target CONFIG_SLAVE_IDF_TARGET_${IDF_SLAVE_TARGET^^}=y to sdkconfig.defaults"
fi
# Build with IDF pedantic flags and IDF build apps script
- export PEDANTIC_FLAGS="-DIDF_CI_BUILD -Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function"
- export EXTRA_CFLAGS="${PEDANTIC_FLAGS} -Wstrict-prototypes"
- export EXTRA_CXXFLAGS="${PEDANTIC_FLAGS}"
# Remove the conflicting extconn config that disables hosted
- rm -f sdkconfig.ci.*extconn*
- idf-build-apps find --config sdkconfig.ci* -vv --target ${IDF_TARGET}
- idf-build-apps build --config sdkconfig.ci* -vv --target ${IDF_TARGET}
# - echo "----------- last sdkconfig.defaults,ci* used (${IDF_TARGET}-${IDF_SLAVE_TARGET}) --------------"
# - cat sdkconfig.defaults
# - cat sdkconfig.ci*
# - echo "----------- last (generated) sdkconfig used (${IDF_TARGET}-${IDF_SLAVE_TARGET}) --------------"
# - cat sdkconfig
# - echo "----------------------------------------------"
# Copy config files back to project directory for artifacts
- mkdir -p ${OVERRIDE_PATH}/artifacts_${IDF_TARGET}_${IDF_SLAVE_TARGET}
- cp sdkconfig* ${OVERRIDE_PATH}/artifacts_${IDF_TARGET}_${IDF_SLAVE_TARGET}/ 2>/dev/null || echo "No sdkconfig files found"
- cp main/idf_component.yml ${OVERRIDE_PATH}/artifacts_${IDF_TARGET}_${IDF_SLAVE_TARGET}/ 2>/dev/null || echo "No component file found"
# Clean up the component symlink
- unlink components/esp_hosted
- echo "Cleaned up esp_hosted component symlink"
# Rename back, since post scripts expect the original name
- cd ${OVERRIDE_PATH} && cd .. && mv esp_hosted esp_hosted_mcu


build_idf_v5.3:
extends: .build_template
image: espressif/idf:release-v5.3
image: espressif/idf:${IDF_VER}
parallel:
matrix:
- IDF_TARGET: ["esp32p4", "esp32h2", "esp32s3"]
- IDF_VER: ["v5.3.1", "v5.3.2", "v5.3.3", "release-v5.3"]
IDF_TARGET: ["esp32p4", "esp32h2"]
IDF_SLAVE_TARGET: ["esp32c6"]
IDF_EXAMPLE_PATH: examples/protocols/mqtt/tcp
#IDF_EXAMPLE_PATH: [examples/wifi/iperf]

build_idf_v5.4:
extends: .build_template
image: espressif/idf:release-v5.4
image: espressif/idf:${IDF_VER}
parallel:
matrix:
- IDF_TARGET: ["esp32p4", "esp32h2", "esp32s3"]
- IDF_VER: ["v5.4", "v5.4.1", "v5.4.2", "release-v5.4"]
IDF_TARGET: ["esp32p4", "esp32h2"]
IDF_SLAVE_TARGET: ["esp32c6"]
IDF_EXAMPLE_PATH: examples/protocols/mqtt/tcp
#IDF_EXAMPLE_PATH: [examples/wifi/iperf]

build_idf_v5.5:
extends: .build_template
image: espressif/idf:${IDF_VER}
parallel:
matrix:
- IDF_VER: ["release-v5.5"]
IDF_TARGET: ["esp32p4", "esp32h2"]
IDF_SLAVE_TARGET: ["esp32c6", "esp32c5", "esp32", "esp32c2", "esp32c3", "esp32s3" ]
IDF_EXAMPLE_PATH: [examples/wifi/iperf]

build_idf_master:
extends: .build_template
image: espressif/idf:latest
allow_failure: true
parallel:
matrix:
- IDF_TARGET: ["esp32p4", "esp32h2", "esp32s3"]
- IDF_TARGET: ["esp32p4", "esp32h2"]
IDF_SLAVE_TARGET: ["esp32c6", "esp32c5", "esp32", "esp32c2", "esp32c3", "esp32s3" ]
IDF_EXAMPLE_PATH: [examples/protocols/mqtt/tcp, examples/wifi/iperf]
60 changes: 31 additions & 29 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,80 +3,82 @@ if(CONFIG_ESP_HOSTED_ENABLED)
set(FG_root_dir ".")
set(host_dir "${FG_root_dir}/host")

set(COMPONENT_SRCS "${host_dir}/esp_hosted_host_init.c" "${host_dir}/api/src/esp_wifi_weak.c" "${host_dir}/api/src/esp_hosted_api.c" "${host_dir}/drivers/transport/transport_drv.c" "${host_dir}/drivers/serial/serial_ll_if.c" "${host_dir}/utils/common.c" "${host_dir}/utils/util.c" "${host_dir}/utils/stats.c" "${host_dir}/drivers/serial/serial_drv.c")
set(srcs "${host_dir}/esp_hosted_host_init.c" "${host_dir}/api/src/esp_wifi_weak.c" "${host_dir}/api/src/esp_hosted_api.c" "${host_dir}/drivers/transport/transport_drv.c" "${host_dir}/drivers/serial/serial_ll_if.c" "${host_dir}/utils/common.c" "${host_dir}/utils/util.c" "${host_dir}/utils/stats.c" "${host_dir}/drivers/serial/serial_drv.c")

# only these directories are public. Others are private
set(COMPONENT_ADD_PUBLIC_INCLUDEDIRS "${host_dir}" "${host_dir}/api/include")
set(pub_include "${host_dir}" "${host_dir}/api/include")

set(COMPONENT_ADD_INCLUDEDIRS "${host_dir}/drivers/transport" "${host_dir}/drivers/transport/spi" "${host_dir}/drivers/transport/sdio" "${host_dir}/drivers/serial" "${host_dir}/utils")
set(priv_include "${host_dir}/drivers/transport" "${host_dir}/drivers/transport/spi" "${host_dir}/drivers/transport/sdio" "${host_dir}/drivers/serial" "${host_dir}/utils" "${host_dir}/api/priv")

# rpc files - wrap -> slaveif -> core
set(rpc_dir "${host_dir}/drivers/rpc")
set(rpc_core_dir "${rpc_dir}/core")
set(rpc_slaveif_dir "${rpc_dir}/slaveif")
set(rpc_wrap_dir "${rpc_dir}/wrap")
list(APPEND COMPONENT_SRCS "${rpc_core_dir}/rpc_core.c" "${rpc_core_dir}/rpc_req.c" "${rpc_core_dir}/rpc_rsp.c" "${rpc_core_dir}/rpc_evt.c"
list(APPEND srcs "${rpc_core_dir}/rpc_core.c" "${rpc_core_dir}/rpc_req.c" "${rpc_core_dir}/rpc_rsp.c" "${rpc_core_dir}/rpc_evt.c"
"${rpc_slaveif_dir}/rpc_slave_if.c"
"${rpc_wrap_dir}/rpc_wrap.c")
list(APPEND COMPONENT_ADD_INCLUDEDIRS "${rpc_core_dir}" "${rpc_slaveif_dir}" "${rpc_wrap_dir}")
list(APPEND priv_include "${rpc_core_dir}" "${rpc_slaveif_dir}" "${rpc_wrap_dir}")

# virtual serial
set(virt_serial_dir "${host_dir}/drivers/virtual_serial_if")
list(APPEND COMPONENT_SRCS "${virt_serial_dir}/serial_if.c")
list(APPEND COMPONENT_ADD_INCLUDEDIRS "${virt_serial_dir}")
list(APPEND srcs "${virt_serial_dir}/serial_if.c")
list(APPEND priv_include "${virt_serial_dir}")

# mempool
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/mempool/mempool.c")
list(APPEND COMPONENT_ADD_INCLUDEDIRS "${host_dir}/drivers/mempool" )
list(APPEND srcs "${host_dir}/drivers/mempool/mempool.c")
list(APPEND priv_include "${host_dir}/drivers/mempool" )

# slave and host common files
set(common_dir "${FG_root_dir}/common")
list(APPEND COMPONENT_SRCS "${common_dir}/protobuf-c/protobuf-c/protobuf-c.c" "${common_dir}/proto/esp_hosted_rpc.pb-c.c" )
list(APPEND COMPONENT_ADD_INCLUDEDIRS "${common_dir}" "${common_dir}/log" "${common_dir}/rpc" "${common_dir}/transport" "${common_dir}/protobuf-c" "${common_dir}/proto" )
list(APPEND srcs "${common_dir}/protobuf-c/protobuf-c/protobuf-c.c" "${common_dir}/proto/esp_hosted_rpc.pb-c.c" )
list(APPEND priv_include "${common_dir}" "${common_dir}/log" "${common_dir}/rpc" "${common_dir}/transport" "${common_dir}/protobuf-c" "${common_dir}/proto" )

# host ESP32 specific files
list(APPEND srcs "${host_dir}/port/esp/freertos/src/esp_hosted_ota.c")

# bt (NimBLE)
### TODO config for HCI over UART
list(APPEND COMPONENT_ADD_INCLUDEDIRS "${host_dir}/drivers/bt")
list(APPEND priv_include "${host_dir}/drivers/bt")
if(CONFIG_ESP_HOSTED_NIMBLE_HCI_VHCI OR CONFIG_ESP_HOSTED_BLUEDROID_HCI_VHCI)
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/bt/vhci_drv.c")
list(APPEND srcs "${host_dir}/drivers/bt/vhci_drv.c")
else()
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/bt/hci_stub_drv.c")
list(APPEND srcs "${host_dir}/drivers/bt/hci_stub_drv.c")
endif()

# transport files
if(CONFIG_ESP_HOSTED_SDIO_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/transport/sdio/sdio_drv.c")
list(APPEND srcs "${host_dir}/drivers/transport/sdio/sdio_drv.c")
elseif(CONFIG_ESP_HOSTED_SPI_HD_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/transport/spi_hd/spi_hd_drv.c")
list(APPEND srcs "${host_dir}/drivers/transport/spi_hd/spi_hd_drv.c")
elseif(CONFIG_ESP_HOSTED_SPI_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/transport/spi/spi_drv.c")
list(APPEND srcs "${host_dir}/drivers/transport/spi/spi_drv.c")
elseif(CONFIG_ESP_HOSTED_UART_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/drivers/transport/uart/uart_drv.c")
list(APPEND srcs "${host_dir}/drivers/transport/uart/uart_drv.c")
endif()

# config files
list(APPEND COMPONENT_ADD_INCLUDEDIRS "${host_dir}/port/include")
list(APPEND COMPONENT_SRCS "${host_dir}/port/src/esp_hosted_config.c" "${host_dir}/port/src/esp_hosted_transport_config.c")
list(APPEND priv_include "${host_dir}/port/esp/freertos/include")
list(APPEND srcs "${host_dir}/port/esp/freertos/src/esp_hosted_config.c" "${host_dir}/port/esp/freertos/src/esp_hosted_transport_config.c")

# transport port files
list(APPEND COMPONENT_SRCS "${host_dir}/port/src/os_wrapper.c")
list(APPEND srcs "${host_dir}/port/esp/freertos/src/os_wrapper.c")
if(CONFIG_ESP_HOSTED_SDIO_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/port/src/sdio_wrapper.c")
list(APPEND srcs "${host_dir}/port/esp/freertos/src/sdio_wrapper.c")
elseif(CONFIG_ESP_HOSTED_SPI_HD_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/port/src/spi_hd_wrapper.c")
list(APPEND srcs "${host_dir}/port/esp/freertos/src/spi_hd_wrapper.c")
elseif(CONFIG_ESP_HOSTED_SPI_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/port/src/spi_wrapper.c")
list(APPEND srcs "${host_dir}/port/esp/freertos/src/spi_wrapper.c")
elseif(CONFIG_ESP_HOSTED_UART_HOST_INTERFACE)
list(APPEND COMPONENT_SRCS "${host_dir}/port/src/uart_wrapper.c")
list(APPEND srcs "${host_dir}/port/esp/freertos/src/uart_wrapper.c")
endif()

endif()

idf_component_register(SRCS ${COMPONENT_SRCS}
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES soc esp_event esp_netif esp_timer driver esp_wifi bt esp_http_client
EXCLUDE_SRCS ${EXCLUDE_COMPONENT_SRCS}
INCLUDE_DIRS ${COMPONENT_ADD_PUBLIC_INCLUDEDIRS}
PRIV_INCLUDE_DIRS ${COMPONENT_ADD_INCLUDEDIRS})
INCLUDE_DIRS ${pub_include}
PRIV_INCLUDE_DIRS ${priv_include})

idf_component_set_property(${COMPONENT_NAME} WHOLE_ARCHIVE TRUE)

Expand Down
Loading