|
| 1 | +#!/bin/sh |
| 2 | + |
| 3 | +set -e |
| 4 | + |
| 5 | +ROOT="$(realpath "$(dirname $0)/../")" |
| 6 | + |
| 7 | +echo "Running in: ${ROOT}" |
| 8 | + |
| 9 | +recreateSetup() { |
| 10 | + git archive HEAD --output=./doctum-repository-composer-package-auto-test.tar |
| 11 | + cd "${TEMP_FOLDER}" |
| 12 | + tar -xf "${ROOT}/doctum-repository-composer-package-auto-test.tar" --directory "${TEMP_FOLDER_REPO}" |
| 13 | + rm "${ROOT}/doctum-repository-composer-package-auto-test.tar" |
| 14 | + cp "${ROOT}/tests/phar/data/doctum-absolute.conf.php" "${TEMP_FOLDER}/doctum-absolute.conf.php" |
| 15 | + mkdir "${TEMP_FOLDER}/src" |
| 16 | + cp -rp "${ROOT}/tests/phar/data/src/" "${TEMP_FOLDER}/src" |
| 17 | + printf '{ |
| 18 | + "repositories": [ |
| 19 | + { |
| 20 | + "type": "path", |
| 21 | + "url": "%s", |
| 22 | + "options": { |
| 23 | + "versions": { |
| 24 | + "code-lts/doctum": "5.x-dev" |
| 25 | + }, |
| 26 | + "symlink": false |
| 27 | + } |
| 28 | + } |
| 29 | + ], |
| 30 | + "require": { |
| 31 | + "code-lts/doctum": "5.x-dev" |
| 32 | + } |
| 33 | + }' "${TEMP_FOLDER_REPO}" > "${TEMP_FOLDER}/composer.json" |
| 34 | + composer update ${COMPOSER_CLI_OPTIONS} |
| 35 | + rm -rf "${TEMP_FOLDER_REPO}" |
| 36 | + cd - > /dev/null |
| 37 | +} |
| 38 | + |
| 39 | +cleanWorkspace() { |
| 40 | + rm -r "${TEMP_FOLDER}/build" |
| 41 | + rm -r "${TEMP_FOLDER}/cache" |
| 42 | +} |
| 43 | + |
| 44 | +checkRender() { |
| 45 | + if [ ! -f "${TEMP_FOLDER}/build/html/index.html" ]; then |
| 46 | + echo "Missing file ${TEMP_FOLDER}/build/html/index.html" |
| 47 | + exit 1 |
| 48 | + fi |
| 49 | +} |
| 50 | + |
| 51 | +checkPackage() { |
| 52 | + if [ -d "${TEMP_FOLDER}/vendor/code-lts/doctum/.github" ]; then |
| 53 | + echo "Found folder ${TEMP_FOLDER}/vendor/code-lts/doctum/.github" |
| 54 | + exit 1 |
| 55 | + fi |
| 56 | + |
| 57 | + if [ -d "${TEMP_FOLDER}/vendor/code-lts/doctum/tests" ]; then |
| 58 | + echo "Found folder ${TEMP_FOLDER}/vendor/code-lts/doctum/tests" |
| 59 | + exit 1 |
| 60 | + fi |
| 61 | + |
| 62 | + if [ ! -d "${TEMP_FOLDER}/vendor/code-lts/doctum/bin" ]; then |
| 63 | + echo "Missing folder ${TEMP_FOLDER}/vendor/code-lts/doctum/bin" |
| 64 | + exit 1 |
| 65 | + fi |
| 66 | +} |
| 67 | + |
| 68 | +TEMP_FOLDER="$(mktemp -d /tmp/doctum-composer-package-auto-test.XXXXXXXXX)" |
| 69 | +TEMP_FOLDER_REPO="$(mktemp -d /tmp/doctum-composer-package-auto-test-repo.XXXXXXXXX)" |
| 70 | + |
| 71 | +echo "Using temp folder: ${TEMP_FOLDER}" |
| 72 | +echo "Using temp repo folder: ${TEMP_FOLDER_REPO}" |
| 73 | + |
| 74 | +recreateSetup |
| 75 | + |
| 76 | +cd "${TEMP_FOLDER}" |
| 77 | + |
| 78 | +echo "Moved to: $PWD" |
| 79 | + |
| 80 | +checkPackage |
| 81 | + |
| 82 | +echo "Running parse" |
| 83 | +"${TEMP_FOLDER}/vendor/bin/doctum.php" parse -v --ignore-parse-errors --no-progress --no-ansi --force ./doctum-absolute.conf.php |
| 84 | + |
| 85 | +echo "Running render" |
| 86 | +"${TEMP_FOLDER}/vendor/bin/doctum.php" render -v --ignore-parse-errors --no-progress --no-ansi --force ./doctum-absolute.conf.php |
| 87 | + |
| 88 | +checkRender |
| 89 | +cleanWorkspace |
| 90 | + |
| 91 | +echo "Running update" |
| 92 | +"${TEMP_FOLDER}/vendor/bin/doctum.php" update -v --ignore-parse-errors --no-progress --no-ansi --force ./doctum-absolute.conf.php |
| 93 | + |
| 94 | +checkRender |
| 95 | +cleanWorkspace |
| 96 | + |
| 97 | +cd - > /dev/null |
| 98 | + |
| 99 | +rm -rf "${TEMP_FOLDER}" |
0 commit comments