SourceForge: epen/ePen: setup.sh@b3eea57dbc8c
setup.sh
author Aaron Digulla <digulla@hepe.com>
Sun Mar 20 19:55:22 2011 +0100 (14 months ago)
changeset 414 b3eea57dbc8c
parent 348 80e43684579c
child 419 f4f3fc480a0b
permissions -rwxr-xr-x
Disabled debug output again
     1 #!/bin/bash
     2 
     3 # Setup script for the ePen project
     4 # Needs:
     5 # - Java 1.5 or better
     6 # - Mercurial 1.3 or better
     7 
     8 mavenVersion="3.0.1"
     9 
    10 function installMaven() {
    11     local mavenArchive="apache-maven-${mavenVersion}-bin.tar.gz"
    12     
    13     if [[ ! -e ${mavenArchive} ]]; then
    14         wget -O maven.mirror.html http://www.apache.org/dyn/closer.cgi/maven/binaries/${mavenArchive} || {
    15             echo "Download failed. Please download"
    16             echo "${mavenArchive}"
    17             echo "from http://maven.apache.org/download.html"
    18             echo "and put it into $PWD"
    19             exit 1
    20         }
    21         
    22         local url=$(grep .tar.gz maven.mirror.html | head -1 | cut -d'"' -f2)
    23         echo "Downloading from ${url}"
    24         wget "${url}" || {
    25             echo "Download failed. Please download"
    26             echo "${mavenArchive}"
    27             echo "from http://maven.apache.org/download.html"
    28             echo "and put it into $PWD"
    29             exit 1
    30         }
    31     fi
    32     
    33     if [[ ! -d apache-maven-${mavenVersion} ]]; then
    34         tar xzf "${mavenArchive}"
    35     fi
    36 }
    37 
    38 function log() {
    39     echo "$*"
    40     "$@"
    41 }
    42 
    43 if [[ -d ../ePen ]]; then
    44     cd ..
    45 fi
    46 
    47 INI="./.epen.setup"
    48 if [[ -r "${INI}" ]]; then
    49     . "${INI}"
    50 fi
    51 
    52 if [[ -z "$JAVA_HOME" ]]; then
    53     echo "JAVA_HOME is not set."
    54     while true; do
    55         read -e -p "JAVA_HOME=" JAVA_HOME
    56         if [[ ! -e "${JAVA_HOME}" ]]; then
    57             echo "${JAVA_HOME} doesn't exist"
    58             continue
    59         fi
    60         if [[ ! -d "${JAVA_HOME}" ]]; then
    61             echo "${JAVA_HOME} isn't a directory"
    62             continue
    63         fi
    64         if [[ ! -e "${JAVA_HOME}/bin/java" ]]; then
    65             echo "${JAVA_HOME} doesn't exist"
    66             continue
    67         fi
    68         if [[ ! -x "${JAVA_HOME}/bin/java" ]]; then
    69             echo "${JAVA_HOME} isn't executable"
    70             continue
    71         fi
    72         break
    73     done
    74     echo "JAVA_HOME=${JAVA_HOME}" >> "${INI}"
    75 fi
    76 export JAVA_HOME
    77 echo "Using JAVA_HOME=${JAVA_HOME}"
    78 
    79 if [[ -z "${MVN}" ]]; then
    80     MVN=mvn
    81 fi
    82 test -x ${MVN} || which ${MVN} || {
    83     echo "Can't find Maven 2 in PATH."
    84     installMaven
    85     MVN="$PWD/apache-maven-${mavenVersion}/bin/mvn"
    86     echo "MVN=${MVN}" >> "${INI}"
    87 }
    88 echo "Using ${MVN}"
    89 
    90 for project in signal jazzy StyledText ePen ; do
    91     if [[ -d ${project} ]]; then
    92         echo "Updating ${project}..."
    93         ( cd ${project} && hg pull -u; ) || {
    94             echo "Updating ${project} failed"
    95             exit 1
    96         }
    97     else
    98         echo "Cloning project ${project}..."
    99         hg clone http://epen.hg.sourceforge.net:8000/hgroot/epen/${project} || {
   100             echo "Cloning of ${project} failed"
   101             exit 1
   102         }
   103     fi
   104 done
   105 
   106 for project in signal jazzy StyledText ePen ; do
   107     cd "$project"
   108     "${MVN}" clean install || {
   109 	echo "Building project $project with Maven 2 failed."
   110 	exit 1
   111     }
   112     cd ..
   113 done
   114 
   115 exit 1