Bug 574667 - Use Jenkins multibranch pipeline based on
Jenkinsfile+Gerrit

Change-Id: I4c4f968872e6bf28db5bd29060ba5b6acbec79b6
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.runtime/+/182799
Tested-by: Mickael Istria <mistria@redhat.com>
Reviewed-by: Mickael Istria <mistria@redhat.com>
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..e3cd883
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,70 @@
+pipeline {
+	options {
+		timeout(time: 40, unit: 'MINUTES')
+		buildDiscarder(logRotator(numToKeepStr:'5'))
+	}
+	agent {
+		label "centos-latest"
+	}
+	tools {
+		maven 'apache-maven-latest'
+		jdk 'openjdk-jdk11-latest'
+	}
+	stages {
+		stage('initialize Gerrit review') {
+			steps {
+				gerritReview labels: [Verified: 0], message: "Build started $BUILD_URL"
+			}
+		}
+		stage('Build') {
+			steps {
+				wrap([$class: 'Xvnc', useXauthority: true]) {
+					sh """
+					mvn clean verify --batch-mode --fail-at-end -Dmaven.repo.local=$WORKSPACE/.m2/repository \
+						-Pbuild-individual-bundles -Pbree-libs -Papi-check \
+						-DskipTests=false -Dcompare-version-with-baselines.skip=false \
+						-Dmaven.test.error.ignore=true -Dmaven.test.failure.ignore=true \
+						-Dmaven.compiler.failOnWarning=true -Dproject.build.sourceEncoding=UTF-8 
+					"""
+				}
+			}
+			post {
+				always {
+					archiveArtifacts artifacts: '*.log,*/target/work/data/.metadata/*.log,*/tests/target/work/data/.metadata/*.log,apiAnalyzer-workspace/.metadata/*.log', allowEmptyArchive: true
+					junit '**/target/surefire-reports/TEST-*.xml'
+					publishIssues issues:[scanForIssues(tool: java()), scanForIssues(tool: mavenConsole())]
+				}
+				unstable {
+					gerritReview labels: [Verified: -1], message: "Build UNSTABLE (test failures) $BUILD_URL"
+				}
+				failure {
+					gerritReview labels: [Verified: -1], message: "Build FAILED $BUILD_URL"
+				}
+			}
+		}
+		stage('Check freeze period') {
+			when {
+				not {
+					branch 'master'
+				}
+			}
+			steps {
+				sh "wget https://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/plain/scripts/verifyFreezePeriod.sh"
+				sh "chmod +x verifyFreezePeriod.sh"
+				withCredentials([string(credentialsId: 'google-api-key', variable: 'GOOGLE_API_KEY')]) {
+					sh './verifyFreezePeriod.sh'
+				}
+			}
+			post {
+				failure {
+					gerritReview labels: [Verified: -1], message: "Build and test are OK, but Eclipse project is currently in a code freeze period.\nPlease wait for end of code freeze period before merging.\n $BUILD_URL"
+				}
+			}
+		}
+	}
+	post {
+		success {
+			gerritReview labels: [Verified: 1], message: "Build Succcess $BUILD_URL"
+		}
+	}
+}