-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathprepare.sh
executable file
·49 lines (41 loc) · 1.86 KB
/
prepare.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
# config
PLUGINDIR=$(pwd)
MAINFILE="wp-mpdf.php"
# git config
GITPATH="$PLUGINDIR/" # this file should be in the base of your git repository
# Check that git working directory is clean
if [ -n "$(git status --porcelain)" ]; then
echo "There are uncommitted git changes. Exiting...."
exit 1
fi
# Check version in readme.txt is the same as plugin file after translating both to unix line breaks to work around grep's failure to identify mac line breaks
PLUGINVERSION=$(grep "Version:" $GITPATH/$MAINFILE | awk -F' ' '{print $NF}' | tr -d '\r')
echo "$MAINFILE version: $PLUGINVERSION"
READMEVERSION=$(grep "^Stable tag:" $GITPATH/readme.txt | awk -F' ' '{print $NF}' | tr -d '\r')
echo "readme.txt version: $READMEVERSION"
READMEMDVERSION=$(grep "^\*\*Stable tag:\*\*" $GITPATH/readme.md | awk -F' ' '{print $NF}' | tr -d '\r')
echo "readme.md version: $READMEMDVERSION"
if [ "$READMEVERSION" = "trunk" ]; then
echo "Version in readme.txt & $MAINFILE don't match, but Stable tag is trunk. Let's proceed..."
elif [ "$PLUGINVERSION" != "$READMEVERSION" ]; then
echo "Version in readme.txt & $MAINFILE don't match. Exiting...."
exit 1
elif [ "$PLUGINVERSION" != "$READMEMDVERSION" ]; then
echo "Version in readme.md & $MAINFILE don't match. Exiting...."
exit 1
elif [ "$PLUGINVERSION" = "$READMEVERSION" ] && [ "$PLUGINVERSION" = "$READMEMDVERSION" ]; then
echo "Versions match in readme.txt, readme.md and $MAINFILE. Let's proceed..."
fi
if git show-ref --tags --quiet --verify -- "refs/tags/$PLUGINVERSION"; then
echo "Version $PLUGINVERSION already exists as git tag. Exiting...."
exit 1
else
echo "Git version does not exist. Let's proceed..."
fi
# Create the actual tag
echo "Tagging new version in git"
git tag -a "$PLUGINVERSION" -m "Tagging version $PLUGINVERSION"
# Push changes
echo "Pushing git master to origin, with tags"
git push origin master --tags