blob: af350c970194f1795f62f3720fb157bce7bc4b54 [file] [log] [blame]
pipeline {
agent {
label 'migration'
}
options {
timestamps()
timeout(time: 60, unit: 'MINUTES')
}
stages {
stage('Checkout') {
steps {
checkout poll: false,
scm: [$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'CleanCheckout'],
],
submoduleCfg: [],
userRemoteConfigs: [[url: 'git://git.eclipse.org/gitroot/ease/org.eclipse.ease.modules.git']]
]
}
}
stage('Fetch Doclet') {
steps {
copyArtifacts filter: 'developers/org.eclipse.ease.helpgenerator/target/ease.module.doclet.jar', fingerprintArtifacts: true, projectName: 'ease.build.module.doclet', selector: lastSuccessful(), target: '.', flatten: true
}
}
stage('Build') {
steps {
withMaven(
jdk: 'openjdk-jdk15-latest',
maven: 'apache-maven-latest',
options: [artifactsPublisher(disabled: true), findbugsPublisher(), openTasksPublisher(disabled: true)])
{
sh 'mvn clean verify -P module-docs -P sign'
}
}
}
stage('Reporting') {
steps {
recordIssues aggregatingResults: true, tools: [mavenConsole(), cpd(), pmdParser(), checkStyle(), spotBugs(useRankAsPriority: true)]
publishCoverage adapters: [jacocoAdapter(path: 'releng/org.eclipse.ease.modules.releng.coverage/target/site/jacoco-aggregate/jacoco.xml')], sourceFileResolver: sourceFiles('STORE_LAST_BUILD')
}
}
}
post {
failure {
archiveArtifacts artifacts: '**', fingerprint: false
emailext body: "Build ${BUILD_URL} failed.", subject: "[EASE] ${JOB_NAME } failed", to: 'christian.pontesegger@web.de'
}
success {
archiveArtifacts artifacts: 'releng/org.eclipse.ease.modules.releng.p2/target/repository/', fingerprint: true
junit '**/target/surefire-reports/*.xml'
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'plugins/org.eclipse.ease.modules.help/help/api-docs/javadoc', reportFiles: 'index.html', reportName: 'JavaDoc', reportTitles: ''])
}
}
}