blob: 9c8ddfd99a66801de8903ae0a776edbc11f24e00 [file] [log] [blame]
#! /bin/sh
set -x -e
node scripts/split-version.js
latest=$(cat scripts/.latest)
buildVersion="next"
echo "changed files: "
echo $@
function _build() {
yarn build
}
function _buildVersion() {
if [[ $buildVersion = "next" ]]; then
echo "..." ${buildVersion} "and" $latest" begin build..."
echo "[\"current\", \"${latest}\"]" >.build-versions.json
else
echo "..." $buildVersion "begin build..."
echo "[\"${buildVersion}\"]" >.build-versions.json
fi
_build
if [[ $buildVersion != $latest ]]; then
mkdir -p build-${buildVersion}/${buildVersion}
mkdir -p build-assets
cp -r build/docs/${buildVersion}/* build-${buildVersion}/${buildVersion}
cp -r build/assets/* build-assets/
rm -rf build/docs/${buildVersion}
fi
echo "..." $buildVersion "build done..."
}
COMMIT_MSG=$(git show -s --format=%s)
FORCE_BUILD_ALL_VERSION=$(echo $COMMIT_MSG | sed 's/.*BUILD_ALL_VERSION=\([0-1]*\).*/\1/g')
FORCE_BUILD_VERSIONS=$(echo $COMMIT_MSG | sed 's/.*BUILD_VERSIONS=\([0-9\.x,]*\).*/\1/g')
if [[ $FORCE_BUILD_VERSIONS =~ ^[0-9\.x,]+$ ]]; then
SUPPLEMENT_VERSIONS=$FORCE_BUILD_VERSIONS
else
SUPPLEMENT_VERSIONS=""
fi
CURRENT_HOUR=$(date +%H)
CURRENT_HOUR=${CURRENT_HOUR#0}
echo "CURRENT_HOUR: "$CURRENT_HOUR
if [[ $FORCE_BUILD_ALL_VERSION"" == "1" ]] || [[ $FORCE_BUILD_ALL_VERSION"" == "0" ]]; then
BUILD_ALL_VERSION=$FORCE_BUILD_ALL_VERSION""
echo "force build all versions"
fi
# Build only the versions that has changed and build next version that has any changed
while read version; do
buildVersion=$version
if [[ $@ == *versioned_docs/version-$version* || $buildVersion == "next" || $BUILD_ALL_VERSION == "1" || $BUILD_VERSION == *$buildVersion* || $SUPPLEMENT_VERSIONS == *$buildVersion* ]]; then
_buildVersion
else
echo "..." $buildVersion "no change, skip"
fi
done <scripts/.versions
while read version; do
if [ -d "build-$version" ]; then
mv -f build-$version/* build/docs
rm -rf build-$version
fi
done <scripts/.versions
cp -r build-assets/* build/assets/
rm -rf build-assets
cp static/.htaccess build/
echo $BUILD_ALL_VERSION >scripts/.build