|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | | -semver_compare() { |
4 | | - local version_a version_b pr_a pr_b |
5 | | - # strip word "v" and extract first subset version (x.y.z from x.y.z-foo.n) |
6 | | - version_a=$(echo "${1//v/}" | awk -F'-' '{print $1}') |
7 | | - version_b=$(echo "${2//v/}" | awk -F'-' '{print $1}') |
8 | | - |
9 | | - if [ "$version_a" \= "$version_b" ] |
10 | | - then |
11 | | - # check for pre-release |
12 | | - # extract pre-release (-foo.n from x.y.z-foo.n) |
13 | | - pr_a=$(echo "$1" | awk -F'-' '{print $2}') |
14 | | - pr_b=$(echo "$2" | awk -F'-' '{print $2}') |
15 | | - |
16 | | - #### |
17 | | - # Return 0 when A is equal to B |
18 | | - [ "$pr_a" \= "$pr_b" ] && echo 0 && return 0 |
19 | | - |
20 | | - #### |
21 | | - # Return 1 |
22 | | - |
23 | | - # Case when A is not pre-release |
24 | | - if [ -z "$pr_a" ] |
25 | | - then |
26 | | - echo 1 && return 0 |
27 | | - fi |
28 | | - |
29 | | - #### |
30 | | - # Case when pre-release A exists and is greater than B's pre-release |
31 | | - |
32 | | - # extract numbers -rc.x --> x |
33 | | - number_a=$(echo ${pr_a//[!0-9]/}) |
34 | | - number_b=$(echo ${pr_b//[!0-9]/}) |
35 | | - [ -z "${number_a}" ] && number_a=0 |
36 | | - [ -z "${number_b}" ] && number_b=0 |
37 | | - |
38 | | - [ "$pr_a" \> "$pr_b" ] && [ -n "$pr_b" ] && [ "$number_a" -gt "$number_b" ] && echo 1 && return 0 |
39 | | - |
40 | | - #### |
41 | | - # Retrun -1 when A is lower than B |
42 | | - echo -1 && return 0 |
43 | | - fi |
44 | | - arr_version_a=(${version_a//./ }) |
45 | | - arr_version_b=(${version_b//./ }) |
46 | | - cursor=0 |
47 | | - # Iterate arrays from left to right and find the first difference |
48 | | - while [ "$([ "${arr_version_a[$cursor]}" -eq "${arr_version_b[$cursor]}" ] && [ $cursor -lt ${#arr_version_a[@]} ] && echo true)" == true ] |
49 | | - do |
50 | | - cursor=$((cursor+1)) |
51 | | - done |
52 | | - [ "${arr_version_a[$cursor]}" -gt "${arr_version_b[$cursor]}" ] && echo 1 || echo -1 |
53 | | -} |
54 | | - |
55 | | -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/.." |
56 | | - |
57 | | -NVER="$(node -v)" |
58 | | -echo "NODE: $NVER" |
59 | | -if [ $(semver_compare $NVER 11) = -1 ]; then |
60 | | - echo "Install for V10" |
61 | | - npm install [email protected] stylelint@12 --save-dev |
62 | | -else |
63 | | - echo "Install Latest" |
64 | | - npm install eslint stylelint --save-dev |
65 | | -fi |
| 3 | +source npm-install.sh |
66 | 4 |
|
67 | 5 | [ -f ./ruleset.xml ] || cp $DIR/ruleset.xml ./ |
68 | 6 | [ -f ./phpmd.xml ] || cp $DIR/phpmd.xml ./ |
|
0 commit comments