| #!/bin/bash |
| # Instructions: |
| # -Create an empty directory |
| # -Put a .txt file in it containing a list of all the urls of the zip files |
| # -Run this script |
| # TODO: enhance this script so it will stop when something is broken |
| |
| _execmustpass(){ |
| echo $@ |
| $@ |
| status=$? |
| if [ $status -eq 0 ] || [ $? -eq 0 ]; then |
| return; |
| fi |
| echo "Command $@ failed! [error $status] Exiting..." |
| exit 10 |
| } |
| |
| _execmayfail(){ |
| echo $@ |
| $@ |
| status=$? |
| if [ $status -eq 0 ] || [ $? -eq 0 ]; then |
| return; |
| fi |
| echo "Command $@ failed! [error $status] But continuing anyway..." |
| } |
| |
| _download(){ |
| for fil in `cat *.txt` |
| do |
| echo 'Downloading '$fil |
| _execmustpass $download_cmd $fil |
| _execmustpass $download_cmd $fil.asc |
| done |
| } |
| |
| _verify(){ |
| for zip in *.zip |
| do |
| echo 'Verifying '$zip |
| _execmustpass gpg --verify $zip.asc $zip |
| done |
| } |
| |
| _unpack(){ |
| echo 'Unpacking ' |
| set -f |
| _execmustpass unzip -q '*.zip' |
| set +f |
| } |
| |
| _fetch_dependencies(){ |
| _execmayfail mvn dependency:go-offline |
| } |
| |
| _build(){ |
| echo 'Removing Isis from local repo '$module |
| rm -rf ~/.m2/repository/org/apache/isis |
| for module in ./*/ |
| do |
| cd $module |
| grep -q "Isis Core" pom.xml |
| retcode=$? |
| if [ $retcode -eq 0 ] |
| then |
| echo 'Building Core '$module |
| _fetch_dependencies |
| _execmustpass mvn clean install -o |
| else |
| echo 'Building Module '$module |
| _execmustpass mvn clean install $offline |
| fi |
| cd .. |
| done |
| } |
| |
| if [[ $@ == *online* ]] |
| then |
| echo "Enabling online mode." |
| offline= |
| else |
| echo "Enabling offline mode. Use '$0 --online' to use online mode." |
| offline=-o |
| fi |
| |
| # check the environment |
| # Check for curl or wget |
| download_cmd= |
| curl --version > /dev/null 2>&1 |
| if [[ $? -eq 0 ]]; then |
| download_cmd=curl -L -O |
| fi |
| if [[ -z "$download_cmd" ]]; then |
| wget --version > /dev/null 2>&1 |
| if [[ $? -eq 0 ]]; then |
| download_cmd=wget |
| else |
| echo "No downloader found.. exitting.." |
| exit 11 |
| fi |
| fi |
| |
| # The work starts here |
| _download |
| _verify |
| _unpack |
| _build |
| |