From c68b967e3ade550978aa83183e75f82eeb0690ac Mon Sep 17 00:00:00 2001 From: "James D. Forrester" Date: Fri, 14 Feb 2014 18:13:16 -0800 Subject: [PATCH] Add scripts to generate update builds of OOjs and OOjs UI Change-Id: Ib2e156cbd56dda3d32953d75bafca608eda974ad --- resources/oojs-ui/update-oojs-ui.sh | 93 +++++++++++++++++++++++++++++ resources/oojs/update-oojs.sh | 93 +++++++++++++++++++++++++++++ 2 files changed, 186 insertions(+) create mode 100755 resources/oojs-ui/update-oojs-ui.sh create mode 100755 resources/oojs/update-oojs.sh diff --git a/resources/oojs-ui/update-oojs-ui.sh b/resources/oojs-ui/update-oojs-ui.sh new file mode 100755 index 0000000000..66536bbaf1 --- /dev/null +++ b/resources/oojs-ui/update-oojs-ui.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env bash + +# FIXME this script is duplicated from update-oojs.sh - factor this out + +# This script generates a commit that updates the oojs-ui distribution +# ./bin/update-oojs-ui.sh path/to/repo/for/oojs-ui + +function oojsuihash() { + grep "OOjs UI v" resources/oojs-ui/oojs-ui.js \ + | head -n 1 \ + | grep -Eo '\([a-z0-9]+\)' \ + | sed 's/^(//' \ + | sed 's/)$//' +} + +function oojsuitag() { + grep "OOjs UI v" resources/oojs-ui/oojs-ui.js \ + | head -n 1 \ + | grep -Eo '\bv[0-9a-z.-]+\b' +} + +function oojsuiversion() { + grep "OOjs UI v" resources/oojs-ui/oojs-ui.js \ + | head -n 1 \ + | grep -Eo '\bv[0-9a-z.-]+\b.*$' +} + +# cd to the VisualEditor directory +cd $(cd $(dirname $0)/../..; pwd) + +if [ "x$1" == "x" ] +then + echo >&2 "Usage: update-oojs-ui.sh path/to/repo/for/oojs-ui" + exit 1 +fi + +# Undo any changes in the oojs-ui directory +git reset resources/oojs-ui/ +git checkout resources/oojs-ui/ +# Get the old oojs-ui version +OLDVERSION=$(oojsuihash) +if [ "x$OLDVERSION" == "x" ] +then + TAG=$(oojsuitag) +fi + +# cd to the oojs-ui directory +cd $1 || exit 1 +if [ "x$OLDVERSION" == "x" ] +then + # Try the tag + OLDVERSION=$(git rev-parse $TAG) + if [ $? != 0 ] + then + echo Could not find OOjs UI version + cd - + exit 1 + fi +fi +if [ "$(git rev-parse $OLDVERSION)" == "$(git rev-parse HEAD)" ] +then + echo "No changes (already at $OLDVERSION)" + cd - + exit 0 +fi +# Build the distribution +grunt +# Get the list of changes +NEWCHANGES=$(git log $OLDVERSION.. --oneline --no-merges --reverse --color=never) +NEWCHANGESDISPLAY=$(git log $OLDVERSION.. --oneline --no-merges --reverse --color=always) +# cd back to the VisualEditor directory +cd - + +# Copy files from dist/ to resources/oojs-ui +cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,images,i18n} resources/oojs-ui/ +# Figure out what the new version is +NEWVERSION=$(oojsuiversion) +# Generate commit summary +COMMITMSG=$(cat <&2 <&2 "Usage: update-oojs.sh path/to/repo/for/oojs" + exit 1 +fi + +# Undo any changes in the oojs directory +git reset resources/oojs/ +git checkout resources/oojs/ +# Get the old oojs version +OLDVERSION=$(oojshash) +if [ "x$OLDVERSION" == "x" ] +then + TAG=$(oojstag) +fi + +# cd to the oojs directory +cd $1 || exit 1 +if [ "x$OLDVERSION" == "x" ] +then + # Try the tag + OLDVERSION=$(git rev-parse $TAG) + if [ $? != 0 ] + then + echo Could not find OOjs version + cd - + exit 1 + fi +fi +if [ "$(git rev-parse $OLDVERSION)" == "$(git rev-parse HEAD)" ] +then + echo "No changes (already at $OLDVERSION)" + cd - + exit 0 +fi +# Build the distribution +grunt +# Get the list of changes +NEWCHANGES=$(git log $OLDVERSION.. --oneline --no-merges --reverse --color=never) +NEWCHANGESDISPLAY=$(git log $OLDVERSION.. --oneline --no-merges --reverse --color=always) +# cd back to the VisualEditor directory +cd - + +# Copy files from dist/ to resources/oojs/ +cp -a $1/dist/* resources/oojs/ +# Figure out what the new version is +NEWVERSION=$(oojsversion) +# Generate commit summary +COMMITMSG=$(cat <&2 <