Skip to content
Snippets Groups Projects
setup.sh 1.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/bash
    
    set -ex
    
    DOWNLOADS=${DOWNLOADS:-${HOME}/Downloads}
    mkdir -p ${DOWNLOADS}
    
    TARGET=target
    PACKAGELIB=${TARGET}/lib
    
    
    THRIFT_VERSION=0.7.0
    THRIFT_PKG=thrift-${THRIFT_VERSION}.tar.gz
    THRIFT_PKG_HOST=http://apache.osuosl.org/thrift/${THRIFT_VERSION}
    
    if [ ! -d thrift ]; then
        if [ ! -f ${DOWNLOADS}/${THRIFT_PKG} ]; then
            if [ -e /usr/bin/curl ]; then
    	    curl ${THRIFT_PKG_HOST}/${THRIFT_PKG} -o ${DOWNLOADS}/${THRIFT_PKG}
            else
                wget -nc http://download.nextag.com/apache/thrift/${THRIFT_VERSION}/${THRIFT_PKG}
                mv ${THRIFT_PKG} ${DOWNLOADS}/.
            fi
        fi
        rm -rf thrift-${THRIFT_VERSION}
        tar -z -x -f ${DOWNLOADS}/${THRIFT_PKG}
        mv thrift-${THRIFT_VERSION} thrift
    fi
    
    
    if [ ! -f ${PACKAGELIB}/libthrift-${THRIFT_VERSION}.jar -o ! -f thrift/compiler/cpp/thrift ]; then
    
      (
          cd thrift
          chmod +x ./configure 
          ./configure --with-cpp=no --with-erlang=no --with-perl=no --with-php=no --with-php_extension=no --with-ruby=no --with-haskell=no 
          ARCHFLAGS="-arch i386 -arch x86_64" make -j4 all 
          cd lib/java 
          ant
      )
    
      mkdir -p ${PACKAGELIB}
      cp thrift/lib/java/build/libthrift-${THRIFT_VERSION}.jar ${PACKAGELIB}
    
    ./thrift/compiler/cpp/thrift --gen py --gen java -o ${TARGET} src/main/thrift/packetstreamer.thrift