1#!groovy
2
3timestamps {
4  node('freebsd') {
5    // freebsd 10.3 + pkg install git openjdk cmake icu pkgconf swig30 python3 boost-libs gettext-tools qt5-buildtools qt5-network qt5-qmake
6    timeout(time: 30, unit: 'MINUTES') {
7      def wsdir = pwd()
8      stage('Checkout') {
9        step([$class: 'WsCleanup'])
10        checkout scm
11        sh 'git submodule update --init --recursive'
12      }
13      dir("$wsdir/build") {
14        stage('Build') {
15          sh "cmake $wsdir -DWANT_PERL=ON -DWANT_PYTHON=ON -DCMAKE_INSTALL_PREFIX=$wsdir/build/install-prefix"
16          sh 'make VERBOSE=1 all'
17        }
18        stage('Unit test') {
19          withEnv(['GTEST_OUTPUT=xml:unit-test.xml']) {
20            sh 'make unittest'
21          }
22        }
23        stage('Integration test') {
24          withEnv(['GTEST_OUTPUT=xml:integration-test.xml']) {
25            sh 'make install'
26            sh 'make inttest'
27          }
28        }
29        junit '**/*test.xml'
30      }
31    }
32  }
33}
34