<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description></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.Read:anonymous</permission>
      <permission>hudson.model.Item.Read:authenticated</permission>
      <permission>hudson.model.Item.Read:ed@willink.me.uk</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>7</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>PUBLISH__ALIAS</name>
          <description>Non blank to use alias as part of final name</description>
          <defaultValue></defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__BUILD_T</name>
          <description>Build type N/I/S/R, blank suppresses promotion</description>
          <defaultValue>Z</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__QUALIFIER</name>
          <description>Version qualifier</description>
          <defaultValue>201710230831</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__URL</name>
          <description>The zip to be published</description>
          <defaultValue>https://hudson.eclipse.org/qvt-oml/job/qvto-photon-master/14/artifact/releng/org.eclipse.qvto.releng.build-site/target/org.eclipse.qvto-3.8.0.201710230831.zip</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__VERSION</name>
          <description>Unqualified version</description>
          <defaultValue>3.8.0</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__DOWNLOADS_SH</name>
          <description>Shell script to publish URL to downloads &apos;page&apos; on projects-storage.eclipse.org</description>
          <defaultValue>https://hudson.eclipse.org/qvt-oml/job/qvto-photon-master/14/artifact/releng/org.eclipse.qvto.releng.build-site/target/downloads.sh</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__UPDATES_SH</name>
          <description>Shell script to publish URL to updates repository on projects-storage.eclipse.org</description>
          <defaultValue>https://hudson.eclipse.org/qvt-oml/job/qvto-photon-master/14/artifact/releng/org.eclipse.qvto.releng.build-site/target/updates.sh</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__JAVADOC</name>
          <description>The optional Javadoc zip to be published</description>
          <defaultValue>https://hudson.eclipse.org/qvt-oml/job/qvto-photon-master/14/artifact/releng/org.eclipse.qvto.releng.build-site/javadoc/QVTo-javadoc.zip</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__PUBLISH_SH</name>
          <description>Local shell script to push files to projects-storage.eclipse.org before executing scripts thereon.</description>
          <defaultValue>https://hudson.eclipse.org/qvt-oml/job/qvto-photon-master/14/artifact/releng/org.eclipse.qvto.releng.build-site/target/publish.sh</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <jdk>oracle-jdk8-latest</jdk>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command># The master of this script is in /org.eclipse.qvto.releng.build-site/publisher.properties
rm -f publish.sh
curl -s ${PUBLISH__PUBLISH_SH} &gt; publish.sh
chmod +x publish.sh
bash -ex publish.sh
</command>
    </hudson.tasks.Shell>
  </builders>
  <publishers>
    <hudson.tasks.Mailer plugin="mailer@1.28">
      <recipients>ed@willink.me.uk serg.boyko2011@gmail.com</recipients>
      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
      <sendToIndividuals>false</sendToIndividuals>
    </hudson.tasks.Mailer>
  </publishers>
  <buildWrappers>
    <com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper plugin="ssh-agent@1.17">
      <credentialIds>
        <string>projects-storage.eclipse.org-bot-ssh</string>
      </credentialIds>
      <ignoreMissing>false</ignoreMissing>
    </com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper>
  </buildWrappers>
</project>