Merge branch 'stable-3.1'

* stable-3.1:
  Rely on Checks plugin ONLY for build validations
  Do not use Jenkins pipeline default checkout
  Adapt Jenkinsfile to the new project name and build

Change-Id: I18d287b8279088d6d2493e2763245873ca68b6f6
diff --git a/Jenkinsfile b/Jenkinsfile
index ce0d9c3..5aa8082 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,34 +1,56 @@
 pipeline {
-    options { checkoutToSubdirectory('zookeeper') }
+    options { skipDefaultCheckout true }
     agent { label 'bazel-debian' }
     stages {
-        stage('GJF') {
+        stage('Checkout') {
             steps {
-                sh "find zookeeper -name '*.java' | xargs /home/jenkins/format/google-java-format-1.7 -i"
+                sh "git clone -b ${env.GERRIT_BRANCH} https://gerrit.googlesource.com/plugins/zookeeper-refdb"
+                sh "cd zookeeper-refdb && git fetch origin refs/changes/${BRANCH_NAME} && git merge FETCH_HEAD"
+            }
+        }
+        stage('Formatting') {
+            steps {
+                gerritCheck (checks: ['gerritforge:zookeeper-refdb-format-8b1e7fb8ce34448cc425': 'RUNNING'], url: "${env.BUILD_URL}console")
+                sh "find zookeeper-refdb -name '*.java' | xargs /home/jenkins/format/google-java-format-1.7 -i"
                 script {
-                    def formatOut = sh (script: 'cd zookeeper && git status --porcelain', returnStdout: true)
+                    def formatOut = sh (script: 'cd zookeeper-refdb && git status --porcelain', returnStdout: true)
                     if (formatOut.trim()) {
                         def files = formatOut.split('\n').collect { it.split(' ').last() }
                         files.each { gerritComment path:it, message: 'Needs reformatting with GJF' }
-                        gerritReview labels: [Formatting: -1]
+                        gerritCheck (checks: ['gerritforge:zookeeper-refdb-format-8b1e7fb8ce34448cc425': 'FAILED'], url: "${env.BUILD_URL}console")
                     } else {
-                        gerritReview labels: [Formatting: 1]
+                        gerritCheck (checks: ['gerritforge:zookeeper-refdb-format-8b1e7fb8ce34448cc425': 'SUCCESSFUL'], url: "${env.BUILD_URL}console")
                     }
                 }
             }
         }
         stage('build') {
+             environment {
+                 DOCKER_HOST = """${sh(
+                     returnStdout: true,
+                     script: "/sbin/ip route|awk '/default/ {print  \"tcp://\"\$3\":2375\"}'"
+                 )}"""
+            }
             steps {
-                gerritReview labels: [Verified: 0], message: "Build started: ${env.BUILD_URL}"
-                sh "git clone --recursive -b stable-3.1 https://gerrit.googlesource.com/gerrit"
-                sh 'cd gerrit/plugins && ln -sf ../../zookeeper . && ln -sf zookeeper/external_plugin_deps.bzl .'
-                sh 'cd gerrit && bazelisk build plugins/zookeeper && bazelisk test plugins/zookeeper:zookeeper_tests'
+                gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'RUNNING'], url: "${env.BUILD_URL}console")
+                sh 'git clone --recursive -b $GERRIT_BRANCH https://gerrit.googlesource.com/gerrit'
+                sh 'cd gerrit/plugins && ln -sf ../../zookeeper-refdb . && ln -sf zookeeper-refdb/external_plugin_deps.bzl .'
+                dir ('gerrit') {
+                    sh 'bazelisk build plugins/zookeeper-refdb'
+                    sh 'bazelisk test --test_env DOCKER_HOST=$DOCKER_HOST plugins/zookeeper-refdb:zookeeper-refdb_tests'
+                }
             }
         }
     }
     post {
-        success { gerritReview labels: [Verified: 1] }
-        unstable { gerritReview labels: [Verified: 0], message: "Build is unstable: ${env.BUILD_URL}" }
-        failure { gerritReview labels: [Verified: -1], message: "Build failed: ${env.BUILD_URL}" }
+        success {
+          gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'SUCCESSFUL'], url: "${env.BUILD_URL}console")
+        }
+        unstable {
+          gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'FAILED'], url: "${env.BUILD_URL}console")
+        }
+        failure {
+          gerritCheck (checks: ['gerritforge:zookeeper-refdb-8b1e7fb8ce34448cc425': 'FAILED'], url: "${env.BUILD_URL}console")
+        }
     }
 }