<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>Promote the results of a build to the downloads and updates areas.</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.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>3</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__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/ocl/job/ocl-photon-master/55/artifact/releng/org.eclipse.ocl.releng.build-site/target/downloads.sh</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__QUALIFIER</name>
          <description>Version qualifier</description>
          <defaultValue>v20171030-1706</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/ocl/job/ocl-photon-master/55/artifact/releng/org.eclipse.ocl.releng.build-site/target/updates.sh</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/ocl/job/ocl-photon-master/55/artifact/releng/org.eclipse.ocl.releng.build-site/target/org.eclipse.ocl-6.4.0.v20171030-1706.zip</defaultValue>
          <trim>false</trim>
        </hudson.model.StringParameterDefinition>
        <hudson.model.StringParameterDefinition>
          <name>PUBLISH__VERSION</name>
          <description>Unqualified version</description>
          <defaultValue>6.4.0</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/ocl/job/ocl-photon-master/55/artifact/releng/org.eclipse.ocl.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 for this script is commented in /org.eclipse.qvtd.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</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>