- job: name: odpi-bigtop-deb project-type: freestyle defaults: global logrotate: daysToKeep: 30 numToKeep: 30 artifactNumToKeep: 1 properties: - authorization: anonymous: - job-read - job-extended-read parameters: - string: name: ANT_OPTS default: '-Xmx8G -XX:MaxPermSize=1G' - string: name: MAVEN_OPTS default: '-Xmx8G -XX:MaxPermSize=1G' - string: name: JDK_URL default: 'http://openjdk.linaro.org/releases/jdk7-server-release-1511.tar.xz' - string: name: MAVEN_URL default: 'http://www.us.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz' - string: name: SCALA_URL default: 'http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz' - string: name: NODE_URL default: 'https://nodejs.org/dist/v4.2.1/node-v4.2.1.tar.gz' - string: name: PROTOBUF_URL default: 'https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz' disabled: false node: docker-jessie-arm64 display-name: 'ODPi BigTop (deb)' wrappers: - timestamps builders: - shell: | #!/bin/bash set -ex # number of CPU_CORES to build with export CPU_CORES=$(getconf _NPROCESSORS_ONLN) # install pre-requisites sudo apt-get update sudo apt-get install -y --no-install-recommends \ ant \ asciidoc \ chrpath \ cmake \ libcppunit-dev \ libfuse-dev \ libkrb5-dev \ libldap2-dev \ liblzo2-dev \ libmysqlclient-dev \ libsasl2-dev \ libsqlite3-dev \ libssl-dev \ libxml2-dev \ libxslt1-dev \ libzip-dev \ pkg-config \ python-dev \ python-setuptools \ rsync \ sharutils \ subversion \ xmlto # download OpenJDK 7 and Maven 3.0.5 explicitely wget --progress=dot -e dotbytes=2M ${JDK_URL} ${MAVEN_URL} ${SCALA_URL} ${NODE_URL} ${PROTOBUF_URL} tar -Jxf jdk*.tar.xz tar -zxf apache-maven-*.tar.gz tar -zxf scala-*.tgz tar -zxf node-*.tar.gz tar -zxf protobuf-*.tar.gz # replace cacerts with distro-supplied cd jdk*/jre/lib/security/ rm -f cacerts ln -s /etc/ssl/certs/java/cacerts # set JAVA_HOME cd ${WORKSPACE}/jdk* export JAVA_HOME=${PWD} # set M3_HOME cd ${WORKSPACE}/apache-maven-* export M3_HOME=${PWD} # hack to use archiva wget -q http://people.linaro.org/~fathi.boudra/settings.xml -O conf/settings.xml mkdir ~/.m2 cp -a conf/settings.xml ~/.m2/settings.xml # set SCALA_HOME cd ${WORKSPACE}/scala-* export SCALA_HOME=${PWD} # set PATH export PATH=${JAVA_HOME}/bin:${M3_HOME}/bin:${PATH} java -version mvn -version # build and hookup nodejs cd ${WORKSPACE}/node-* ./configure --prefix=${WORKSPACE}/node make -j${CPU_CORES} install export PATH=${WORKSPACE}/node/bin/:${PATH} # build and hookup protobuf compiler cd ${WORKSPACE}/protobuf-* ./configure --prefix=${WORKSPACE}/protobuf make -j${CPU_CORES} install export PATH=${WORKSPACE}/protobuf/bin:${PATH} export PKG_CONFIG_PATH=${WORKSPACE}/protobuf/lib/pkgconfig # clone the ODPi BigTop definitions git clone --depth 1 https://git.linaro.org/people/steve.capper/odpi-bigtop.git ${WORKSPACE}/odpi-bigtop cd ${WORKSPACE}/odpi-bigtop # okay everything is in place, this build will take a while ./gradlew deb publishers: - archive: artifacts: 'odpi-bigtop/output/**'