AusweisApp2/resources/jenkins/dsl/Builds/Build_Linux.groovy

66 lines
1.2 KiB
Groovy

import common.Build
import static common.Constants.strip
def j = new Build
(
name: 'Linux',
libraries: 'Linux',
label: 'Linux',
xunit: true
).generate(this)
j.with
{
wrappers
{
environmentVariables
{
env("QT_PLUGIN_PATH", '$WORKSPACE/libs/build/dist/plugins')
}
}
steps
{
shell(strip('''\
cd build;
cmake ../source
-DCMAKE_PREFIX_PATH=${WORKSPACE}/libs/build/dist
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCOVERAGE=true
-DBUILD_SHARED_LIBS=on
-DSANITIZER=on
'''))
shell('''\
export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH
cd build; make ${MAKE_FLAGS}
'''.stripIndent().trim())
shell('''\
export QML2_IMPORT_PATH=$WORKSPACE/libs/build/dist/qml
export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH
export ASAN_OPTIONS=detect_leaks=0,new_delete_type_mismatch=0
cd build; ctest ${MAKE_FLAGS}
'''.stripIndent().trim())
shell('cd build; make gcovr')
shell('cd build; make cloc.report')
}
publishers
{
cobertura('build/gcovr.xml')
slocCount
{
pattern('build/cloc.xml')
encoding('UTF-8')
commentIsCode(false)
buildsInGraph(0)
ignoreBuildFailure(false)
}
}
}