<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>&lt;p&gt;Branch development stream: Eclipse QVTd build using Tycho to build.&lt;/p&gt;</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <inheritanceStrategy class="org.jenkinsci.plugins.matrixauth.inheritance.InheritParentStrategy"/>
      <permission>hudson.model.Item.Build:ed@willink.me.uk</permission>
      <permission>hudson.model.Item.Configure:ed@willink.me.uk</permission>
      <permission>hudson.model.Item.Delete:ed@willink.me.uk</permission>
      <permission>hudson.model.Item.ExtendedRead:anonymous</permission>
      <permission>hudson.model.Item.ExtendedRead:authenticated</permission>
      <permission>hudson.model.Item.ExtendedRead:ed@willink.me.uk</permission>
      <permission>hudson.model.Item.Read:anonymous</permission>
      <permission>hudson.model.Item.Read:ed@willink.me.uk</permission>
      <permission>hudson.model.Item.Workspace:anonymous</permission>
      <permission>hudson.model.Item.Workspace:ed@willink.me.uk</permission>
      <permission>hudson.model.Run.Delete:ed@willink.me.uk</permission>
      <permission>hudson.model.Run.Update:ed@willink.me.uk</permission>
    </hudson.security.AuthorizationMatrixProperty>
    <jenkins.model.BuildDiscarderProperty>
      <strategy class="hudson.tasks.LogRotator">
        <daysToKeep>5</daysToKeep>
        <numToKeep>5</numToKeep>
        <artifactDaysToKeep>-1</artifactDaysToKeep>
        <artifactNumToKeep>-1</artifactNumToKeep>
      </strategy>
    </jenkins.model.BuildDiscarderProperty>
    <com.sonyericsson.rebuild.RebuildSettings plugin="rebuild@1.31">
      <autoRebuild>false</autoRebuild>
      <rebuildDisabled>false</rebuildDisabled>
    </com.sonyericsson.rebuild.RebuildSettings>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
          <name>BRANCH_NAME</name>
          <description>Specify a bug branch name for example: (origin/bug/353403)</description>
          <defaultValue>origin/master</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.ChoiceParameterDefinition>
          <name>BUILD_TYPE</name>
          <description>&lt;ul&gt;
&lt;li&gt; N - Nightly build
&lt;li&gt; I - Interim / Integration build
&lt;li&gt; S - Stable build
&lt;li&gt; U - Unstable build (latest OCL branch test)
&lt;/ul&gt;</description>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string>nightly</string>
              <string>interim</string>
              <string>stable</string>
              <string>unstable</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
        <hudson.model.ChoiceParameterDefinition>
          <name>JAVADOC</name>
          <description>Whether to generate Javadoc.
(Javadoc is only promoted from the master build.)</description>
          <choices class="java.util.Arrays$ArrayList">
            <a class="string-array">
              <string></string>
              <string>-Pjavadoc</string>
            </a>
          </choices>
        </hudson.model.ChoiceParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm class="hudson.plugins.git.GitSCM" plugin="git@3.12.1">
    <configVersion>2</configVersion>
    <userRemoteConfigs>
      <hudson.plugins.git.UserRemoteConfig>
        <name>origin</name>
        <refspec>+refs/heads/*:refs/remotes/origin/*</refspec>
        <url>git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git</url>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>${BRANCH_NAME}</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <submoduleCfg class="list"/>
    <extensions/>
  </scm>
  <assignedNode>migration</assignedNode>
  <canRoam>false</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <jdk>openjdk-jdk11-latest</jdk>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Maven>
      <targets>--show-version clean verify -P$BUILD_TYPE $JAVADOC</targets>
      <mavenName>apache-maven-3.5.4</mavenName>
      <pom>releng/org.eclipse.qvtd.releng.tycho/pom.xml</pom>
      <properties>BUILD_TYPE=$BUILD_TYPE</properties>
      <usePrivateRepository>true</usePrivateRepository>
      <settings class="jenkins.mvn.DefaultSettingsProvider"/>
      <globalSettings class="jenkins.mvn.DefaultGlobalSettingsProvider"/>
      <injectBuildVariables>true</injectBuildVariables>
    </hudson.tasks.Maven>
  </builders>
  <publishers>
    <hudson.tasks.Mailer plugin="mailer@1.27">
      <recipients>ed@willink.me.uk</recipients>
      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
      <sendToIndividuals>false</sendToIndividuals>
    </hudson.tasks.Mailer>
    <hudson.tasks.junit.JUnitResultArchiver plugin="junit@1.28">
      <testResults>tests/*.test*/target/surefire-reports/*.xml,tests/*.test*/target/surefire-reports/*/*.xml</testResults>
      <keepLongStdio>false</keepLongStdio>
      <healthScaleFactor>1.0</healthScaleFactor>
      <allowEmptyResults>false</allowEmptyResults>
    </hudson.tasks.junit.JUnitResultArchiver>
    <hudson.tasks.ArtifactArchiver>
      <artifacts>releng/org.eclipse.qvtd.releng.build-site/target/*.zip,releng/org.eclipse.qvtd.releng.build-site/target/*.properties,releng/org.eclipse.qvtd.releng.build-site/target/*.sh</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.xvnc.Xvnc plugin="xvnc@1.24">
      <takeScreenshot>false</takeScreenshot>
      <useXauthority>true</useXauthority>
    </hudson.plugins.xvnc.Xvnc>
  </buildWrappers>
</project>