45 lines
1.9 KiB
Groovy
45 lines
1.9 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
stages {
|
|
stage('Build') {
|
|
steps {
|
|
withChecks(name: 'Test', includeStage: true) {
|
|
withGradle {
|
|
sh """
|
|
./gradlew clean test jacocoTestReport jacocoTestCoverageVerification --no-daemon
|
|
"""
|
|
}
|
|
recordCoverage(tools: [[parser: 'JACOCO', pattern: '**/build/reports/jacoco/test/jacoco*.xml']],
|
|
id: 'jacoco',
|
|
name: 'JaCoCo Coverage',
|
|
sourceCodeRetention: 'EVERY_BUILD',
|
|
qualityGates: [
|
|
[threshold: 40.0, metric: 'CLASS', baseline: 'PROJECT'],
|
|
[threshold: 40.0, metric: 'METHOD', baseline: 'PROJECT'],
|
|
[threshold: 40.0, metric: 'LINE', baseline: 'PROJECT'],
|
|
[threshold: 40.0, metric: 'BRANCH', baseline: 'PROJECT']])
|
|
junit testResults: '**/build/test-results/test/TEST-*.xml'
|
|
}
|
|
}
|
|
} // Test
|
|
|
|
stage('Reports') {
|
|
steps {
|
|
script {
|
|
// archiveArtifacts artifacts: '**/coverage-sources.zip', allowEmptyArchive: false, fingerprint: false, onlyIfSuccessful: false
|
|
publishHTML (target: [
|
|
allowMissing: true,
|
|
alwaysLinkToLastBuild: false,
|
|
keepAll: true,
|
|
reportDir: 'app/build/reports/jacoco/test/html',
|
|
reportFiles: 'index.html',
|
|
reportName: 'Coverage Report'
|
|
])
|
|
// def pmd = scanForIssues tool: [$class: 'Pmd'], pattern: 'lib/build/reports/pmd/*.xml'
|
|
// publishIssues issues: [pmd]
|
|
}
|
|
}
|
|
} // Reports
|
|
}
|
|
} |