<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <categories>
    <category>
      <id>org.eclipse.m2e.discovery.category.lifecycles</id>
      <name>Lifecycle Mappings</name>
      <description>Lifecycle Mappings</description>
      <relevance>30</relevance>
      <icon>
        <size>48</size>
        <path>images/extras-48.png</path>
      </icon>
      <groupId>lifecycles</groupId>
    </category>
    <category>
      <id>org.eclipse.m2e.discovery.category.scm</id>
      <name>m2e Team providers</name>
      <description>m2e integration with Eclipse team providers</description>
      <relevance>10</relevance>
      <icon>
        <size>48</size>
        <path>images/extras-48.png</path>
      </icon>
    </category>
    <category>
      <id>org.eclipse.m2e.discovery.category.maven</id>
      <name>embedded maven runtimes</name>
      <description>embedded maven runtimes</description>
      <relevance>10</relevance>
      <icon>
        <size>48</size>
        <path>images/extras-48.png</path>
      </icon>
    </category>
  </categories>
  
  <catalogItems>
<!-- 
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e discovery catalog publisher</description>
      <groupId>lifecycles</groupId>
      <id>org.sonatype.m2e.discovery.publisher.maven-plugin</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>m2e discovery catalog publisher</name>
      <provider>Sonatype, Inc.</provider>
      <maven>
        <repositoryUrl>http://repository.sonatype.org/content/groups/public</repositoryUrl>
        <groupId>org.sonatype.m2e.discovery.publisher</groupId>
        <artifactId>org.sonatype.m2e.discovery.publisher.maven-plugin</artifactId>
        <classifier>lifecycle-mapping-metadata</classifier>
        <version>0.0.1-SNAPSHOT</version>
      </maven>
      <overview>
        <summary>m2e discovery catalog publisher</summary>
      </overview>
    </catalogItem>
 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <description>Tycho Configurator bridges tycho based projects and PDE</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.tycho</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>Tycho Configurator</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/m2eclipse-tycho/0.6.0/N/0.6.0.201109270448</repositoryUrl>
        <iuId>org.sonatype.tycho.m2e.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.sonatype.tycho.m2e</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>Tycho is focused on a Maven-centric, manifest-first approach to building Eclipse plug-ins, features, update sites, RCP applications and OSGi bundles. Tycho is a set of Maven plugins and extensions for building Eclipse plugins and OSGi bundles with Maven. Eclipse plugins and OSGi bundles have their own metadata for expressing dependencies, source folder locations, etc. that are normally found in a Maven POM. Tycho uses native metadata for Eclipse plugins and OSGi bundles and uses
          the POM to configure and drive the build. Tycho supports bundles, fragments, features, update site projects and RCP applications. Tycho also knows how to run JUnit test plugins using OSGi runtime and there is also support for sharing build results using Maven artifact repositories. Tycho plugins introduce new packaging types and the corresponding lifecycle bindings that allow Maven to use OSGi and Eclipse metadata during a Maven build. </summary>
        <url>http://eclipse.org/tycho/</url>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <description>antlr</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.antlr</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>antlr</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109270543/</repositoryUrl>
        <iuId>org.sonatype.m2e.antlr.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.sonatype.m2e.antlr</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>antlr</summary>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <description>buildhelper</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.buildhelper</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>buildhelper</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109270543/</repositoryUrl>
        <iuId>org.sonatype.m2e.buildhelper.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.sonatype.m2e.buildhelper</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>buildhelper</summary>
      </overview>
    </catalogItem>

    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <description>mavenarchiver basic support</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.mavenarchiver</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>mavenarchiver pomproperties</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109270543/</repositoryUrl>
        <iuId>org.sonatype.m2e.mavenarchiver.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.sonatype.m2e.mavenarchiver</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>mavenarchiver basic support</summary>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <description>modello</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.modello</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>modello</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109270543/</repositoryUrl>
        <iuId>org.sonatype.m2e.modello.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.sonatype.m2e.modello</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>modello</summary>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <description>plexus-annotations</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.plexus-annotations</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>plexus-annotations</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109270543/</repositoryUrl>
        <iuId>org.sonatype.m2e.plexus.annotations.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.sonatype.m2e.plexus.annotations</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>plexus-annotations</summary>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=353361 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e-wtp</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.m2e-wtp</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>m2e-wtp</name>
      <provider>JBoss by Red Hat</provider>
      <p2>
        <repositoryUrl>http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/</repositoryUrl>
        <iuId>org.maven.ide.eclipse.wtp.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.maven.ide.eclipse.wtp</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>Maven Integration for WTP</summary>
        <url>https://github.com/sonatype/m2eclipse-wtp</url>
      </overview>
    </catalogItem>
    
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.scm</categoryId>
      <description>Maven SCM Handler for EGit</description>
      <groupId>extras</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.m2e-egit</id>
      <kind>extras</kind>
      <license>EPL</license>
      <name>m2e-egit</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/sites/forge-sites/m2eclipse-egit/0.14.0/N/0.14.0.201109221607/</repositoryUrl>
        <iuId>org.sonatype.m2e.egit.feature.feature.group</iuId>
      </p2>
      <overview>
        <summary>Maven SCM Handler for EGit</summary>
        <url>https://github.com/sonatype/m2eclipse-egit</url>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.scm</categoryId>
      <description>Maven SCM Handler for CVS</description>
      <groupId>extras</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.m2e-cvs</id>
      <kind>extras</kind>
      <license>EPL</license>
      <name>m2e-cvs</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/sites/forge-sites/m2eclipse-cvs/0.13.0/N/0.13.0.201106260822/</repositoryUrl>
        <iuId>org.sonatype.m2e.cvs.feature.feature.group</iuId>
      </p2>
      <overview>
        <summary>Maven SCM Handler for CVS</summary>
        <url>https://github.com/sonatype/m2eclipse-cvs</url>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.scm</categoryId>
      <description>Maven SCM Handler for Subversive</description>
      <groupId>extras</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.m2e-subversive</id>
      <kind>extras</kind>
      <license>EPL</license>
      <name>m2e-subversive</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/sites/forge-sites/m2eclipse-subversive/0.13.0/N/0.13.0.201106211115</repositoryUrl>
        <iuId>org.sonatype.m2e.subversive.feature.feature.group</iuId>
      </p2>
      <overview>
        <summary>Maven SCM Handler for Subversive</summary>
        <url>https://github.com/sonatype/m2eclipse-subversive</url>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.scm</categoryId>
      <description>Maven SCM Handler for Subclipse</description>
      <groupId>extras</groupId>
      <id>org.eclipse.m2e.discovery.lifecyclemapping.m2e-subclipse</id>
      <kind>extras</kind>
      <license>EPL</license>
      <name>m2e-subclipse</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/sites/forge-sites/m2eclipse-subclipse/0.13.0/N/0.13.0.201107071330/</repositoryUrl>
        <iuId>org.sonatype.m2e.subclipse.feature.feature.group</iuId>
      </p2>
      <overview>
        <summary>Maven SCM Handler for Subclipse</summary>
        <url>https://github.com/sonatype/m2eclipse-subclipse</url>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.maven</categoryId>
      <description>Embedded Maven Runtime version 3.0.3</description>
      <groupId>maven</groupId>
      <id>org.eclipse.m2e.discovery.maven-runtime-3.0.3</id>
      <kind>maven</kind>
      <license>EPL</license>
      <name>maven.runtime.3.0.3</name>
      <provider>Sonatype, Inc.</provider>
      <p2>
        <repositoryUrl>https://repository.sonatype.org/content/repositories/forge-sites/sonatype-m2e/org.sonatype.m2e.maven.runtime.3.0.3/1.0.1/N/1.0.1.201106291304</repositoryUrl>
        <iuId>org.sonatype.m2e.maven.runtime.3.0.3.feature.group</iuId>
      </p2>
      <overview>
        <summary>Embedded Maven Runtime version 3.0.3</summary>
        <url>http://www.sonatype.com/</url>
      </overview>
    </catalogItem>



    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=347556 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>applies configuration from the maven-checkstyle-plugin to the eclipse Checkstyle plugin. 
      Disables execution of the maven-checkstyle-plugin within Eclipse in favor of the Eclipse plugin.</description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.m2echeckstype</id>
      <kind>lifecycles</kind>
      <license>ASL</license>
      <name>Checkstyle m2e</name>
      <provider>Benson Margulies/Basis Technology Corp.</provider>
      <p2>
        <repositoryUrl>http://bimargulies.github.com/m2e-code-quality/site/1.0/</repositoryUrl>
        <iuId>com.basistech.m2e.code.quality.checkstyle.feature.feature.group</iuId>
        <iuVersion>1.0.0.201106061641</iuVersion>
        <lifecycleMappingIU>
          <iuId>com.basistech.m2e.code.quality.checkstyle</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e support for the maven-checkstyle-plugin.</summary>
        <url>https://github.com/bimargulies/m2e-code-quality</url>
      </overview>
    </catalogItem>
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>applies configuration from the maven-checkstyle-plugin to the
        eclipse Checkstyle plugin. Disables execution of the maven-checkstyle-plugin
        within Eclipse in favor of the Eclipse plugin.
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.m2epmd</id>
      <kind>lifecycles</kind>
      <license>ASL</license>
      <name>PMD m2e</name>
      <provider>Benson Margulies/Basis Technology Corp.</provider>
      <p2>
        <repositoryUrl>http://bimargulies.github.com/m2e-code-quality/site/1.0/</repositoryUrl>
        <iuId>com.basistech.m2e.code.quality.pmd.feature.feature.group</iuId>
        <iuVersion>1.0.0.201106061641</iuVersion>
        <lifecycleMappingIU>
          <iuId>com.basistech.m2e.code.quality.pmd</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e support for the maven-pmd-plugin.</summary>
        <url>https://github.com/bimargulies/m2e-code-quality</url>
      </overview>
    </catalogItem>
    
    
    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=350909 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>This plugin extends m2e and provides a lifecycle configuration for the Axis Tools Maven plugin (http://mojo.codehaus.org/axistools-maven-plugin/). It allows for automatically generating Java source files from WSDL sources and adds the generated source code folder to the Java build path.
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.de.theit.m2e.axistools</id>
      <kind>lifecycles</kind>
      <license>ASL</license>
      <name>Axis Tools m2e</name>
      <provider>Thorsten Heit</provider>
      <p2>
        <repositoryUrl>http://theit.github.com/m2e-lifecycle-axistools</repositoryUrl>
        <iuId>de.theit.m2e.axistools.feature.feature.group</iuId>
        <iuVersion>1.0.0.201107010810</iuVersion>
        <lifecycleMappingIU>
          <iuId>de.theit.m2e.axistools</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e support for the axistools-maven-plugin.</summary>
        <url>https://github.com/theit/m2e-lifecycle-axistools</url>
      </overview>
    </catalogItem>


    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=351636 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for JavaCC Maven plugin,
http://mojo.codehaus.org/javacc-maven-plugin
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.org.objectledge.maven.connectors.javacc</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for javacc-maven-plugin</name>
      <provider>Caltha - Krzewski, Mach, Potempski Sp. J.</provider>
      <p2>
        <repositoryUrl>http://objectledge.github.com/maven-extensions/connectors/updates/milestones/</repositoryUrl>
        <iuId>org.objectledge.maven.connectors.javacc.feature.group</iuId>
        <iuVersion>1.0.0.201107091852</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.objectledge.maven.connectors.javacc</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for javacc-maven-plugin</summary>
        <url>https://github.com/objectledge/maven-extensions</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=351637 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for JFlex Maven plugin,
http://jflex.de / http://jflex.sourceforge.net/maven-jflex-plugin
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.org.objectledge.maven.connectors.jflex</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for maven-jflex-plugin</name>
      <provider>Caltha - Krzewski, Mach, Potempski Sp. J.</provider>
      <p2>
        <repositoryUrl>http://objectledge.github.com/maven-extensions/connectors/updates/milestones/</repositoryUrl>
        <iuId>org.objectledge.maven.connectors.jflex.feature.group</iuId>
        <iuVersion>1.0.0.201107091852</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.objectledge.maven.connectors.jflex</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for maven-jflex-plugin</summary>
        <url>https://github.com/objectledge/maven-extensions</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=351638 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for maven-scm-plugin,
http://maven.apache.org/scm/maven-scm-plugin
Supports bootstrap, checkout and update goals.
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.org.objectledge.maven.connectors.scm</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for maven-scm-plugin</name>
      <provider>Caltha - Krzewski, Mach, Potempski Sp. J.</provider>
      <p2>
        <repositoryUrl>http://objectledge.github.com/maven-extensions/connectors/updates/milestones/</repositoryUrl>
        <iuId>org.objectledge.maven.connectors.scm.feature.group</iuId>
        <iuVersion>1.0.0.201107091852</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.objectledge.maven.connectors.scm</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for maven-scm-plugin</summary>
        <url>https://github.com/objectledge/maven-extensions</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=351639 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for Rhino JS compiler plugin,
http://objectledge.org/confluence/display/TOOLS/jsc-maven-plugin
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.org.objectledge.maven.connectors.jsc</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for jsc-maven-plugin</name>
      <provider>Caltha - Krzewski, Mach, Potempski Sp. J.</provider>
      <p2>
        <repositoryUrl>http://objectledge.github.com/maven-extensions/connectors/updates/milestones/</repositoryUrl>
        <iuId>org.objectledge.maven.connectors.jsc.feature.group</iuId>
        <iuVersion>1.0.0.201107091852</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.objectledge.maven.connectors.jsc</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for jsc-maven-plugin</summary>
        <url>https://github.com/objectledge/maven-extensions</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=351640 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for CKPackager plugin,
http://docs.cksource.com/CKEditor_3.x/Developers_Guide/CKPackager, 
http://objectledge.org/confluence/display/TOOLS/ckpackager-maven-plugin
      </description>
      <groupId>lifecycles</groupId>
      <id>org.eclipse.m2e.discovery.lifecycles.org.objectledge.maven.connectors.ckpackager</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for ckpackager-maven-plugin</name>
      <provider>Caltha - Krzewski, Mach, Potempski Sp. J.</provider>
      <p2>
        <repositoryUrl>http://objectledge.github.com/maven-extensions/connectors/updates/milestones/</repositoryUrl>
        <iuId>org.objectledge.maven.connectors.ckpackager.feature.group</iuId>
        <iuVersion>1.0.0.201107091852</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.objectledge.maven.connectors.ckpackager</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for ckpackager-maven-plugin</summary>
        <url>https://github.com/objectledge/maven-extensions</url>
      </overview>
    </catalogItem>

    <!-- jaxb2 :: https://bugs.eclipse.org/bugs/show_bug.cgi?id=352056 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for Jaxb2 Maven plugins,
        http://mojo.codehaus.org/jaxb2-maven-plugin and
        http://java.net/projects/maven-jaxb2-plugin/pages/Home
      </description>
      <groupId>lifecycles</groupId>
  
      <id>org.eclipse.m2e.discovery.lifecycles.org.bitstrings.eclipse.m2e.connectors.jaxb2</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for org.codehaus.mojo:jaxb2-maven-plugin and org.jvnet.jaxb2.maven2:maven-jaxb2-plugin</name>
      <provider>bitstrings.org - Pino Silvaggio</provider>
      <p2>
        <repositoryUrl>http://bitstrings.github.com/m2e-connectors-p2/releases</repositoryUrl>
        <iuId>org.bitstrings.eclipse.m2e.connectors.jaxb2.feature.group</iuId>
        <iuVersion>1.0.3.201107311209</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.bitstrings.eclipse.m2e.connectors.jaxb2</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for org.codehaus.mojo:jaxb2-maven-plugin and org.jvnet.jaxb2.maven2:maven-jaxb2-plugin</summary>
        <url>http://bitstrings.github.com/m2e-connectors-p2</url>
      </overview>
    </catalogItem>
    
    <!-- xmlbeans :: https://bugs.eclipse.org/bugs/show_bug.cgi?id=352056 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>m2e connector for XmlBeans Maven plugin, http://mojo.codehaus.org/xmlbeans-maven-plugin</description>
      <groupId>lifecycles</groupId>
  
      <id>org.eclipse.m2e.discovery.lifecycles.org.bitstrings.eclipse.m2e.connectors.xmlbeans</id>
      <kind>lifecycles</kind>
      <license>EPL v1.0</license>
      <name>m2e connector for org.codehaus.mojo:xmlbeans-maven-plugin</name>
      <provider>bitstrings.org - Pino Silvaggio</provider>
      <p2>
        <repositoryUrl>http://bitstrings.github.com/m2e-connectors-p2/releases</repositoryUrl>
        <iuId>org.bitstrings.eclipse.m2e.connectors.xmlbeans.feature.group</iuId>
        <iuVersion>1.0.3.201107311212</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.bitstrings.eclipse.m2e.connectors.xmlbeans</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>m2e connector for org.codehaus.mojo:xmlbeans-maven-plugin</summary>
        <url>http://bitstrings.github.com/m2e-connectors-p2</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=353529 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>Android Configurator for M2E Maven Integration for Eclipse</description>
      <groupId>lifecycles</groupId>
      <id>me.gladwell.eclipse.m2e.android</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>Android Connector</name>
      <provider>Gladwell Consultants Ltd.</provider>
      <p2>
        <repositoryUrl>http://rgladwell.github.com/m2e-android/updates/</repositoryUrl>
        <iuId>me.gladwell.eclipse.m2e.android.feature.feature.group</iuId>
        <iuVersion>0.3.0</iuVersion>
        <lifecycleMappingIU>
          <iuId>me.gladwell.eclipse.m2e.android</iuId>
        </lifecycleMappingIU>
    
        <rootIU>
          <iuId>com.android.ide.eclipse.adt.feature.group</iuId>
        </rootIU>
        <rootIU>
          <iuId>com.android.ide.eclipse.ddms.feature.group</iuId>
        </rootIU>
        <rootIU>
          <iuId>com.android.ide.eclipse.ddms.feature.group</iuId>
        </rootIU>
        <rootIU>
          <iuId>com.android.ide.eclipse.traceview.feature.group</iuId>
        </rootIU>
      </p2>
      <overview>
        <summary>Android Configurator for M2E Maven Integration for Eclipse</summary>
        <url>http://rgladwell.github.com/m2e-android</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=357118 -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>Groovy-Eclipse m2e configurator</description>
      <groupId>lifecycles</groupId>
      <id>org.codehaus.groovy.m2eclipse</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>Groovy-Eclipse</name>
      <provider>the Codehaus</provider>
      <p2>
        <repositoryUrl>http://dist.codehaus.org/groovy/distributions/greclipse/snapshot/e3.7</repositoryUrl>
        <iuId>org.codehaus.groovy.m2eclipse.feature.group</iuId>
        <iuVersion>2.5.2.xx-20110915-1700-e37</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.codehaus.groovy.m2eclipse</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>Maven Integration for Grooovy-Eclipse</summary>
        <url>http://docs.codehaus.org/display/GROOVY/Groovy-Eclipse+compiler+plugin+for+Maven</url>
      </overview>
    </catalogItem>
    
  </catalogItems>
</catalog>
