File prepare_vendor.sh of Package lychee

#!/bin/bash
# shellcheck disable=2181

LYCHEE_URL="$(rpmspec -P ./*.spec | awk '/^Source0:/ { print $NF }')"
LYCHEE_TARBALL="$(basename "${LYCHEE_URL}")"
LYCHEE_PKGVERSION="$(rpmspec -P ./*.spec | awk '/^Version:/ { print $NF }')"
LYCHEE_PKGNAME="Lychee"
LYCHEE_PKGDIR="$(pwd)"
LYCHEE_TMPDIR="$(mktemp --tmpdir -d lychee-XXXXXXXX)"
LYCHEE_PATH="${LYCHEE_TMPDIR}/${LYCHEE_PKGNAME}-${LYCHEE_PKGVERSION}"

echo "URL:     ${LYCHEE_URL}"
echo "TARBALL: ${LYCHEE_TARBALL}"
echo "NAME:    ${LYCHEE_PKGNAME}"
echo "VERSION: ${LYCHEE_PKGVERSION}"
echo "PATH:    ${LYCHEE_PATH}"

cleanup_tmpdir() {
    popd 2>/dev/null || true
    rm -rf "${LYCHEE_TMPDIR}"
}
trap cleanup_tmpdir SIGINT

cleanup_and_exit() {
    cleanup_tmpdir
    if test "$1" = 0 -o -z "$1" ; then
        exit 0
    else
        exit "${1}"
    fi
}

if [ ! -w "${LYCHEE_TARBALL}" ]; then
    wget "${LYCHEE_URL}"
fi


tar -xf "${LYCHEE_TARBALL}" -C "${LYCHEE_TMPDIR}"


pushd "${LYCHEE_PATH}" || cleanup_and_exit 1

COMPOSER_VENDOR_FOLDER="$(pwd)/vendor"
echo ">>>>>> Install vendor files with composer"

composer install --no-dev
if [ $? -ne 0 ]; then
    echo "ERROR: composer failed to install packages"
    cleanup_and_exit 1
fi

npm install
if [ $? -ne 0 ]; then
    echo "ERROR: composer failed to install packages"
    cleanup_and_exit 1
fi

echo ">>>>>> Cleanup vendor files"
rm -rf vendor/bin
rm -rf vendor/league/oauth1-client/tests/

rm -f "${COMPOSER_VENDOR_FOLDER}/aws/aws-crt-php/gen_stub.php"
rm -f "${COMPOSER_VENDOR_FOLDER}/aws/aws-crt-php/run_tests"

find "${COMPOSER_VENDOR_FOLDER}/" -name ".git*" -print0 | xargs -0 rm -rf
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.h" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.sh" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.bat" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.c" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.m4" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "Makefile" -delete
find "${COMPOSER_VENDOR_FOLDER}/" -type f -name "*.mk" -delete
find vendor -type f \( -name ".*" -a ! -name ".htaccess" \) -delete


echo ">>>>>> Package vendor files"
rm -f "${LYCHEE_PKGDIR}/${LYCHEE_PKGNAME}-${LYCHEE_PKGVERSION}-vendor.tar.zst"
tar --zstd -cf "${LYCHEE_PKGDIR}/${LYCHEE_PKGNAME}-${LYCHEE_PKGVERSION}-vendor.tar.zst" node_modules/ vendor/
if [ $? -ne 0 ]; then
    cleanup_and_exit 1
fi

popd || cleanup_and_exit 1

cleanup_and_exit 0
openSUSE Build Service is sponsored by