forked from alibaba/otter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsaveVersion.sh
49 lines (43 loc) · 1.7 KB
/
saveVersion.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/sh
# This file is used to generate the package-info.java class that
# records the version, revision, branch, user, timestamp, and url
unset LANG
unset LC_CTYPE
unset LC_TIME
user=`whoami`
date=`date`
current_path=`pwd`
bin_abs_path=$(readlink -f $(dirname $0))
echo "cd to $bin_abs_path for workaround relative path"
cd $bin_abs_path
if [ -d node/.svn ]; then
revision=`svn info | sed -n -e 's/Last Changed Rev: \(.*\)/\1/p'`
url=`svn info node | sed -n -e 's/URL: \(.*\)/\1/p'`
# Get canonical branch (branches/X, tags/X, or trunk)
branch=`echo $url | sed -n -e 's,.*\(branches/.*\)$,\1,p' \
-e 's,.*\(tags/.*\)$,\1,p' \
-e 's,.*/trunk$,trunk,p'`
version=`echo $url | sed -n -e 's,.*branches/\(.*\)$,\1,p' \
-e 's,.*tags/\(.*\)$,\1,p' \
-e 's,.*/trunk$,trunk,p'`
else
revision="Unknown"
branch="Unknown"
url="file://$bin_abs_path"
fi
srcChecksum=`find node/deployer/src/main/bin -name '*.sh' | LC_ALL=C sort | xargs md5sum | md5sum | cut -d ' ' -f 1`
cat << EOF | \
sed -e "s/VERSION/$version/" -e "s/USER/$user/" -e "s/DATE/$date/" \
-e "s|URL|$url|" -e "s/REV/$revision/" \
-e "s|BRANCH|$branch|" -e "s/SRCCHECKSUM/$srcChecksum/" \
> shared/common/src/main/java/com/alibaba/otter/shared/common/utils/version/package-info.java
/*
* Generated by saveVersion.sh
*/
@OtterVersionAnnotation(version="VERSION", revision="REV", branch="BRANCH",
user="USER", date="DATE", url="URL",
srcChecksum="SRCCHECKSUM")
package com.alibaba.otter.shared.common.utils.version;
EOF
echo "cd to $current_path for continue"
cd $current_path