58f615403e
- Separate Travis branch deployment and release deployment stages (also makes `deploy.sh` obsolete) - Add `clean.sh` and `release.sh` scripts to allow users to create "release" packages locally - Use `setup/*.sh` scripts to check and install build dependencies (like PHP_CodeSniffer, phpDocumentor and cloc) - Use `create-release.sh` of `picocms/ci-tools` to create release archives - Streamline script usage Use the following to test Pico and to create a "release" package locally: ```sh cd ~/My-Pico-Workspace/Components/pico ln -rs ../ci-tools .build/ci-tools . ./.build/ci-tools/init/local.sh.inc . ./.build/init.sh.inc phpcs --standard=.phpcs.xml "$PICO_PROJECT_DIR" clean.sh release.sh ```
40 lines
1.3 KiB
Bash
Executable file
40 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
[ -n "$PICO_BUILD_ENV" ] || { echo "No Pico build environment specified" >&2; exit 1; }
|
|
|
|
# setup build system
|
|
BUILD_REQUIREMENTS=( --phpcs )
|
|
[ "$1" != "--deploy" ] || BUILD_REQUIREMENTS+=( --cloc --phpdoc )
|
|
"$PICO_TOOLS_DIR/setup/$PICO_BUILD_ENV.sh" "${BUILD_REQUIREMENTS[@]}"
|
|
|
|
# set COMPOSER_ROOT_VERSION when necessary
|
|
if [ -z "$COMPOSER_ROOT_VERSION" ] && [ -n "$PROJECT_REPO_BRANCH" ]; then
|
|
echo "Setting up Composer..."
|
|
|
|
PICO_VERSION_PATTERN="$(php -r "
|
|
\$json = json_decode(file_get_contents('$PICO_PROJECT_DIR/composer.json'), true);
|
|
if (\$json !== null) {
|
|
if (isset(\$json['extra']['branch-alias']['dev-$PROJECT_REPO_BRANCH'])) {
|
|
echo 'dev-$PROJECT_REPO_BRANCH';
|
|
}
|
|
}
|
|
")"
|
|
|
|
if [ -z "$PICO_VERSION_PATTERN" ]; then
|
|
PICO_VERSION_PATTERN="$(php -r "
|
|
require_once('$PICO_PROJECT_DIR/lib/Pico.php');
|
|
echo preg_replace('/\.[0-9]+-dev$/', '.x-dev', Pico::VERSION);
|
|
")"
|
|
fi
|
|
|
|
if [ -n "$PICO_VERSION_PATTERN" ]; then
|
|
export COMPOSER_ROOT_VERSION="$PICO_VERSION_PATTERN"
|
|
fi
|
|
|
|
echo
|
|
fi
|
|
|
|
# install dependencies
|
|
echo "Running \`composer install\`$([ -n "$COMPOSER_ROOT_VERSION" ] && echo -n " ($COMPOSER_ROOT_VERSION)")..."
|
|
composer install --no-suggest
|