-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sh
executable file
·67 lines (54 loc) · 1.35 KB
/
build.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env zsh
# NOTE: if you are using bash, change zsh above to bash,
# or run this script using `bash build.sh`
args=( "$@" )
for arg in $args
do
# Uninstall beaver and remove gem files
if [[ $arg == "clean-all" ]]; then
args+=( "clean" )
args+=( "uninstall" )
fi
done
for arg in "${args[@]}"
do
echo "> $arg <"
# Build beaver
if [[ $arg == "build" ]]; then
gem build beaver.gemspec
fi
# Install beaver locally
if [[ $arg == "install" ]]; then
gem install beaver-*.gem
fi
# Uninstall local gem
if [[ $arg == "uninstall" ]]; then
gem uninstall beaver
fi
# Clean gem files
if [[ $arg == "clean" ]]; then
rm beaver-*.gem
pushd docs
mdbook clean
popd
fi
if [[ $arg == "docs" ]]; then
pushd docs
mdbook build
popd
fi
if [[ $arg == "test" ]]; then
ruby tests/test.rb -v --show-skips -c -f
fi
if [[ $arg == "test-workflow" ]]; then
ruby tests/test.rb -v
fi
# Publish gem to ruby gems
# if [[ $arg == "publish" ]]; then
# gem push beaver-build-*.gem
# fi
# Generate the gemspecs
# if [[ $arg == "gemspec" ]]; then
# ruby -e 'gemspec = File.read("template_gemspec"); File.open("beaver.gemspec", "w") {|f| f.write gemspec.gsub("%%%", "beaver")}; File.open("beaver-build.gemspec", "w") {|f| f.write gemspec.gsub("%%%", "beaver-build")}'
# fi
done