From 9794fab00f319c322151fd2a61884ad5d827f1fb Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 5 Apr 2019 21:59:43 -0700 Subject: [PATCH] Updated shell scripts. --- examples/examples.sh | 19 ++++-- preflightcheck.sh | 157 +++++++++++++++++++++++++++++++++++++++++++ releasecheck.sh | 49 -------------- updatewrappers.sh | 50 +++++++++++--- 4 files changed, 212 insertions(+), 63 deletions(-) create mode 100644 preflightcheck.sh delete mode 100644 releasecheck.sh diff --git a/examples/examples.sh b/examples/examples.sh index 77ffbdf..c8687e2 100755 --- a/examples/examples.sh +++ b/examples/examples.sh @@ -1,17 +1,28 @@ #!/bin/bash if [ $# -eq 0 ]; then - echo "Usage: $0 [...]" + echo "Usage: $0 " exit 1 fi +# set the examples directories +declare -a examples=( + "java" + "kotlin") + dir=$(dirname "$(readlink -f "$0")") cyan=$(tput setaf 6) normal=$(tput sgr0) -for ex in "java" "kotlin"; do +i=0 +for ex in "${examples[@]}"; do + if [ $i -ne 0 ] + then + read -p "Press [Enter] key to continue..." + clear + fi cd "$dir/$ex" || exit 1 - echo "> Project: ${cyanlor}${ex}${normal}" + echo "> Project: ${cyan}${ex}${normal}" ./gradlew --console=plain --no-build-cache clean "$@" || exit 1 - echo + (( i++ )) done diff --git a/preflightcheck.sh b/preflightcheck.sh new file mode 100644 index 0000000..630196e --- /dev/null +++ b/preflightcheck.sh @@ -0,0 +1,157 @@ +#!/bin/bash + +# +# Version: 1.0 +# + +# set source and test locations +src="src/main/java/net/thauvin/erik/semver" +test="src/test/java/net/thauvin/erik/semver" +# e.g: .java, .kt, etc. +ext=".java" +java8=true +# e.g: +declare -a examples=( + "examples/java run" + "examples/kotlin run runJava") +# e.g: empty or javadoc, etc. +doc="javadoc pandoc" +# e.g. empty or sonarqube +sonar="sonarqube" + +# gradle default command line args +opts="--console=plain --no-build-cache --no-daemon" + +if [ "$java8" = true ] +then + export JAVA_HOME="$JAVA8_HOME" + export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" +fi + +pwd=$PWD +red=$(tput setaf 1) +cyan=$(tput setaf 6) +std=$(tput sgr0) +date=$(date +%Y) + +pause() { + read -p "Press [Enter] key to continue..." + clear +} + +checkCopyright() { + if [ "$(grep -c "$date" "$1")" -eq 0 ] + then + echo -e " Invalid: ${red}$f${std}" + else + echo -e " Checked: $1" + fi +} + +runGradle() { + cd "$1" || exit 1 + echo -e "> Project: ${cyan}${1}${std} [Gradle]" + shift + ./gradlew $opts clean $@ || exit 1 + cd "$pwd" +} + +runKobalt() { + cd "$1" || exit 1 + if [ -f kobalt/src/Build.kt ] + then + read -p "Run Kobalt Example? [y/n]: " choice + case $choice in + [Yy] ) + clear + echo -e "> Project: ${cyan}$1${std} [Kobalt]" + shift + ./kobaltw clean $@ ;; + * ) ;; + esac + fi + cd "$pwd" +} + +updateWrappers() { + clear + ./updatewrappers.sh + pause +} + +checkDeps() { + clear + echo -e "${cyan}Checking depencencies...${std}" + gradle --console=plain dU || exit 1 + pause +} + +gradleCheck() { + clear + echo -e "${cyan}Checking Gradle build....${std}" + gradle $opts clean check $doc $sonar || exit 1 + pause +} + +examples() { + clear + echo -e "Running examples..." + for ex in "${examples[@]}" + do + runGradle $ex + runKobalt $ex + read -p "Continue? [y/n]: " choice + clear + case $choice in + [Yy] ) continue ;; + * ) return ;; + esac + done +} + +validateCopyrights() { + clear + echo -e "${cyan}Validating copyrights...${std}" + for f in LICENSE.TXT ${src}/*${ext} ${test}/*${ext} + do + checkCopyright "$f" + done + pause +} + +everything() { + updateWrappers + checkDeps + gradleCheck + examples + validateCopyrights +} + +showMenu() { + echo " 1. Update Wrappers" + echo " 2. Check Dependencies" + echo " 3. Check Gradle Build" + echo " 4. Run Examples" + echo " 5. Validate Copyrights" + echo " 6. Check Everything" +} + +readOptions(){ + local choice + read -p "Enter choice [1-6]: " choice + case $choice in + 1) updateWrappers ;; + 2) checkDeps ;; + 3) gradleCheck ;; + 4) examples ;; + 5) validateCopyrights ;; + 6) everything ;; + *) exit 0 ;; + esac +} + +while true +do + showMenu + readOptions +done diff --git a/releasecheck.sh b/releasecheck.sh deleted file mode 100644 index b863595..0000000 --- a/releasecheck.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -pwd=$PWD -red=$(tput setaf 1) -cyan=$(tput setaf 6) -normal=$(tput sgr0) -date=$(date +%Y) - -sonar="sonarqube" -doc="pandoc" -src="src/main/java/net/thauvin/erik/semver" -test="src/test/java/net/thauvin/erik/semver" -ext=".java" - -checkCopyright() { - if [ "$(grep -c "$date" "$1")" -eq 0 ]; then - echo -e Copyright: "${red}$f${normal}" - else - echo -e Checked: "$1" - fi -} - -runGradle() { - echo -e "${cyan}${1}${normal}" - cd "$1" || exit 1 - shift - ./gradlew --console=plain --no-build-cache clean $@ || exit 1 - cd "$pwd" - read -p "Press enter to continue..." - clear -} - -./updatewrappers.sh -read -p "Press enter to continue..." -clear - -gradle --console=plain --no-build-cache clean dU check $doc $sonar || exit 1 -read -p "Press enter to continue..." -clear - -runGradle examples/java run -runGradle examples/kotlin run runJava -clear - -cd "$pwd" - -for f in LICENSE.TXT ${src}/*${ext} ${test}/*${ext} ; do - checkCopyright "$f" -done diff --git a/updatewrappers.sh b/updatewrappers.sh index 0e597f9..8dff011 100644 --- a/updatewrappers.sh +++ b/updatewrappers.sh @@ -1,30 +1,60 @@ #!/bin/bash -export JAVA_HOME="$JAVA8_HOME" -export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" +# +# Version: 1.0 +# + +# set the examples directories +declare -a dirs=( + "${PWD##*/}" + "examples/java" + "examples/kotlin") +java8=true -declare -a dirs=("${PWD##*/}" "examples/java" "examples/kotlin") pwd=$PWD +cyan=$(tput setaf 6) +green=$(tput setaf 2) +red=$(tput setaf 1) +std=$(tput sgr0) +### + +if [ "$java8" = true ] +then + export JAVA_HOME="$JAVA8_HOME" + export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" +fi + +kVer=$(kobaltw --version | awk '{print substr($2, 1, length($2)-1)}') updateWrappers() { + curVer="$(gradle --version | awk '/Gradle/ {print $2}')" if [ -d gradle ]; then - gradle -q --console=plain wrapper - echo -e " $(./gradlew --version | grep Gradle)" + if [ "$curVer" != "$(./gradlew --version | awk '/Gradle/ {print $2}')" ]; then + gradle -q --console=plain wrapper + echo -e " $(./gradlew --version | awk '/Gradle/') ${green}UPDATED${std}" + else + echo -e " Gradle $curVer UP-TO-DATE" + fi fi if [ -d kobalt ]; then - ./kobaltw --update --log 0 - echo -e " Kobalt $(cut -d "=" -f 2 kobalt/wrapper/kobalt-wrapper.properties)" + kw=$(cut -d "=" -f 2 kobalt/wrapper/kobalt-wrapper.properties) + if [ "$kw" = "$kVer" ] + then + echo -e " Kobalt $kw UP-TO-DATE" + else + echo "kobalt.version=$kVer" > kobalt/wrapper/kobalt-wrapper.properties + echo -e " Kobalt $kVer ${green}UPDATED${std}" + fi fi } -color=$(tput setaf 6) -normal=$(tput sgr0) +echo -e "Updating wrappers..." for d in "${dirs[@]}"; do if [ -d "$d" ]; then cd "$d" || exit 1 fi - echo -e "${color}${d}${normal}" + echo -e " ${cyan}${d}${std}" updateWrappers cd "$pwd" done