2017-06-13 23:44:09 +00:00
|
|
|
#!/usr/bin/env bash
|
2017-11-05 01:36:50 +00:00
|
|
|
set -e
|
|
|
|
|
2019-11-03 19:03:48 +00:00
|
|
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
2019-09-09 13:10:20 +00:00
|
|
|
|
2019-11-03 19:03:48 +00:00
|
|
|
# setup build system
|
|
|
|
BUILD_REQUIREMENTS=( --phpcs )
|
|
|
|
[ "$1" != "--deploy" ] || BUILD_REQUIREMENTS+=( --cloc --phpdoc )
|
|
|
|
"$PICO_TOOLS_DIR/setup/$PICO_BUILD_ENV.sh" "${BUILD_REQUIREMENTS[@]}"
|
2017-10-22 19:22:11 +00:00
|
|
|
|
2017-06-13 23:44:09 +00:00
|
|
|
# set COMPOSER_ROOT_VERSION when necessary
|
2017-12-02 16:17:41 +00:00
|
|
|
if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -n "$PROJECT_REPO_BRANCH" ]; then
|
2019-11-03 19:03:48 +00:00
|
|
|
echo "Setting up Composer..."
|
|
|
|
|
2017-06-13 23:44:09 +00:00
|
|
|
PICO_VERSION_PATTERN="$(php -r "
|
2017-12-02 16:17:41 +00:00
|
|
|
\$json = json_decode(file_get_contents('$PICO_PROJECT_DIR/composer.json'), true);
|
2017-06-13 23:44:09 +00:00
|
|
|
if (\$json !== null) {
|
2017-12-02 16:17:41 +00:00
|
|
|
if (isset(\$json['extra']['branch-alias']['dev-$PROJECT_REPO_BRANCH'])) {
|
|
|
|
echo 'dev-$PROJECT_REPO_BRANCH';
|
2017-06-13 23:44:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
")"
|
|
|
|
|
|
|
|
if [ -z "$PICO_VERSION_PATTERN" ]; then
|
|
|
|
PICO_VERSION_PATTERN="$(php -r "
|
2017-12-02 16:17:41 +00:00
|
|
|
require_once('$PICO_PROJECT_DIR/lib/Pico.php');
|
2017-06-13 23:44:09 +00:00
|
|
|
echo preg_replace('/\.[0-9]+-dev$/', '.x-dev', Pico::VERSION);
|
|
|
|
")"
|
|
|
|
fi
|
|
|
|
|
2017-06-20 15:32:09 +00:00
|
|
|
if [ -n "$PICO_VERSION_PATTERN" ]; then
|
2017-06-13 23:44:09 +00:00
|
|
|
export COMPOSER_ROOT_VERSION="$PICO_VERSION_PATTERN"
|
|
|
|
fi
|
|
|
|
|
2019-11-03 19:03:48 +00:00
|
|
|
echo
|
|
|
|
fi
|
2017-11-05 01:36:50 +00:00
|
|
|
|
2017-06-13 23:44:09 +00:00
|
|
|
# install dependencies
|
|
|
|
echo "Running \`composer install\`$([ -n "$COMPOSER_ROOT_VERSION" ] && echo -n " ($COMPOSER_ROOT_VERSION)")..."
|
2017-10-22 19:22:11 +00:00
|
|
|
composer install --no-suggest
|