diff --git a/.vercel/submodule-workaround.sh b/.vercel/submodule-workaround.sh new file mode 100644 index 0000000..e7cb190 --- /dev/null +++ b/.vercel/submodule-workaround.sh @@ -0,0 +1,39 @@ +# github submodule repo address without https:// prefix +SUBMODULE_GITHUB=github.com/primefaces/sakai-assets.git + +# .gitmodules submodule path +SUBMODULE_PATH=src/assets + +# github access token is necessary +# add it to Environment Variables on Vercel +if [ "$GITHUB_ACCESS_TOKEN" == "" ]; then + echo "Error: GITHUB_ACCESS_TOKEN is empty" + exit 1 +fi + +# stop execution on error - don't let it build if something goes wrong +set -e + +# get submodule commit +output=`git submodule status --recursive` # get submodule info +no_prefix=${output#*-} # get rid of the prefix +COMMIT=${no_prefix% *} # get rid of the suffix + +# set up an empty temporary work directory +rm -rf tmp || true # remove the tmp folder if exists +mkdir tmp # create the tmp folder +cd tmp # go into the tmp folder + +# checkout the current submodule commit +git init # initialise empty repo +git remote add origin https://$GITHUB_ACCESS_TOKEN@$SUBMODULE_GITHUB # add origin of the submodule +git fetch --depth=1 origin $COMMIT # fetch only the required version +git checkout $COMMIT # checkout on the right commit + +# move the submodule from tmp to the submodule path +cd .. # go folder up +rm -rf tmp/.git # remove .git +mv tmp/* $SUBMODULE_PATH/ # move the submodule to the submodule path + +# clean up +rm -rf tmp # remove the tmp folder \ No newline at end of file diff --git a/vercel.json b/vercel.json index 8354eef..0d0a7be 100644 --- a/vercel.json +++ b/vercel.json @@ -5,5 +5,6 @@ "destination": "/index.html" } ], - "trailingSlash": false -} \ No newline at end of file + "trailingSlash": false, + "buildCommand": "bash .vercel/submodule-workaround.sh && npm run build" +}