@@ -174,6 +174,47 @@ if [ ! -z "$GITHUB_TOKEN" ]; then
174174 ENV_LIST=" $ENV_LIST -e GITHUB_TOKEN=$GITHUB_TOKEN "
175175fi
176176
177+ # Intercept and rewrite --with-frankenphp-app option, and mount host path to /app/app
178+ FRANKENPHP_APP_PATH=" "
179+ NEW_ARGS=()
180+ while [ $# -gt 0 ]; do
181+ case " $1 " in
182+ --with-frankenphp-app=* )
183+ FRANKENPHP_APP_PATH=" ${1#* =} "
184+ NEW_ARGS+=(" --with-frankenphp-app=/app/app" )
185+ shift
186+ ;;
187+ --with-frankenphp-app)
188+ if [ -n " ${2:- } " ]; then
189+ FRANKENPHP_APP_PATH=" $2 "
190+ NEW_ARGS+=(" --with-frankenphp-app=/app/app" )
191+ shift 2
192+ else
193+ NEW_ARGS+=(" $1 " )
194+ shift
195+ fi
196+ ;;
197+ * )
198+ NEW_ARGS+=(" $1 " )
199+ shift
200+ ;;
201+ esac
202+ done
203+
204+ # Normalize the path and add mount if provided
205+ if [ -n " $FRANKENPHP_APP_PATH " ]; then
206+ # expand ~ to $HOME
207+ if [ " ${FRANKENPHP_APP_PATH# ~} " != " $FRANKENPHP_APP_PATH " ]; then
208+ FRANKENPHP_APP_PATH=" $HOME ${FRANKENPHP_APP_PATH# ~} "
209+ fi
210+ # make absolute if relative
211+ case " $FRANKENPHP_APP_PATH " in
212+ /* ) ABS_APP_PATH=" $FRANKENPHP_APP_PATH " ;;
213+ * ) ABS_APP_PATH=" $( pwd) /$FRANKENPHP_APP_PATH " ;;
214+ esac
215+ MOUNT_LIST=" $MOUNT_LIST -v \" $ABS_APP_PATH \" :/app/app"
216+ fi
217+
177218# Run docker
178219# shellcheck disable=SC2068
179220# shellcheck disable=SC2086
@@ -196,5 +237,5 @@ if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then
196237 set -ex
197238 $DOCKER_EXECUTABLE run $PLATFORM_ARG --privileged --rm -it $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH -$SPC_DOCKER_VERSION /bin/bash
198239else
199- $DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH -$SPC_DOCKER_VERSION bin/spc $@
240+ $DOCKER_EXECUTABLE run $PLATFORM_ARG --rm $INTERACT $ENV_LIST --env-file /tmp/spc-gnu-docker.env $MOUNT_LIST cwcc-spc-gnu-$SPC_USE_ARCH -$SPC_DOCKER_VERSION bin/spc " ${NEW_ARGS[@]} "
200241fi
0 commit comments