<component-set>
  <components>
    <component>
      <role>de.saumya.mojo.ruby.gems.GemManager</role>
      <implementation>
	de.saumya.mojo.ruby.gems.DefaultGemManager
      </implementation>
      <requirements>
	<requirement>
	  <role>org.apache.maven.repository.RepositorySystem</role>
	  <role-hint>default</role-hint>
	  <field-name>repositorySystem</field-name>
	</requirement>
	<requirement>
	  <role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
	  <role-hint>default</role-hint>
	  <field-name>repositoryMetadataManager</field-name>
	</requirement>
	<requirement>
	  <role>org.apache.maven.project.ProjectBuilder</role>
	  <role-hint>default</role-hint>
	  <field-name>builder</field-name>
	</requirement>
      </requirements>
    </component>
    <component>
      <role>de.saumya.mojo.ruby.rails.RailsManager</role>
      <implementation>
	de.saumya.mojo.ruby.rails.DefaultRailsManager
      </implementation>
      <requirements>
	<requirement>
	  <role>org.apache.maven.repository.RepositorySystem</role>
	  <role-hint>default</role-hint>
	  <field-name>repositorySystem</field-name>
	</requirement>
	<requirement>
	  <role>org.apache.maven.project.ProjectBuilder</role>
	  <role-hint>default</role-hint>
	  <field-name>builder</field-name>
	</requirement>
	<requirement>  
	  <role>org.codehaus.plexus.velocity.VelocityComponent</role>
	  <role-hint>default</role-hint>
	  <field-name>velocityComponent</field-name>
	</requirement>
	<requirement>  
	  <role>org.codehaus.plexus.logging.Logger</role>
	  <role-hint>default</role-hint>
	  <field-name>logger</field-name>
	</requirement>
      </requirements>
    </component>
    <component>
      <role>de.saumya.mojo.gems.MavenArtifactConverter</role>
      <implementation>
	de.saumya.mojo.gems.DefaultMavenArtifactConverter
      </implementation>
      <requirements>
	<requirement>
	  <role>org.codehaus.plexus.velocity.VelocityComponent</role>

	  <role-hint>default</role-hint>
	  <field-name>velocityComponent</field-name>
	</requirement>
	<requirement>
	  <role>de.saumya.mojo.gems.gem.GemPackager</role>
	  <role-hint>default</role-hint>
	  <field-name>gemPackager</field-name>
	</requirement>
	<requirement>
	  <role>de.saumya.mojo.gems.spec.GemSpecificationIO</role>
	  <role-hint>yaml</role-hint>
	  <field-name>gemSpecificationIO</field-name>
	</requirement>
      </requirements>
    </component>
    <component>
      <role>de.saumya.mojo.gems.spec.GemSpecificationIO</role>
      <role-hint>yaml</role-hint>
      <implementation>
	de.saumya.mojo.gems.spec.yaml.YamlGemSpecificationIO
      </implementation>
    </component>
    <component>
      <role>de.saumya.mojo.gems.gem.GemPackager</role>
      <implementation>
	de.saumya.mojo.gems.gem.DefaultGemPackager
      </implementation>
      <requirements>
	<requirement>
	  <role>de.saumya.mojo.gems.spec.GemSpecificationIO</role>
	  <role-hint>yaml</role-hint>
	  <field-name>gemSpecificationIO</field-name>
	</requirement>
      </requirements>
    </component>
    <component>
      <role>org.codehaus.plexus.velocity.VelocityComponent</role>
      <implementation>
	org.codehaus.plexus.velocity.DefaultVelocityComponent
      </implementation>
      <configuration>
	<properties>
	  <property>
	    <name>runtime.log.logsystem.class</name>
	    <value>org.codehaus.plexus.velocity.Log4JLoggingSystem</value>
	  </property>
	  <property>
	    <name>runtime.log.logsystem.log4j.category</name>
	    <value>org.codehaus.plexus.velocity.DefaultVelocityComponent</value>
	  </property>
	  <property>
	    <name>resource.loader</name>
	    <value>classpath</value>
	  </property>
	  <property>
	    <name>classpath.resource.loader.class</name>
	    <value>org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</value>
	  </property>
	</properties>
      </configuration>
    </component>
  </components>
</component-set>
