<component-set>
  <components>
    <component>
      <role>org.eclipse.tycho.extras.docbundle.DocletArtifactsResolver</role>
      <role-hint>default</role-hint>
      <implementation>org.eclipse.tycho.extras.docbundle.DocletArtifactsResolver</implementation>
      <description></description>
      <isolated-realm>false</isolated-realm>
      <requirements>
        <requirement>
          <role>org.apache.maven.repository.RepositorySystem</role>
          <field-name>repositorySystem</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.resolver.ResolutionErrorHandler</role>
          <field-name>resolutionErrorHandler</field-name>
        </requirement>
        <requirement>
          <role>org.apache.maven.plugin.LegacySupport</role>
          <field-name>legacySupport</field-name>
        </requirement>
      </requirements>
    </component>
  </components>
</component-set>
