1
0
mirror of https://github.com/danog/psalm.git synced 2024-11-27 04:45:20 +01:00
psalm/bin/build-phar.sh
Bruce Weirdan 683fe2f4c6
Bake version data into PHAR file
Compatibility between `ocramius/package-versions`,
`composer/package-versions-deprecated`, `composer-runtime-api` and
`humbug/box` (with `humbug/scoper` further complicating things)has been
always a problematic area. So instead of trying to keep up with all the
changes in all of those packages, we will now bake the version data (for
the packages we need) into the PHAR file itself.

Fixes vimeo/psalm#7606
Fixes vimeo/psalm#5399
2022-11-26 00:00:43 -04:00

29 lines
767 B
Bash
Executable File

#!/usr/bin/env bash
set -e
composer bin box install
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
php $DIR/improve_class_alias.php
php -r 'require "vendor/autoload.php"; Psalm\Internal\VersionUtils::dump();'
if [[ ! -f build/phar-versions.php ]] ; then
echo "failed to dump versions";
exit;
fi
vendor/bin/box compile
if [[ "$GPG_SIGNING" != '' ]] ; then
if [[ "$GPG_SECRET_KEY" != '' ]] ; then
echo "Load secret key into gpg"
echo "$GPG_SECRET_KEY" | gpg --import --no-tty --batch --yes
fi
echo "Sign Phar"
echo "$GPG_PASSPHRASE" | gpg --command-fd 0 --passphrase-fd 0 --pinentry-mode loopback -u 12CE0F1D262429A5 --batch --detach-sign --armor --output build/psalm.phar.asc build/psalm.phar
fi