diff --git a/plugins/builder-pack/builder-build b/plugins/builder-pack/builder-build index fee85cc65..5557a0d4e 100755 --- a/plugins/builder-pack/builder-build +++ b/plugins/builder-pack/builder-build @@ -37,7 +37,35 @@ trigger-builder-pack-builder-build() { fi plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR" - pack build "$IMAGE" --builder "$DOKKU_CNB_BUILDER" --path "$SOURCECODE_WORK_DIR" --default-process web "${ENV_ARGS[@]}" + local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE") + [[ "$DOKKU_TRACE" ]] && DOCKER_ARGS+=" --env=TRACE=true " + DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE") + + DOCKER_ARGS=" $DOCKER_ARGS " + declare -a ARG_ARRAY + eval "ARG_ARRAY=($DOCKER_ARGS)" + + eval set -- "$DOCKER_ARGS" + + declare -a PACK_ARGS + while true; do + case "$1" in + --volume=* | -v=*) + PACK_ARGS+=("$1") + shift + ;; + --volume | -v) + PACK_ARGS+=("--volume") + PACK_ARGS+=("$2") + shift 2 + ;; + *) + break + ;; + esac + done + + pack build "$IMAGE" --builder "$DOKKU_CNB_BUILDER" --path "$SOURCECODE_WORK_DIR" --default-process web "${PACK_ARGS[@]}" "${ENV_ARGS[@]}" docker-image-labeler relabel --label=dokku --label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.image-stage=build --label=com.dokku.builder-type=pack --label=com.dokku.app-name=$APP "$IMAGE" # ensure we have a port mapping