From 6dca2e83850f38835e50b8757d300e7588d2c140 Mon Sep 17 00:00:00 2001 From: Ivan Mahonin Date: Mar 25 2017 18:07:10 +0000 Subject: fix publish scripts --- diff --git a/build-opentoonz-linux.sh b/build-opentoonz-linux.sh index 000b680..99bccb9 100755 --- a/build-opentoonz-linux.sh +++ b/build-opentoonz-linux.sh @@ -13,38 +13,45 @@ if [ -f $CONFIG_FILE ]; then source $CONFIG_FILE fi -run() { - local SCRIPT=$1 - local PLATFORM=$2 - local PLATFORM_SUFFIX=$3 - - echo "" - echo "Update opentoonz for $PLATFORM_SUFFIX" - echo "" - - sudo $SCRIPT update opentoonz-master - sudo $SCRIPT clean_before_do install_release opentoonz-appimage - local DIR="$PACKET_BUILD_DIR/$PLATFORM/opentoonz-appimage/install_release" - local VERSION_FILE="$PACKET_BUILD_DIR/$PLATFORM/opentoonz-appimage/envdeps_release/version-opentoonz-master" - local VERSION=`cat "$VERSION_FILE" | cut -d'-' -f 1` - local COMMIT=`cat "$VERSION_FILE" | cut -d'-' -f 2-` - COMMIT="${COMMIT:0:5}" - local DATE=`date -u +%Y.%m.%d` - if [ -z "$COMMIT" ]; then - echo "Cannot find version, pheraps appimage not ready. Cancel." - return 1 - fi - if ! ls $PUBLISH_DIR/OpenToonz-$VERSION-*-$COMMIT-$PLATFORM_SUFFIX.appimage 1> /dev/null 2>&1; then - echo "Publish new version $VERSION-$COMMIT-$PLATFORM_SUFFIX" - rm -f $PUBLISH_DIR/OpenToonz-*-$PLATFORM_SUFFIX.appimage - cp $DIR/opentoonz.appimage $PUBLISH_DIR/OpenToonz-$VERSION-$DATE-$COMMIT-$PLATFORM_SUFFIX.appimage - if [ -f "$PUBLISH_DIR/publish-opentoonz.sh" ]; then - "$PUBLISH_DIR/publish-opentoonz.sh" "$PUBLISH_DIR/OpenToonz-$VERSION-$DATE-$COMMIT-$PLATFORM_SUFFIX.appimage" - fi - else - echo "Version $VERSION-$COMMIT-$PLATFORM_SUFFIX already published" - fi +SCRIPT="$BASE_DIR/docker/run.sh" + +run_appimage() { + export PLATFORM="$1" + export ARCH="$2" + + echo "" + echo "Update opentoonz for $PLATFORM-$ARCH" + echo "" + sudo $SCRIPT update opentoonz-master + sudo $SCRIPT clean_before_do install_release opentoonz-appimage + + "$PUBLISH_DIR/publish.sh" \ + "opentoonz" \ + "OpenToonz-%VERSION%-%DATE%-%COMMIT%-$PLATFORM-${ARCH}bits.appimage" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/opentoonz-appimage/install_release" \ + "*.appimage" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/opentoonz-appimage/envdeps_release/version-opentoonz-master" +} + +run_nsis() { + export PLATFORM="$1" + export ARCH="$2" + + echo "" + echo "Update opentoonz for $PLATFORM-$ARCH" + echo "" + sudo $SCRIPT update opentoonz-master + sudo $SCRIPT clean_before_do install_release opentoonz-nsis + + "$PUBLISH_DIR/publish.sh" \ + "opentoonz" \ + "OpenToonz-%VERSION%-%DATE%-%COMMIT%-$PLATFORM-${ARCH}bits.exe" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/opentoonz-nsis/install_release" \ + "*.exe" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/opentoonz-nsis/envdeps_release/version-opentoonz-master" } -run "$BASE_DIR/docker/debian-7-64bit/run.sh" "linux-x64" "64bits" -run "$BASE_DIR/docker/debian-7-32bit/run.sh" "linux-i386" "32bits" +run_appimage linux 64 +run_appimage linux 32 +run_nsis win 64 +#run_nsis win 32 diff --git a/build-synfigstudio-linux.sh b/build-synfigstudio-linux.sh index dde01fd..ab56097 100755 --- a/build-synfigstudio-linux.sh +++ b/build-synfigstudio-linux.sh @@ -6,48 +6,56 @@ BASE_DIR=$(cd `dirname "$0"`; pwd) DATA_DIR="$BASE_DIR/docker-builder-data" BUILD_DIR=$DATA_DIR/build PUBLISH_DIR=$BASE_DIR/publish - CONFIG_FILE="$BASE_DIR/config.sh" PACKET_BUILD_DIR="$BUILD_DIR/packet" SCRIPT_BUILD_DIR="$BUILD_DIR/script" if [ -f $CONFIG_FILE ]; then - source $CONFIG_FILE + source $CONFIG_FILE fi -run() { - local SCRIPT=$1 - local PLATFORM=$2 - local PLATFORM_SUFFIX=$3 - - echo "" - echo "Update synfigstudio for $PLATFORM_SUFFIX" - echo "" - - $SCRIPT update synfigetl-master - $SCRIPT update synfigcore-master - $SCRIPT update synfigstudio-master - $SCRIPT clean_before_do install_release synfigstudio-appimage - local DIR="$PACKET_BUILD_DIR/$PLATFORM/synfigstudio-appimage/install_release" - local VERSION_FILE="$PACKET_BUILD_DIR/$PLATFORM/synfigstudio-appimage/envdeps_release/version-synfigstudio-master" - local VERSION=`cat "$VERSION_FILE" | cut -d'-' -f 1` - local COMMIT=`cat "$VERSION_FILE" | cut -d'-' -f 2-` - COMMIT="${COMMIT:0:5}" - local DATE=`date -u +%Y.%m.%d` - if [ -z "$COMMIT" ]; then - echo "Cannot find version, pheraps appimage not ready. Cancel." - return 1 - fi - if ! ls $PUBLISH_DIR/synfigstudio-$VERSION-*-$COMMIT-$PLATFORM_SUFFIX.appimage 1> /dev/null 2>&1; then - echo "Publish new version $VERSION-$COMMIT-$PLATFORM_SUFFIX" - rm -f $PUBLISH_DIR/synfigstudio-*-$PLATFORM_SUFFIX.appimage - cp $DIR/synfigstudio.appimage $PUBLISH_DIR/synfigstudio-$VERSION-$DATE-$COMMIT-$PLATFORM_SUFFIX.appimage - if [ -f "$PUBLISH_DIR/publish-synfigstudio.sh" ]; then - "$PUBLISH_DIR/publish-synfigstudio.sh" "$PUBLISH_DIR/synfigstudio-$VERSION-$DATE-$COMMIT-$PLATFORM_SUFFIX.appimage" - fi - else - echo "Version $VERSION-$COMMIT-$PLATFORM_SUFFIX already published" - fi +SCRIPT="$BASE_DIR/docker/run.sh" + +run_appimage() { + export PLATFORM="$1" + export ARCH="$2" + + echo "" + echo "Update synfigstudio for $PLATFORM-$ARCH" + echo "" + $SCRIPT update synfigetl-master + $SCRIPT update synfigcore-master + $SCRIPT update synfigstudio-master + $SCRIPT clean_before_do install_release synfigstudio-appimage + + "$PUBLISH_DIR/publish.sh" \ + "synfigstudio" \ + "SynfigStudio-%VERSION%-%DATE%-%COMMIT%-$PLATFORM-${ARCH}bits.appimage" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/synfigstudio-appimage/install_release" \ + "*.appimage" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/synfigstudio-appimage/envdeps_release/version-synfigstudio-master" +} + +run_nsis() { + export PLATFORM="$1" + export ARCH="$2" + + echo "" + echo "Update synfigstudio for $PLATFORM-$ARCH" + echo "" + $SCRIPT update synfigetl-master + $SCRIPT update synfigcore-master + $SCRIPT update synfigstudio-master + $SCRIPT clean_before_do install_release synfigstudio-nsis + + "$PUBLISH_DIR/publish.sh" \ + "synfigstudio" \ + "SynfigStudio-%VERSION%-%DATE%-%COMMIT%-$PLATFORM-${ARCH}bits.exe" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/synfigstudio-nsis/install_release" \ + "*.exe" \ + "$PACKET_BUILD_DIR/$PLATFORM-$ARCH/synfigstudio-nsis/envdeps_release/version-synfigstudio-master" } -run "$BASE_DIR/docker/debian-7-64bit/run.sh" "linux-x64" "64bits" -run "$BASE_DIR/docker/debian-7-32bit/run.sh" "linux-i386" "32bits" +run_appimage linux 64 +run_appimage linux 32 +#run_nsis win 64 +#run_nsis win 32 diff --git a/publish/publish.sh b/publish/publish.sh new file mode 100644 index 0000000..316a766 --- /dev/null +++ b/publish/publish.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +set -e + +PUBLISH_DIR=$(cd `dirname "$0"`; pwd) + +publish_file() { + local NAME="$1" + local TEMPLATE="$2" # Xxxxx-%VERSION%-%DATE%-%COMMIT%-xxxxx.xxx" + local PATH="$3" + local MASK="$4" + local VERSION_FILE="$5" + + local FILE=`ls "$PATH/"$MASK` + + local VERSION=`cat "$VERSION_FILE" | cut -d'-' -f 1` + local COMMIT=`cat "$VERSION_FILE" | cut -d'-' -f 2-` + COMMIT="${COMMIT:0:5}" + local DATE=`date -u +%Y.%m.%d` + if [ -z "$COMMIT" ]; then + echo "Cannot find version, pheraps package not ready. Cancel." + return 1 + fi + + local CHECK_MASK=` \ + echo "$TEMPLATE" \ + | sed "s|%VERSION%|$VERSION|g" \ + | sed "s|%DATE%|*|g" \ + | sed "s|%COMMIT%|$COMMIT|g" ` + local CHECK=`ls "$PUBLISH_DIR/"$CHECK_MASK` + if [ -z "$CHECK" ]; then + local TARGET_NAME=` \ + echo "$TEMPLATE" \ + | sed "s|%VERSION%|$VERSION|g" \ + | sed "s|%DATE%|$DATE|g" \ + | sed "s|%COMMIT%|$COMMIT|g" ` + local TARGET="$PUBLISH_DIR/$TARGET_NAME" + + echo "Publish new version $VERSION-$COMMIT ($TARGET_NAME)" + `rm -f "$PUBLISH_DIR/"$CHECK_MASK` + cp "$FILE" "$TARGET" + if [ -f "$PUBLISH_DIR/publish-$NAME.sh" ]; then + echo "Call publish-$NAME.sh" + "$PUBLISH_DIR/publish-$NAME.sh" "$TARGET" + fi + else + echo "Version $VERSION-$COMMIT already published ($CHECK)" + fi +} + +publish $@