forked from Qortal/qortal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.6 KiB
66 lines
1.6 KiB
#!/usr/bin/env bash |
|
|
|
set -e |
|
|
|
# Optional git tag? |
|
if [ $# -ge 1 ]; then |
|
git_tag="$1" |
|
shift |
|
fi |
|
|
|
saved_pwd=$PWD |
|
|
|
# Check we are within a git repo |
|
git_dir=$( git rev-parse --show-toplevel ) |
|
if [ -z "${git_dir}" ]; then |
|
echo "Cannot determine top-level directory for git repo" |
|
exit 1 |
|
fi |
|
|
|
# Change to git top-level |
|
cd ${git_dir} |
|
|
|
# Check we are in 'master' branch |
|
# branch_name=$( git symbolic-ref -q HEAD ) || echo "Cannot determine branch name" && exit 1 |
|
# branch_name=${branch_name##refs/heads/} |
|
# echo "Current git branch: ${branch_name}" |
|
# if [ "${branch_name}" != "master" ]; then |
|
# echo "Unexpected current branch '${branch_name}' - expecting 'master'" |
|
# exit 1 |
|
# fi |
|
|
|
# Determine project name |
|
project=$( perl -n -e 'if (m/<artifactId>(\w+)<.artifactId>/) { print $1; exit }' pom.xml $) |
|
if [ -z "${project}" ]; then |
|
echo "Unable to determine project name from pom.xml?" |
|
exit 1 |
|
fi |
|
|
|
# Extract git tag |
|
if [ -z "${git_tag}" ]; then |
|
git_tag=$( git tag --points-at HEAD ) |
|
if [ -z "${git_tag}" ]; then |
|
echo "Unable to extract git tag" |
|
exit 1 |
|
fi |
|
fi |
|
|
|
build_dir=/tmp/${project} |
|
commit_ts=$( git show --no-patch --format=%cI ) |
|
|
|
/bin/rm -fr ${build_dir} |
|
mkdir -p ${build_dir} |
|
|
|
cp target/${project}*.jar ${build_dir}/${project}.jar |
|
|
|
git show HEAD:log4j2.properties > ${build_dir}/log4j2.properties |
|
|
|
git show HEAD:start.sh > ${build_dir}/start.sh |
|
git show HEAD:stop.sh > ${build_dir}/stop.sh |
|
|
|
printf "{\n}\n" > ${build_dir}/settings.json |
|
|
|
gtouch -d ${commit_ts%%+??:??} ${build_dir} ${build_dir}/* |
|
|
|
rm -f ${saved_pwd}/${project}.zip |
|
(cd ${build_dir}/..; 7z a -r -tzip ${saved_pwd}/${project}.zip ${project}/)
|
|
|