<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description></description>
  <logRotator>
    <daysToKeep>-1</daysToKeep>
    <numToKeep>10</numToKeep>
    <artifactDaysToKeep>-1</artifactDaysToKeep>
    <artifactNumToKeep>-1</artifactNumToKeep>
  </logRotator>
  <project-properties class="java.util.concurrent.ConcurrentHashMap">
    <entry>
      <string>hudson-plugins-dry-DryPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-plugins-checkstyle-CheckStylePublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>blockBuildWhenDownstreamBuilding</string>
      <boolean-property>
        <originalValue class="boolean">false</originalValue>
        <propertyOverridden>false</propertyOverridden>
      </boolean-property>
    </entry>
    <entry>
      <string>hudson-plugins-disk_usage-DiskUsageProperty</string>
      <base-property>
        <originalValue class="hudson.plugins.disk_usage.DiskUsageProperty"/>
        <propertyOverridden>false</propertyOverridden>
      </base-property>
    </entry>
    <entry>
      <string>org-hudsonci-plugins-snapshotmonitor-SnapshotTrigger</string>
      <trigger-property>
        <propertyOverridden>false</propertyOverridden>
      </trigger-property>
    </entry>
    <entry>
      <string>org-hudsonci-plugins-snapshotmonitor-WatchedDependenciesProperty</string>
      <base-property>
        <propertyOverridden>false</propertyOverridden>
      </base-property>
    </entry>
    <entry>
      <string>hudson-plugins-buckminster-targetPlatform-TargetPlatformPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>logRotator</string>
      <log-rotator-property>
        <originalValue class="hudson.tasks.LogRotator">
          <daysToKeep>30</daysToKeep>
          <numToKeep>10</numToKeep>
          <artifactDaysToKeep>-1</artifactDaysToKeep>
          <artifactNumToKeep>-1</artifactNumToKeep>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
      </log-rotator-property>
    </entry>
    <entry>
      <string>blockBuildWhenUpstreamBuilding</string>
      <boolean-property>
        <originalValue class="boolean">false</originalValue>
        <propertyOverridden>false</propertyOverridden>
      </boolean-property>
    </entry>
    <entry>
      <string>scmCheckoutRetryCount</string>
      <integer-property>
        <propertyOverridden>false</propertyOverridden>
      </integer-property>
    </entry>
    <entry>
      <string>org-hudsonci-maven-plugin-dependencymonitor-DependencyNotifier</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-plugins-git-GitPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-plugins-xvnc-Xvnc</string>
      <external-property>
        <originalValue class="hudson.plugins.xvnc.Xvnc">
          <takeScreenshot>false</takeScreenshot>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
        <modified>true</modified>
      </external-property>
    </entry>
    <entry>
      <string>org-hudsonci-maven-plugin-artifactrecorder-ArtifactArchiver</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-tasks-Mailer</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>cleanWorkspaceRequired</string>
      <boolean-property>
        <originalValue class="boolean">false</originalValue>
        <propertyOverridden>false</propertyOverridden>
      </boolean-property>
    </entry>
    <entry>
      <string>hudson-tasks-test-AggregatedTestResultPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-tasks-junit-JUnitResultArchiver</string>
      <external-property>
        <originalValue class="hudson.tasks.junit.JUnitResultArchiver">
          <testResults>result/testReport*.xml</testResults>
          <keepLongStdio>false</keepLongStdio>
          <testDataPublishers/>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-plugins-locksandlatches-LockWrapper</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-tasks-Fingerprinter</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-plugins-sonar-SonarPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>parametersDefinitionProperties</string>
      <copy-write-list-property>
        <originalValue class="hudson.util.CopyOnWriteList"/>
        <propertyOverridden>false</propertyOverridden>
      </copy-write-list-property>
    </entry>
    <entry>
      <string>hudson-tasks-JavadocArchiver</string>
      <external-property>
        <originalValue class="hudson.tasks.JavadocArchiver">
          <javadocDir>../javadoc</javadocDir>
          <keepAll>false</keepAll>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-plugins-build_timeout-BuildTimeoutWrapper</string>
      <external-property>
        <originalValue class="hudson.plugins.build_timeout.BuildTimeoutWrapper">
          <timeoutMinutes>130</timeoutMinutes>
          <failBuild>true</failBuild>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
        <modified>true</modified>
      </external-property>
    </entry>
    <entry>
      <string>customWorkspace</string>
      <string-property>
        <propertyOverridden>false</propertyOverridden>
      </string-property>
    </entry>
    <entry>
      <string>hudson-plugins-emailext-ExtendedEmailPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>quietPeriod</string>
      <integer-property>
        <propertyOverridden>false</propertyOverridden>
      </integer-property>
    </entry>
    <entry>
      <string>hudson-tasks-BuildTrigger</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-triggers-SCMTrigger</string>
      <trigger-property>
        <propertyOverridden>false</propertyOverridden>
      </trigger-property>
    </entry>
    <entry>
      <string>builders</string>
      <describable-list-property>
        <originalValue class="hudson.util.DescribableList">
          <hudson.tasks.Ant>
            <targets>all</targets>
            <antName>(Default)</antName>
            <buildFile>svn/svn_eclipse/releng/org.eclipse.egf.releng2/jobs/buckminster-egf-kepler/releng/build.xml</buildFile>
          </hudson.tasks.Ant>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
      </describable-list-property>
    </entry>
    <entry>
      <string>com-redfin-hudson-UrlChangeTrigger</string>
      <trigger-property>
        <propertyOverridden>false</propertyOverridden>
      </trigger-property>
    </entry>
    <entry>
      <string>jdk</string>
      <string-property>
        <originalValue class="string">Java 6 R 21 32bit (SUN)</originalValue>
        <propertyOverridden>false</propertyOverridden>
      </string-property>
    </entry>
    <entry>
      <string>appointedNode</string>
      <base-property>
        <originalValue class="appointed-node-property">
          <nodeName>(hudson-slave1||hudson-slave2)</nodeName>
          <advancedAffinityChooser>false</advancedAffinityChooser>
          <canRoam>false</canRoam>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
      </base-property>
    </entry>
    <entry>
      <string>concurrentBuild</string>
      <boolean-property>
        <originalValue class="boolean">false</originalValue>
        <propertyOverridden>false</propertyOverridden>
      </boolean-property>
    </entry>
    <entry>
      <string>hudson-tasks-ArtifactArchiver</string>
      <external-property>
        <originalValue class="hudson.tasks.ArtifactArchiver">
          <artifacts>result/publish/**</artifacts>
          <compressionType>GZIP</compressionType>
          <latestOnly>false</latestOnly>
          <autoValidateFileMask>false</autoValidateFileMask>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>org-hudsonci-maven-plugin-dependencymonitor-DependencyTrigger</string>
      <trigger-property>
        <propertyOverridden>false</propertyOverridden>
      </trigger-property>
    </entry>
    <entry>
      <string>hudson-plugins-parameterizedtrigger-BuildTrigger</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>scm</string>
      <scm-property>
        <originalValue class="hudson.scm.SubversionSCM">
          <locations>
            <hudson.scm.SubversionSCM_-ModuleLocation>
              <remote>http://dev.eclipse.org/svnroot/modeling/org.eclipse.emf.egf/trunk</remote>
              <local>svn/svn_eclipse</local>
              <depthOption>infinity</depthOption>
              <ignoreExternalsOption>false</ignoreExternalsOption>
            </hudson.scm.SubversionSCM_-ModuleLocation>
          </locations>
          <excludedRegions></excludedRegions>
          <includedRegions></includedRegions>
          <excludedUsers></excludedUsers>
          <excludedRevprop></excludedRevprop>
          <excludedCommitMessages></excludedCommitMessages>
          <workspaceUpdater class="hudson.scm.subversion.UpdateWithRevertUpdater"/>
        </originalValue>
        <propertyOverridden>false</propertyOverridden>
      </scm-property>
    </entry>
    <entry>
      <string>hudson-plugins-findbugs-FindBugsPublisher</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
    <entry>
      <string>hudson-triggers-TimerTrigger</string>
      <trigger-property>
        <propertyOverridden>false</propertyOverridden>
      </trigger-property>
    </entry>
    <entry>
      <string>org-hudsonci-maven-plugin-artifactrecorder-ArtifactFingerprinter</string>
      <external-property>
        <propertyOverridden>false</propertyOverridden>
        <modified>false</modified>
      </external-property>
    </entry>
  </project-properties>
  <keepDependencies>false</keepDependencies>
  <createdBy>mward</createdBy>
  <creationTime>1395078728086</creationTime>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <permission>hudson.model.Item.Configure:tguiu</permission>
      <permission>hudson.model.Item.Configure:langlois</permission>
      <permission>hudson.model.Item.Configure:mhelleboid</permission>
      <permission>hudson.model.Run.Update:tguiu</permission>
      <permission>hudson.model.Run.Update:langlois</permission>
      <permission>hudson.model.Run.Update:mhelleboid</permission>
      <permission>hudson.model.Item.Read:tguiu</permission>
      <permission>hudson.model.Item.Read:langlois</permission>
      <permission>hudson.model.Item.Read:mhelleboid</permission>
      <permission>hudson.model.Run.Delete:tguiu</permission>
      <permission>hudson.model.Run.Delete:langlois</permission>
      <permission>hudson.model.Run.Delete:mhelleboid</permission>
      <permission>hudson.model.Item.Workspace:tguiu</permission>
      <permission>hudson.model.Item.Workspace:langlois</permission>
      <permission>hudson.model.Item.Workspace:mhelleboid</permission>
      <permission>hudson.model.Item.Build:tguiu</permission>
      <permission>hudson.model.Item.Build:langlois</permission>
      <permission>hudson.model.Item.Build:mhelleboid</permission>
    </hudson.security.AuthorizationMatrixProperty>
  </properties>
  <cascadingChildrenNames class="java.util.concurrent.CopyOnWriteArraySet"/>
  <cascading-job-properties class="java.util.concurrent.CopyOnWriteArraySet">
    <string>org-hudsonci-plugins-snapshotmonitor-WatchedDependenciesProperty</string>
    <string>hudson-plugins-disk_usage-DiskUsageProperty</string>
  </cascading-job-properties>
  <scm class="hudson.scm.SubversionSCM">
    <locations>
      <hudson.scm.SubversionSCM_-ModuleLocation>
        <remote>http://dev.eclipse.org/svnroot/modeling/org.eclipse.emf.egf/trunk</remote>
        <local>svn/svn_eclipse</local>
        <ignoreExternalsOption>false</ignoreExternalsOption>
      </hudson.scm.SubversionSCM_-ModuleLocation>
    </locations>
    <excludedRegions></excludedRegions>
    <includedRegions></includedRegions>
    <excludedUsers></excludedUsers>
    <excludedRevprop></excludedRevprop>
    <excludedCommitMessages></excludedCommitMessages>
    <useUpdate>true</useUpdate>
    <doRevert>true</doRevert>
  </scm>
  <canRoam>false</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <concurrentBuild>false</concurrentBuild>
  <cleanWorkspaceRequired>false</cleanWorkspaceRequired>
  <builders>
    <hudson.tasks.Ant>
      <targets>all</targets>
      <buildFile>svn/svn_eclipse/releng/org.eclipse.egf.releng2/jobs/buckminster-egf-kepler/releng/build.xml</buildFile>
    </hudson.tasks.Ant>
  </builders>
</project>
