From 878ab6628d10c7381182052855f581644fd3ff57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20B=C3=BCrk?= <stefan@buerk.tech>
Date: Sun, 23 Jun 2024 18:15:09 +0200
Subject: [PATCH] [TASK] Allow additional composer options for `-s
 composerInstall`
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This change modifies the `Build/Script/runTests.sh`
command dispatcher to allow passing composer options
to the `composer install` subcommand, for example

  Build/Scripts/runTests.sh -s composerInstall \
    -- --prefer-source

Note that this is already possible using the generic
`-s composer` dispatcher but would resolve some user
confusion.

This is useful to install dependencies as git
checkouts, for example when working on packages
like `typo3/testing-framework` changes. Albeit
the need to remove the vendor folder first is
needed in case of the example.

Resolves: #104186
Releases: main, 12.4, 11.5
Change-Id: Id07c90f3b6902ad8866249563eceeb2dafbc919b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/84845
Tested-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: core-ci <typo3@b13.com>
---
 Build/Scripts/runTests.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Build/Scripts/runTests.sh b/Build/Scripts/runTests.sh
index 4b5966bae2cc..79d765a1711e 100755
--- a/Build/Scripts/runTests.sh
+++ b/Build/Scripts/runTests.sh
@@ -899,7 +899,8 @@ case ${TEST_SUITE} in
         SUITE_EXIT_CODE=$?
         ;;
     composerInstall)
-        ${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-install-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} composer install --no-progress --no-interaction
+        COMMAND=(composer install --no-progress --no-interaction "$@")
+        ${CONTAINER_BIN} run ${CONTAINER_COMMON_PARAMS} --name composer-install-${SUFFIX} -e COMPOSER_CACHE_DIR=.cache/composer -e COMPOSER_ROOT_VERSION=${COMPOSER_ROOT_VERSION} ${IMAGE_PHP} "${COMMAND[@]}"
         SUITE_EXIT_CODE=$?
         ;;
     composerInstallMax)
-- 
GitLab