Blame publish/publish.sh

Ivan Mahonin 6dca2e
#!/bin/bash
Ivan Mahonin 6dca2e
Ivan Mahonin 6dca2e
set -e
Ivan Mahonin 6dca2e
Ivan Mahonin 6dca2e
PUBLISH_DIR=$(cd `dirname "$0"`; pwd)
Ivan Mahonin 6dca2e
Ivan Mahonin a80e72
publish() {
Ivan Mahonin 6dca2e
    local NAME="$1"
Ivan Mahonin 2c4a34
    local TEMPLATE="$2" # Xxxxx-%VERSION%-%DATE%-%COMMIT%-xxxxx.xxx
Ivan Mahonin a80e72
    local FILEPATH="$3"
Ivan Mahonin 6dca2e
    local MASK="$4"
Ivan Mahonin 6dca2e
    local VERSION_FILE="$5"
Ivan Mahonin 6dca2e
Ivan Mahonin a80e72
    local FILE=`ls "$FILEPATH/"$MASK`
Ivan Mahonin 6dca2e
Ivan Mahonin 6dca2e
    local VERSION=`cat "$VERSION_FILE" | cut -d'-' -f 1`
Ivan Mahonin 6dca2e
    local COMMIT=`cat "$VERSION_FILE" | cut -d'-' -f 2-`
Ivan Mahonin 6dca2e
    COMMIT="${COMMIT:0:5}"
Ivan Mahonin 91875d
    local DATE=`date -u +%y.%m.%d`
Ivan Mahonin 6dca2e
    if [ -z "$COMMIT" ]; then
Ivan Mahonin 6dca2e
        echo "Cannot find version, pheraps package not ready. Cancel."
Ivan Mahonin 6dca2e
        return 1
Ivan Mahonin 6dca2e
    fi
Ivan Mahonin 6dca2e
Ivan Mahonin 6dca2e
    local CHECK_MASK=` \
Ivan Mahonin 6dca2e
        echo "$TEMPLATE" \
Ivan Mahonin 6dca2e
        | sed "s|%VERSION%|$VERSION|g" \
Ivan Mahonin 6dca2e
        | sed "s|%DATE%|*|g" \
Ivan Mahonin 6dca2e
        | sed "s|%COMMIT%|$COMMIT|g" `
Ivan Mahonin 34c295
    local RM_MASK=` \
Ivan Mahonin 34c295
        echo "$TEMPLATE" \
Ivan Mahonin 34c295
        | sed "s|%VERSION%|*|g" \
Ivan Mahonin 34c295
        | sed "s|%DATE%|*|g" \
Ivan Mahonin 34c295
        | sed "s|%COMMIT%|*|g" `
Ivan Mahonin b22744
    local CHECK=`ls "$PUBLISH_DIR/"$CHECK_MASK 2>/dev/null`
Ivan Mahonin 6dca2e
    if [ -z "$CHECK" ]; then
Ivan Mahonin 6dca2e
        local TARGET_NAME=` \
Ivan Mahonin 6dca2e
            echo "$TEMPLATE" \
Ivan Mahonin 6dca2e
            | sed "s|%VERSION%|$VERSION|g" \
Ivan Mahonin 6dca2e
            | sed "s|%DATE%|$DATE|g" \
Ivan Mahonin 6dca2e
            | sed "s|%COMMIT%|$COMMIT|g" `
Ivan Mahonin 6dca2e
        local TARGET="$PUBLISH_DIR/$TARGET_NAME"
Ivan Mahonin 6dca2e
Ivan Mahonin 6dca2e
        echo "Publish new version $VERSION-$COMMIT ($TARGET_NAME)"
Ivan Mahonin 34c295
        `rm -f "$PUBLISH_DIR/"$RM_MASK`
Ivan Mahonin 6dca2e
        cp "$FILE" "$TARGET"
Ivan Mahonin 6dca2e
        if [ -f "$PUBLISH_DIR/publish-$NAME.sh" ]; then
Ivan Mahonin 6dca2e
            echo "Call publish-$NAME.sh"
Ivan Mahonin 6dca2e
            "$PUBLISH_DIR/publish-$NAME.sh" "$TARGET"
Ivan Mahonin 6dca2e
        fi
Ivan Mahonin 6dca2e
    else
Ivan Mahonin 6dca2e
        echo "Version $VERSION-$COMMIT already published ($CHECK)"
Ivan Mahonin 6dca2e
    fi
Ivan Mahonin 6dca2e
}
Ivan Mahonin 6dca2e
Ivan Mahonin 6dca2e
publish $@