Skip to content
This repository was archived by the owner on Apr 16, 2024. It is now read-only.

Commit 5ce7869

Browse files
author
Ken Hasenbank
authored
Merge branch 'develop' into feature/42-import-export
2 parents 68f1d70 + 398eea9 commit 5ce7869

9 files changed

+574
-49
lines changed

.travis.yml

+2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ install:
6464
- cd ..
6565

6666
script:
67+
# check for versions
68+
- .travis/check-version.sh
6769
# run license checker and write license.json / dependencies.ts
6870
- cd .travis
6971
- node license.js

.travis/_semver.sh

+373
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,373 @@
1+
#!/usr/bin/env sh
2+
3+
# FROM https://github.com/warehouseman/semver_shell
4+
5+
red='\033[0;31m'
6+
nc='\033[0m' # No Color
7+
8+
semverParseInto() {
9+
val="$1";
10+
if [ "X${val}X" = "XX" ]; then echo "${red}WARN${nc} :: '$val' is not a valid semver"; val="0.0.0"; fi;
11+
# shellcheck disable=SC2039
12+
# local RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)[-]\{0,1\}\([0-9A-Za-z.-]*\)'
13+
local RE="[^0-9]*\([0-9]\+\)\(\.\([0-9]\+\)\|\)\(\.\([0-9]\+\)\|\)[-]\{0,1\}\([0-9A-Za-z.-]*\)"
14+
15+
#MAJOR
16+
eval "$2"="$(echo ${val} | sed -n -e "s#$RE#\1#p")"
17+
18+
#MINOR
19+
eval "$3"="$(echo ${val} | sed -n -e "s#$RE#\3#p")"
20+
eval "$3=\${$3:-0}"
21+
22+
#PATCH
23+
eval "$4"="$(echo ${val} | sed -n -e "s#$RE#\5#p")"
24+
eval "$4=\${$4:-0}"
25+
26+
#SPECIAL
27+
eval "$5"="$(echo ${val} | sed -n -e "s#$RE#\6#p")"
28+
}
29+
30+
semverValidate() {
31+
32+
# shellcheck disable=SC2039
33+
local M=0
34+
# shellcheck disable=SC2039
35+
local m=0
36+
# shellcheck disable=SC2039
37+
local p=0
38+
# shellcheck disable=SC2039
39+
local s=0
40+
local CHK=0
41+
42+
semverParseInto "$1" M m p s
43+
local RE="^([0-9]*)$";
44+
CHK=$(echo "${M}"| sed -r "s/${RE}/\1/g");
45+
if ! [ ${CHK} -ge 0 -a ${CHK} -le 99999999 ] 2>/dev/null; then return 1; fi;
46+
CHK=$(echo "${m}"| sed -r "s/${RE}/\1/g");
47+
if ! [ ${CHK} -ge 0 -a ${CHK} -le 99999999 ] 2>/dev/null; then return 1; fi;
48+
CHK=$(echo "${p}"| sed -r "s/${RE}/\1/g");
49+
if ! [ ${CHK} -ge 0 -a ${CHK} -le 99999999 ] 2>/dev/null; then return 1; fi;
50+
51+
return 0;
52+
}
53+
54+
semverConstruct() {
55+
if [ $# -eq 5 ]; then
56+
eval "$5=$1.$2.$3-$4"
57+
fi
58+
59+
eval "$4=$1.$2.$3"
60+
}
61+
62+
semverCmp() {
63+
# shellcheck disable=SC2039
64+
local MAJOR_A=0
65+
# shellcheck disable=SC2039
66+
local MINOR_A=0
67+
# shellcheck disable=SC2039
68+
local PATCH_A=0
69+
# shellcheck disable=SC2039
70+
local SPECIAL_A=0
71+
72+
# shellcheck disable=SC2039
73+
local MAJOR_B=0
74+
# shellcheck disable=SC2039
75+
local MINOR_B=0
76+
# shellcheck disable=SC2039
77+
local PATCH_B=0
78+
# shellcheck disable=SC2039
79+
local SPECIAL_B=0
80+
81+
semverParseInto "$1" MAJOR_A MINOR_A PATCH_A SPECIAL_A
82+
semverParseInto "$2" MAJOR_B MINOR_B PATCH_B SPECIAL_B
83+
84+
if [ "X${MAJOR_A}X" = "XX" ]; then echo "${red}WARN${nc} :: '$1' is not a valid semver"; fi;
85+
if [ "X${MAJOR_B}X" = "XX" ]; then echo "${red}WARN${nc} :: '$2' is not a valid semver"; fi;
86+
87+
# major
88+
if [ $MAJOR_A -lt $MAJOR_B ]; then
89+
return 2
90+
fi
91+
92+
if [ $MAJOR_A -gt $MAJOR_B ]; then
93+
return 1
94+
fi
95+
96+
# minor
97+
if [ $MINOR_A -lt $MINOR_B ]; then
98+
return 2
99+
fi
100+
101+
if [ $MINOR_A -gt $MINOR_B ]; then
102+
return 1
103+
fi
104+
105+
# patch
106+
if [ $PATCH_A -lt $PATCH_B ]; then
107+
return 2
108+
fi
109+
110+
if [ $PATCH_A -gt $PATCH_B ]; then
111+
return 1
112+
fi
113+
114+
# special
115+
if [ "$SPECIAL_A" = "" ] && [ "$SPECIAL_B" != "" ]; then
116+
# echo "C 1 || \$SPECIAL_A = $SPECIAL_A, \$SPECIAL_B = $SPECIAL_B";
117+
return 2 # missing is less than having
118+
fi
119+
120+
if [ "$SPECIAL_A" != "" ] && [ "$SPECIAL_B" = "" ]; then
121+
# echo "C 2 || \$SPECIAL_A = $SPECIAL_A, \$SPECIAL_B = $SPECIAL_B";
122+
return 1 # having is greater than missing
123+
fi
124+
125+
if [ "$(expr "$SPECIAL_A" \< "$SPECIAL_B")" -eq 1 ]; then
126+
return 2
127+
fi
128+
129+
if [ "$(expr "$SPECIAL_A" \> "$SPECIAL_B")" -eq 1 ]; then
130+
return 1
131+
fi
132+
133+
# equal
134+
return 0
135+
}
136+
137+
semverEQ() {
138+
semverCmp "$1" "$2"
139+
# shellcheck disable=SC2039
140+
local RESULT=$?
141+
142+
if [ $RESULT -ne 0 ]; then
143+
# not equal
144+
return 1
145+
fi
146+
147+
return 0
148+
}
149+
150+
semverLT() {
151+
semverCmp "$1" "$2"
152+
# shellcheck disable=SC2039
153+
local RESULT=$?
154+
155+
if [ $RESULT -ne 2 ]; then
156+
# not lesser than
157+
return 1
158+
fi
159+
160+
return 0
161+
}
162+
163+
semverGT() {
164+
semverCmp "$1" "$2"
165+
# shellcheck disable=SC2039
166+
local RESULT=$?
167+
168+
if [ $RESULT -ne 1 ]; then
169+
# not greater than
170+
return 1
171+
fi
172+
173+
return 0
174+
}
175+
176+
semverLE() {
177+
semverGT "$1" "$2"
178+
# shellcheck disable=SC2039
179+
local RESULT=$?
180+
181+
if [ $RESULT -ne 1 ]; then
182+
# not lesser than or equal
183+
return 1
184+
fi
185+
186+
return 0
187+
}
188+
189+
semverGE() {
190+
semverLT "$1" "$2"
191+
# shellcheck disable=SC2039
192+
local RESULT=$?
193+
194+
if [ $RESULT -ne 1 ]; then
195+
# not greater than or equal
196+
return 1
197+
fi
198+
199+
return 0
200+
}
201+
202+
semverBumpMajor() {
203+
# shellcheck disable=SC2039
204+
local MAJOR=0
205+
# shellcheck disable=SC2039
206+
local MINOR=0
207+
# shellcheck disable=SC2039
208+
local PATCH=0
209+
# shellcheck disable=SC2039
210+
local SPECIAL=""
211+
212+
semverParseInto "$1" MAJOR MINOR PATCH SPECIAL
213+
MAJOR=$((MAJOR + 1))
214+
MINOR=0
215+
PATCH=0
216+
SPECIAL=""
217+
218+
semverConstruct $MAJOR $MINOR $PATCH $SPECIAL "$2"
219+
}
220+
221+
semverBumpMinor() {
222+
# shellcheck disable=SC2039
223+
local MAJOR=0
224+
# shellcheck disable=SC2039
225+
local MINOR=0
226+
# shellcheck disable=SC2039
227+
local PATCH=0
228+
# shellcheck disable=SC2039
229+
local SPECIAL=""
230+
231+
semverParseInto "$1" MAJOR MINOR PATCH SPECIAL
232+
MINOR=$((MINOR + 1))
233+
PATCH=0
234+
SPECIAL=""
235+
236+
semverConstruct $MAJOR $MINOR $PATCH $SPECIAL "$2"
237+
}
238+
239+
semverBumpPatch() {
240+
# shellcheck disable=SC2039
241+
local MAJOR=0
242+
# shellcheck disable=SC2039
243+
local MINOR=0
244+
# shellcheck disable=SC2039
245+
local PATCH=0
246+
# shellcheck disable=SC2039
247+
local SPECIAL=""
248+
249+
semverParseInto "$1" MAJOR MINOR PATCH SPECIAL
250+
PATCH=$((PATCH + 1))
251+
SPECIAL=""
252+
253+
semverConstruct $MAJOR $MINOR $PATCH $SPECIAL "$2"
254+
}
255+
256+
semverStripSpecial() {
257+
# shellcheck disable=SC2039
258+
local MAJOR=0
259+
# shellcheck disable=SC2039
260+
local MINOR=0
261+
# shellcheck disable=SC2039
262+
local PATCH=0
263+
# shellcheck disable=SC2039
264+
local SPECIAL=""
265+
266+
semverParseInto "$1" MAJOR MINOR PATCH SPECIAL
267+
SPECIAL=""
268+
269+
semverConstruct $MAJOR $MINOR $PATCH $SPECIAL "$2"
270+
}
271+
272+
if [ "___semver.sh" = "___$(basename "$0")" ]; then
273+
if [ "$2" = "" ]; then
274+
echo "$0 <version> <command> [version]"
275+
echo "Commands: cmp, eq, lt, gt, bump_major, bump_minor, bump_patch, strip_special"
276+
echo ""
277+
echo "cmp: compares left version against right version, return 0 if equal, 2 if left is lower than right, 1 if left is higher than right"
278+
echo "eq: compares left version against right version, returns 0 if both versions are equal"
279+
echo "lt: compares left version against right version, returns 0 if left version is less than right version"
280+
echo "gt: compares left version against right version, returns 0 if left version is greater than than right version"
281+
echo ""
282+
echo "bump_major: bumps major of version, setting minor and patch to 0, removing special"
283+
echo "bump_minor: bumps minor of version, setting patch to 0, removing special"
284+
echo "bump_patch: bumps patch of version, removing special"
285+
echo ""
286+
echo "strip_special: strips special from version"
287+
exit 3
288+
fi
289+
290+
if [ "$2" = "cmp" ]; then
291+
semverCmp "$1" "$3"
292+
RESULT=$?
293+
echo $RESULT
294+
exit $RESULT
295+
fi
296+
297+
if [ "$2" = "eq" ]; then
298+
semverEQ "$1" "$3"
299+
RESULT=$?
300+
echo $RESULT
301+
exit $RESULT
302+
fi
303+
304+
if [ "$2" = "lt" ]; then
305+
semverLT "$1" "$3"
306+
RESULT=$?
307+
echo $RESULT
308+
exit $RESULT
309+
fi
310+
311+
if [ "$2" = "gt" ]; then
312+
semverGT "$1" "$3"
313+
RESULT=$?
314+
echo $RESULT
315+
exit $RESULT
316+
fi
317+
318+
if [ "$2" = "le" ]; then
319+
semverLE "$1" "$3"
320+
RESULT=$?
321+
echo $RESULT
322+
exit $RESULT
323+
fi
324+
325+
if [ "$2" = "ge" ]; then
326+
semverGE "$1" "$3"
327+
RESULT=$?
328+
echo $RESULT
329+
exit $RESULT
330+
fi
331+
332+
if [ "$2" = "bump_major" ]; then
333+
semverBumpMajor "$1" VERSION
334+
echo "${VERSION}"
335+
exit 0
336+
fi
337+
338+
if [ "$2" = "bump_minor" ]; then
339+
semverBumpMinor "$1" VERSION
340+
echo "${VERSION}"
341+
exit 0
342+
fi
343+
344+
if [ "$2" = "bump_patch" ]; then
345+
semverBumpPatch "$1" VERSION
346+
echo "${VERSION}"
347+
exit 0
348+
fi
349+
350+
if [ "$2" = "strip_special" ]; then
351+
semverStripSpecial "$1" VERSION
352+
echo "${VERSION}"
353+
exit 0
354+
fi
355+
356+
if [ "$2" = "parse" ]; then
357+
VER=$1;
358+
shift;
359+
shift;
360+
361+
MA=0;
362+
MI=0;
363+
PA=0;
364+
SP="";
365+
semverParseInto $VER MA MI PA SP;
366+
eval echo "export \$1=$MA\;";
367+
eval echo "export \$2=$MI\;";
368+
eval echo "export \$3=$PA\;";
369+
eval echo "export \$4=$SP\;";
370+
echo "";
371+
exit 0
372+
fi
373+
fi

.travis/_shared-vars.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
# DECALRE COLORS
4+
RED='\033[0;31m'
5+
GREEN='\033[0;32m'
6+
YELLOW='\033[0;33m'
7+
NC='\033[0m'
8+
9+
# DECALRE PATHS
10+
if [ -z "${DIR}" ]; then
11+
DIR=""
12+
fi
13+
MODULE_PATH="${DIR}/node_modules"
14+
BIN_PATH=".bin"
15+
BIN_PATH_FULL="${MODULE_PATH}/${BIN_PATH}"

0 commit comments

Comments
 (0)