<?xml version="1.0"?>
<component-set>
   <components>
      <!-- Define a custom lifecycle for LensKit evaluation projects. 
	   This happens in two parts: (1) we define the lifecycle
	   mapping which names the lifecycle ("lenskit-lifecycle").  This name
	   must then be used in the packaging tag in the pom of anyone
	   who wants to use it.  (2) we define the phases of the
	   lifecycle, and the default actions to be run in those phases.
	   -->
      <component>
	 <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
	 <role-hint>lenskit-lifecycle</role-hint>
	 <implementation>
	    org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
	 </implementation>
      </component>
      <component>
	 <role>org.apache.maven.lifecycle.Lifecycle</role>
	 <role-hint>lenskit-lifecycle</role-hint>
	 <implementation>org.apache.maven.lifecycle.Lifecycle</implementation>
	 <configuration>
	    <id>lenskit-lifecycle</id>
	    <phases>
	       <phase>lenskit-pre-eval</phase>
	       <phase>lenskit-eval</phase>
	       <phase>lenskit-post-eval</phase>
	       <phase>lenskit-analyze</phase>
	       <phase>lenskit-publish</phase>
	    </phases>
	    <default-phases>
	       <lenskit-pre-eval></lenskit-pre-eval>
	       <lenskit-eval>
		  org.grouplens.lenskit:lenskit-eval-maven-plugin:run-eval
	       </lenskit-eval>
	       <lenskit-post-eval></lenskit-post-eval>
	       <lenskit-analyze></lenskit-analyze>
	    </default-phases>
	 </configuration>
      </component>
   </components>
</component-set>
