<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description>GitBlit plugin Bazel build for Gerrit stable-2.15&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>
    <jenkins.plugins.logstash.LogstashJobProperty plugin="logstash@2.0.0"/>
  </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/plugins/gitblit</url>
      </hudson.plugins.git.UserRemoteConfig>
      <hudson.plugins.git.UserRemoteConfig>
        <name>gitblit</name>
        <refspec>+refs/heads/*:refs/remotes/gitblit/*</refspec>
        <url>https://gerrit.googlesource.com/gitblit</url>
      </hudson.plugins.git.UserRemoteConfig>
      <hudson.plugins.git.UserRemoteConfig>
        <name>gerrit</name>
        <refspec>+refs/heads/*:refs/remotes/gerrit/*</refspec>
        <url>https://gerrit.googlesource.com/gerrit</url>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>origin/stable-2.15</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <gitTool>Default</gitTool>
    <submoduleCfg class="list"/>
    <extensions>
      <hudson.plugins.git.extensions.impl.SubmoduleOption>
        <disableSubmodules>false</disableSubmodules>
        <recursiveSubmodules>true</recursiveSubmodules>
        <trackingSubmodules>false</trackingSubmodules>
        <reference></reference>
        <parentCredentials>false</parentCredentials>
        <timeout>10</timeout>
      </hudson.plugins.git.extensions.impl.SubmoduleOption>
      <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 -ex

git checkout origin/stable-2.15

GITBLIT_LINE=$(grep com.gitblit external_plugin_deps.bzl)
if expr &quot;$GITBLIT_LINE&quot; : &apos;.*[0-9\.]*-SNAPSHOT.*&apos;
then
  GITBLIT_REF=refs/heads/master
else
  GITBLIT_REF=refs/tags/v$(expr &quot;$GITBLIT_LINE&quot; : &apos;[^:]*:[^:]*:\([0-9\.]*\)&apos;)
fi

git fetch gitblit $GITBLIT_REF &amp;&amp; git checkout FETCH_HEAD
ant -DresourceFolderPrefix=static installMaven
</command>
    </hudson.tasks.Shell>
    <hudson.tasks.Shell>
      <command>#!/bin/bash -e

git checkout -fb stable-2.15 gerrit/stable-2.15
git submodule update --init
rm -rf plugins/gitblit
git read-tree -u --prefix=plugins/gitblit origin/stable-2.15

if [ -f plugins/gitblit/external_plugin_deps.bzl ]
then
  cp -f plugins/gitblit/external_plugin_deps.bzl plugins/
fi

TARGETS=$(echo &quot;plugins/gitblit&quot; | sed -e &apos;s/{name}/gitblit/g&apos;)
TEST_TARGET=$(grep -2 junit_tests plugins/gitblit/BUILD | grep -o &apos;name = &quot;[^&quot;]*&quot;&apos; | cut -d &apos;&quot;&apos; -f 2)

. set-java.sh 8

java -fullversion
bazelisk version
bazelisk build --spawn_strategy=standalone --genrule_strategy=standalone $TARGETS

if [ &quot;$TEST_TARGET&quot; != &quot;&quot; ]
then
    bazelisk test --test_env DOCKER_HOST=$DOCKER_HOST plugins/gitblit:$TEST_TARGET
fi

for JAR in $(find bazel-bin/plugins/gitblit -name gitblit*.jar)
do
    PLUGIN_VERSION=$(git describe  --always origin/stable-2.15)
    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/gitblit/$(basename $JAR)
    [ &quot;$JAR&quot; -ef &quot;$DEST_JAR&quot; ] || mv $JAR $DEST_JAR
    echo &quot;$PLUGIN_VERSION&quot; &gt; bazel-bin/plugins/gitblit/$(basename $JAR-version)
done
</command>
    </hudson.tasks.Shell>
    <hudson.tasks.Shell>
      <command>#!/bin/bash -e

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

</command>
    </hudson.tasks.Shell>
  </builders>
  <publishers>
    <hudson.tasks.ArtifactArchiver>
      <artifacts>bazel-bin/plugins/gitblit/*gitblit*.jar*, bazel-bin/plugins/gitblit/*gitblit*.json
</artifacts>
      <latestOnly>false</latestOnly>
      <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>30</timeoutMinutes>
      </strategy>
      <operationList>
        <hudson.plugins.build__timeout.operations.FailOperation/>
      </operationList>
    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
    <hudson.plugins.timestamper.TimestamperBuildWrapper plugin="timestamper@1.8.10"/>
  </buildWrappers>
</project>