@@ -158,6 +158,7 @@ MOUNT_LIST="$MOUNT_LIST -v ""$(pwd)""/source:/app/source"
158158MOUNT_LIST=" $MOUNT_LIST -v " " $( pwd) " " /dist:/app/dist"
159159MOUNT_LIST=" $MOUNT_LIST -v " " $( pwd) " " /downloads:/app/downloads"
160160MOUNT_LIST=" $MOUNT_LIST -v " " $( pwd) " " /pkgroot:/app/pkgroot"
161+ MOUNT_LIST=" $MOUNT_LIST -v " " $( pwd) " " /log:/app/log"
161162if [ -f " $( pwd) /craft.yml" ]; then
162163 MOUNT_LIST=" $MOUNT_LIST -v " " $( pwd) " " /craft.yml:/app/craft.yml"
163164fi
@@ -173,6 +174,47 @@ if [ ! -z "$GITHUB_TOKEN" ]; then
173174 ENV_LIST=" $ENV_LIST -e GITHUB_TOKEN=$GITHUB_TOKEN "
174175fi
175176
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+
176218# Run docker
177219# shellcheck disable=SC2068
178220# shellcheck disable=SC2086
@@ -195,5 +237,5 @@ if [ "$SPC_DOCKER_DEBUG" = "yes" ]; then
195237 set -ex
196238 $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
197239else
198- $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[@]} "
199241fi
0 commit comments