<?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.201110151902</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</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.201109282148/</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.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.15.0/N/0.15.0.201109282249/</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>
      <m2e-versions>1.0,1.1</m2e-versions>
      <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>
        <iuVersion>0.14.0.20110928-2045</iuVersion>
        <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>
      <m2e-versions>1.0,1.1</m2e-versions>
      <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.201110251725/</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>
      <m2e-versions>1.0,1.1</m2e-versions>
      <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.1.0.201111221420</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>

    <!-- 
      initial https://bugs.eclipse.org/bugs/show_bug.cgi?id=353529
      version 0.4.0 https://bugs.eclipse.org/bugs/show_bug.cgi?id=363574 
    -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <m2e-versions>1.0,1.1</m2e-versions>
      <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.4.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>

    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>AspectJ m2e configurator</description>
      <groupId>lifecycles</groupId>
      <id>org.maven.ide.eclipse.ajdt</id>
      <kind>lifecycles</kind>
      <license>EPL</license>
      <name>AspectJ</name>
      <provider>SpringSource</provider>
      <p2>
        <repositoryUrl>http://dist.springsource.org/release/AJDT/composite/</repositoryUrl>
        <iuId>org.maven.ide.eclipse.ajdt.feature.feature.group</iuId>
        <iuVersion>0.13.0.201107281640</iuVersion>
        <lifecycleMappingIU>
          <iuId>org.maven.ide.eclipse.ajdt</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>Maven Integration for AspectJ Development Tools</summary>
        <url>http://eclipse.org/ajdt</url>
      </overview>
    </catalogItem>

    <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=364457  -->
    <catalogItem>
      <categoryId>org.eclipse.m2e.discovery.category.lifecycles</categoryId>
      <description>Handles jrebel-maven-plugin lifecycle for generating
        rebel.xml
      </description>
      <groupId>lifecycles</groupId>
      <id>org.zeroturnaround.eclipse.m2e</id>
      <kind>lifecycles</kind>
      <license>License Agreement for JRebel Software</license>
      <name>JRebel m2eclipse Integration</name>
      <provider>ZeroTurnaround</provider>
      <p2>
        <repositoryUrl>http://www.zeroturnaround.com/update-site</repositoryUrl>
        <iuId>org.zeroturnaround.eclipse.m2e.feature.feature.group</iuId>
        <lifecycleMappingIU>
          <iuId>org.zeroturnaround.eclipse.m2e</iuId>
        </lifecycleMappingIU>
      </p2>
      <overview>
        <summary>Handles jrebel-maven-plugin lifecycle for generating
          rebel.xml
        </summary>
        <url>http://zeroturnaround.com/jrebel/configuration/maven/</url>
      </overview>
    </catalogItem>
  </catalogItems>
</catalog>
