summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/make-release.sh65
-rwxr-xr-xbin/make-snapshot.sh24
2 files changed, 89 insertions, 0 deletions
diff --git a/bin/make-release.sh b/bin/make-release.sh
new file mode 100755
index 0000000..4c603e7
--- /dev/null
+++ b/bin/make-release.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+VERSION="$1"
+NO_OPT="$2"
+
+if [[ -z $VERSION ]]; then
+ echo "USAGE: $0 <version> [--no-tag|--no-checkout]"
+ echo " e.g.: $0 0.1.0"
+ exit 1
+fi
+
+function fail {
+ local msg="$1"
+ echo "ERROR: $msg"
+ exit 1
+}
+
+TAG=$(git tag | grep -c "$VERSION")
+
+if [[ "$TAG" -ne "0" ]]; then
+ echo -n "Version $VERSION has already been tagged: "
+ git tag | grep "$VERSION"
+ exit 1
+fi
+
+if [ "$NO_OPT" != "--no-checkout" ]; then
+ BRANCH="stable/$VERSION"
+ git checkout -b "$BRANCH" || fail "Version branch $BRANCH already exists"
+else
+ BRANCH=$(git rev-parse --abbrev-ref HEAD)
+fi
+
+git rm -rf vendor
+rm -rf vendor
+rm -f composer.lock
+composer install || fail "composer install failed"
+find vendor/ -type f -name "*.php" \
+ | grep -v '/examples/' \
+ | grep -v '/example/' \
+ | grep -v '/tests/' \
+ | grep -v '/test/' \
+ | xargs -L1 git add -f
+find vendor/ -type f -name LICENSE | xargs -L1 git add -f
+find vendor/ -type f -name '*.json' | xargs -L1 git add -f
+find asset/ -type f | xargs -L1 git add -f
+echo "v$VERSION" > VERSION
+git add VERSION
+git add composer.lock -f
+git commit -m "Version v$VERSION"
+
+rm -rf vendor
+git checkout vendor
+composer validate --no-check-all --strict || fail "Composer validate failed"
+
+if [ -z "$NO_OPT" ]; then
+ git tag -a v$VERSION -m "Version v$VERSION"
+ echo "Finished, tagged v$VERSION"
+ echo "Now please run:"
+else
+ echo "Finished, but not tagged yet"
+ echo "Now please run:"
+ echo "git tag -s v$VERSION -m \"Version v$VERSION\""
+fi
+
+echo "git push origin "$BRANCH":"$BRANCH" && git push --tags"
diff --git a/bin/make-snapshot.sh b/bin/make-snapshot.sh
new file mode 100755
index 0000000..c2c60a0
--- /dev/null
+++ b/bin/make-snapshot.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -xe
+
+BRANCH="$1"
+
+if [ -z $BRANCH ]; then
+ echo "USAGE: $0 <branch>"
+ echo " e.g.: $0 snapshot/nightly"
+ exit 1
+fi
+
+LATEST_TAG=$(git for-each-ref refs/tags --sort=-taggerdate --format='%(refname)' --count=1 | awk -F/ '{print $3}')
+NEXT_VERSION=$(echo "${LATEST_TAG:1}" | awk -F. -v OFS=. '{$3=0}; {++$2}; {print}')
+
+if [[ -n $(git branch | grep $BRANCH) ]]; then
+ git branch -D $BRANCH
+fi
+
+git checkout -b $BRANCH
+git merge --no-ff -m "Merge latest tag, to make it reachable for git-describe" $LATEST_TAG
+
+git commit -a -m "Require dev-master everywhere"
+bin/make-release.sh "$NEXT_VERSION-dev" --no-checkout