Updated shell scripts.

This commit is contained in:
Erik C. Thauvin 2019-04-05 21:59:43 -07:00
parent 730deed7c0
commit 9794fab00f
4 changed files with 212 additions and 63 deletions

View file

@ -1,17 +1,28 @@
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 <arg> [...]"
echo "Usage: $0 <arg ...>"
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

157
preflightcheck.sh Normal file
View file

@ -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: <example directory> <gradle args...>
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

View file

@ -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

View file

@ -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