<?xml version='1.0' encoding='UTF-8'?>
<?metadataRepository class='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'?>
<repository name='update site: file:/C:/1target/provmiddle/org.eclipse.equinox.p2.tests/testData/updatesite/site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
  <references size='4'>
    <repository url='http://download.eclipse.org/url/with/spaces/a b' type='0' options='0'/>
    <repository url='file:/c:/tmp/url with spaces/' type='1' options='0'/>
    <repository uri='http://download.eclipse.org/uri/with/spaces/a%20b' type='0' options='0'/>
    <repository uri='file:/c:/tmp/uri%20with%20spaces/' type='1' options='0'/>
  </references>
  <properties size='3'>
    <property name='p2.system' value='true'/>
    <property name='p2.timestamp' value='1221680367875'/>
    <property name='site.checksum' value='2404093275'/>
  </properties>
  <units size='5'>
    <unit id='test.feature.feature.jar' version='1.0.0'>
      <provides size='3'>
        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' version='1.0.0'/>
        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='feature' version='1.0.0'/>
        <provided namespace='org.eclipse.update.feature' name='test.feature' version='1.0.0'/>
      </provides>
      <filter>
        (org.eclipse.update.install.features=true)
      </filter>
      <artifacts size='1'>
        <artifact classifier='org.eclipse.update.feature' id='test.feature' version='1.0.0'/>
      </artifacts>
      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
      <touchpointData size='1'>
        <instructions size='1'>
          <instruction key='zipped'>
            true
          </instruction>
        </instructions>
      </touchpointData>
      <licenses size='1'>
        <license url='http://www.example.com/license'>
          [Enter License Description here.]
        </license>
      </licenses>
      <copyright url='http://www.example.com/copyright'>
        [Enter Copyright Description here.]
      </copyright>
    </unit>
    <unit id='test.bundle' version='1.0.0' singleton='false'>
      <update id='test.bundle' range='[0.0.0,1.0.0)' severity='0'/>
      <properties size='1'>
        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
      </properties>
      <provides size='3'>
        <provided namespace='org.eclipse.equinox.p2.iu' name='test.bundle' version='1.0.0'/>
        <provided namespace='osgi.bundle' name='test.bundle' version='1.0.0'/>
        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
      </provides>
      <artifacts size='1'>
        <artifact classifier='osgi.bundle' id='test.bundle' version='1.0.0'/>
      </artifacts>
      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
      <touchpointData size='1'>
        <instructions size='1'>
          <instruction key='manifest'>
          </instruction>
        </instructions>
      </touchpointData>
    </unit>
    <unit id='test.fragment' version='1.0.0' singleton='false'>
      <update id='test.fragment' range='[0.0.0,1.0.0)' severity='0'/>
      <properties size='1'>
        <property name='org.eclipse.equinox.p2.partial.iu' value='true'/>
      </properties>
      <provides size='3'>
        <provided namespace='org.eclipse.equinox.p2.iu' name='test.fragment' version='1.0.0'/>
        <provided namespace='osgi.bundle' name='test.fragment' version='1.0.0'/>
        <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
      </provides>
      <artifacts size='1'>
        <artifact classifier='osgi.bundle' id='test.fragment' version='1.0.0'/>
      </artifacts>
      <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
      <touchpointData size='1'>
        <instructions size='1'>
          <instruction key='manifest'>
          </instruction>
        </instructions>
      </touchpointData>
    </unit>
    <unit id='test.feature.feature.group' version='1.0.0' singleton='false'>
      <update id='test.feature.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
      <properties size='5'>
        <property name='org.eclipse.equinox.p2.name' value='%featurename'/>
        <property name='org.eclipse.equinox.p2.description' value='[Enter Feature Description here.]'/>
        <property name='org.eclipse.equinox.p2.description.url' value='http://www.example.com/description'/>
        <property name='org.eclipse.equinox.p2.type.group' value='true'/>
        <property name='df_LT.featurename' value='j the feature'/>
      </properties>
      <provides size='2'>
        <provided namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' version='1.0.0'/>
        <provided namespace='org.eclipse.equinox.p2.localization' name='df_LT' version='1.0.0'/>
      </provides>
      <requires size='3'>
        <required namespace='org.eclipse.equinox.p2.iu' name='test.bundle' range='[1.0.0,1.0.0]'/>
        <required namespace='org.eclipse.equinox.p2.iu' name='test.fragment' range='[1.0.0,1.0.0]'/>
        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.jar' range='[1.0.0,1.0.0]'>
          <filter>
            (org.eclipse.update.install.features=true)
          </filter>
        </required>
      </requires>
      <touchpoint id='null' version='0.0.0'/>
      <licenses size='1'>
        <license url='http://www.example.com/license'>
          [Enter License Description here.]
        </license>
      </licenses>
      <copyright url='http://www.example.com/copyright'>
        [Enter Copyright Description here.]
      </copyright>
    </unit>
    <unit id='Default' version='0.0.0'>
      <properties size='3'>
        <property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
        <property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
        <property name='org.eclipse.equinox.p2.type.category' value='true'/>
      </properties>
      <provides size='1'>
        <provided namespace='org.eclipse.equinox.p2.iu' name='Default' version='0.0.0'/>
      </provides>
      <requires size='1'>
        <required namespace='org.eclipse.equinox.p2.iu' name='test.feature.feature.group' range='[1.0.0,1.0.0]'/>
      </requires>
      <touchpoint id='null' version='0.0.0'/>
    </unit>
  </units>
</repository>
