<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>Plugin metrics-reporter-jmx master branch Bazel build for Gerrit stable-3.1&lt;!-- Managed by Jenkins Job Builder --&gt;</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <jenkins.model.BuildDiscarderProperty>
      <strategy class="hudson.tasks.LogRotator">
        <daysToKeep>20</daysToKeep>
        <numToKeep>-1</numToKeep>
        <artifactDaysToKeep>20</artifactDaysToKeep>
        <artifactNumToKeep>-1</artifactNumToKeep>
      </strategy>
    </jenkins.model.BuildDiscarderProperty>
    <hudson.security.AuthorizationMatrixProperty>
      <inheritanceStrategy class="org.jenkinsci.plugins.matrixauth.inheritance.InheritParentStrategy"/>
      <permission>hudson.model.Item.Discover:anonymous</permission>
      <permission>hudson.model.Item.ExtendedRead:anonymous</permission>
      <permission>hudson.model.Item.Read:anonymous</permission>
    </hudson.security.AuthorizationMatrixProperty>
  </properties>
  <scm class="hudson.plugins.git.GitSCM" plugin="git@3.9.1">
    <configVersion>2</configVersion>
    <userRemoteConfigs>
      <hudson.plugins.git.UserRemoteConfig>
        <name>origin</name>
        <refspec>+refs/heads/*:refs/remotes/origin/*</refspec>
        <url>https://gerrit.googlesource.com/a/plugins/metrics-reporter-jmx</url>
        <credentialsId>gerrit.googlesource.com</credentialsId>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>*/master</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <gitTool>Default</gitTool>
    <submoduleCfg class="list"/>
    <extensions>
      <hudson.plugins.git.extensions.impl.WipeWorkspace/>
    </extensions>
  </scm>
  <assignedNode>bazel-debian</assignedNode>
  <canRoam>false</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers>
    <hudson.triggers.SCMTrigger>
      <spec>H/50 * * * *</spec>
      <ignorePostCommitHooks>false</ignorePostCommitHooks>
    </hudson.triggers.SCMTrigger>
  </triggers>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command>#!/bin/bash -e
echo &quot;machine gerrit.googlesource.com login $GS_GIT_USER password $GS_GIT_PASS&quot;&gt;&gt; ~/.netrc
chmod 600 ~/.netrc
</command>
    </hudson.tasks.Shell>
    <hudson.tasks.Shell>
      <command>#!/bin/bash -e

case &quot;master&quot; in
  stable-2.16|stable-3.1|stable-3.2)
    . set-java.sh 8
    ;;
  *)
    . set-java.sh 11
    ;;
esac

echo &quot;Building plugin metrics-reporter-jmx/master with Gerrit/stable-3.1&quot;

git remote show gerrit &gt; /dev/null 2&gt;&amp;1 || git remote add gerrit https://gerrit.googlesource.com/a/gerrit
git fetch gerrit stable-3.1
git checkout -fb stable-3.1 gerrit/stable-3.1
git submodule update --init
git read-tree -u --prefix=plugins/metrics-reporter-jmx origin/master
git fetch --tags origin

for file in external_plugin_deps.bzl package.json
do
  if [ -f plugins/metrics-reporter-jmx/$file ]
  then
    cp -f plugins/metrics-reporter-jmx/$file plugins/
  fi
done

TARGETS=$(echo &quot;plugins/{name}:{name}&quot; | sed -e &apos;s/{name}/metrics-reporter-jmx/g&apos;)
java -fullversion
bazelisk version
bazelisk build $BAZEL_OPTS $TARGETS

BAZEL_OPTS=&quot;$BAZEL_OPTS --flaky_test_attempts 3 \
                   --test_timeout 3600 \
                   --test_tag_filters=-flaky \
                   --test_env DOCKER_HOST=$DOCKER_HOST&quot;
bazelisk test $BAZEL_OPTS //tools/bzl:always_pass_test plugins/metrics-reporter-jmx/...

for JAR in $(find bazel-bin/plugins/metrics-reporter-jmx -maxdepth 1 -name metrics-reporter-jmx*.jar)
do
    PLUGIN_VERSION=$(git describe  --always origin/master)
    echo -e &quot;Implementation-Version: $PLUGIN_VERSION&quot; &gt; MANIFEST.MF
    jar ufm $JAR MANIFEST.MF &amp;&amp; rm MANIFEST.MF
    DEST_JAR=bazel-bin/plugins/metrics-reporter-jmx/$(basename $JAR)
    [ &quot;$JAR&quot; -ef &quot;$DEST_JAR&quot; ] || mv $JAR $DEST_JAR
    echo &quot;$PLUGIN_VERSION&quot; &gt; bazel-bin/plugins/metrics-reporter-jmx/$(basename $JAR-version)
done
</command>
    </hudson.tasks.Shell>
    <hudson.tasks.Shell>
      <command>#!/bin/bash -e

curl -L https://gerrit-review.googlesource.com/projects/plugins%2Fmetrics-reporter-jmx/config | \
     tail -n +2 &gt; bazel-bin/plugins/metrics-reporter-jmx/metrics-reporter-jmx.json

</command>
    </hudson.tasks.Shell>
  </builders>
  <publishers>
    <hudson.tasks.ArtifactArchiver>
      <artifacts>bazel-bin/plugins/metrics-reporter-jmx/metrics-reporter-jmx.jar, bazel-bin/plugins/metrics-reporter-jmx/metrics-reporter-jmx.jar-version, bazel-bin/plugins/metrics-reporter-jmx/metrics-reporter-jmx.json, 
</artifacts>
      <allowEmptyArchive>false</allowEmptyArchive>
      <onlyIfSuccessful>false</onlyIfSuccessful>
      <fingerprint>false</fingerprint>
      <defaultExcludes>true</defaultExcludes>
      <caseSensitive>true</caseSensitive>
    </hudson.tasks.ArtifactArchiver>
  </publishers>
  <buildWrappers>
    <hudson.plugins.build__timeout.BuildTimeoutWrapper plugin="build-timeout@1.19">
      <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
        <timeoutMinutes>60</timeoutMinutes>
      </strategy>
      <operationList>
        <hudson.plugins.build__timeout.operations.FailOperation/>
      </operationList>
    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
    <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.8.10"/>
    <org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper plugin="credentials-binding@1.18">
      <bindings>
        <org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding>
          <credentialsId>gerrit.googlesource.com</credentialsId>
          <usernameVariable>GS_GIT_USER</usernameVariable>
          <passwordVariable>GS_GIT_PASS</passwordVariable>
        </org.jenkinsci.plugins.credentialsbinding.impl.UsernamePasswordMultiBinding>
      </bindings>
    </org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper>
  </buildWrappers>
</project>