Skip to content

Commit 1e213d4

Browse files
committed
build.sh: Make more robust & cleanup
1 parent 84a75b3 commit 1e213d4

File tree

2 files changed

+30
-15
lines changed

2 files changed

+30
-15
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
- mv home/travis/build/badgeek/svg2shenzhen/bitmap2component_linux64 ./inkscape/svg2shenzhen/bitmap2component_linux64
6464
- mv ./C:/Users/travis/build/badgeek/svg2shenzhen/bitmap2component.exe ./inkscape/svg2shenzhen/bitmap2component.exe
6565
- mv ./bitmap2component_osx ./inkscape/svg2shenzhen/
66-
- sh build.sh
66+
- bash build.sh
6767
deploy:
6868
provider: releases
6969
api_key:

build.sh

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,46 @@
1-
#!/bin/bash
1+
#!/usr/bin/env bash
2+
# Creates distribution archives.
3+
# Requires the binaries be already built (with make)
4+
# and moved to the stageing area.
25

3-
cwd=$(pwd)
6+
# Exit immediately on each error and unset variable;
7+
# see: https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/
8+
#set -Eeuo pipefail
9+
set -Eeu
10+
11+
# shellcheck source=./
12+
script_dir=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
13+
root="$script_dir"
14+
cwd="$(pwd)"
415

516
BUILD_DIR=dist
617

718
BUILD_DIR_STAGING=staging
819

9-
GIT_TAG_VERSION=`git describe --tag`
20+
GIT_TAG_VERSION="$(git describe --tag)"
1021

1122
RELEASE_FILENAME_PREFIX=svg2shenzhen-extension
12-
# echo "$cwd/$BUILD_DIR/$BUILD_DIR_STAGING"
23+
# echo "$root/$BUILD_DIR/$BUILD_DIR_STAGING"
24+
RELEASE_FILENAME_BASE="${root:?}/$BUILD_DIR/${RELEASE_FILENAME_PREFIX}-${GIT_TAG_VERSION}"
1325

14-
rm -fr $cwd/$BUILD_DIR/*
26+
rm -fr "${root:?}/$BUILD_DIR/"*
1527

16-
mkdir -p "$cwd/$BUILD_DIR/$BUILD_DIR_STAGING"
28+
mkdir -p "${root:?}/$BUILD_DIR/$BUILD_DIR_STAGING"
1729

18-
cp -r inkscape/* $cwd/$BUILD_DIR/$BUILD_DIR_STAGING
30+
cp -r inkscape/* "${root:?}/$BUILD_DIR/$BUILD_DIR_STAGING"
1931

20-
find $cwd/$BUILD_DIR/$BUILD_DIR_STAGING -name *.inx -type f -exec sed -i.bak s/SVGSZ_VER/${GIT_TAG_VERSION}/g '{}' \;
32+
find "${root:?}/$BUILD_DIR/$BUILD_DIR_STAGING" \
33+
-name "*.inx" \
34+
-type f \
35+
-exec sed -i.bak "s/SVGSZ_VER/${GIT_TAG_VERSION}/g" '{}' \;
2136

22-
rm -fr $cwd/$BUILD_DIR/$BUILD_DIR_STAGING/*.bak
37+
rm -fr "${root:?}/$BUILD_DIR/$BUILD_DIR_STAGING/"*.bak
2338

24-
cd $cwd/$BUILD_DIR/$BUILD_DIR_STAGING
39+
cd "${root:?}/$BUILD_DIR/$BUILD_DIR_STAGING"
2540

26-
tar -czvf $cwd/$BUILD_DIR/${RELEASE_FILENAME_PREFIX}-${GIT_TAG_VERSION}.tar.gz .
27-
zip -m -x .DS_Store -r $cwd/$BUILD_DIR/${RELEASE_FILENAME_PREFIX}-${GIT_TAG_VERSION}.zip .
41+
tar -czvf "${RELEASE_FILENAME_BASE}.tar.gz" .
42+
zip -m -x .DS_Store -r "${RELEASE_FILENAME_BASE}.zip" .
2843

29-
cd $cwd
44+
cd "$cwd"
3045

31-
ls dist
46+
ls "$BUILD_DIR"

0 commit comments

Comments
 (0)