<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2014-07-14
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20140714" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Tycho Eclipse Project Metadata Model (Incubation) - About</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>

    
            </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                <div id="bannerLeft">
                <h2>Tycho Eclipse Project Metadata Model (Incubation)</h2>
                </div>
                      </div>
        <div class="pull-right">  </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                  <li id="publishDate">Last Published: 2014-07-14</li>
                  <li class="divider">|</li> <li id="projectVersion">Version: 0.21.0</li>
                      
                
                    
      
                                              
    <li class="pull-right">              <a href="http://wiki.eclipse.org/Development_Resources/HOWTO/Incubation_Phase#.281.29_What_Is_Incubation.3F" class="externalLink" title="This content is PRELIMINARY API and still subject to change">
        This content is PRELIMINARY API and still subject to change</a>
  </li>

                        </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span3">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">Tycho</li>
                                
      <li>
    
                          <a href="../index.html" title="Introduction">
          <i class="none"></i>
        Introduction</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">
          <i class="none"></i>
        Compiler Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">
          <i class="none"></i>
        Packaging Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../BuildProperties.html" title="Build Properties">
          <i class="none"></i>
        Build Properties</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">
          <i class="none"></i>
        Surefire Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-p2/tycho-p2-publisher-plugin/plugin-info.html" title="p2 Publisher Plugin">
          <i class="none"></i>
        p2 Publisher Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin">
          <i class="none"></i>
        p2 Repository Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="p2 Director Plugin">
          <i class="none"></i>
        p2 Director Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin">
          <i class="none"></i>
        Source Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">
          <i class="none"></i>
        Versions Plugin</a>
            </li>
                  
      <li>
    
                          <a href="../tycho-pomgenerator-plugin/plugin-info.html" title="POM Generator Plugin">
          <i class="none"></i>
        POM Generator Plugin</a>
            </li>
            </ul>
                
                    
                
          <hr class="divider" />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span9" >
                                  
            <div class="section">
<h2>About Tycho Eclipse Project Metadata Model (Incubation)<a name="About_Tycho_Eclipse_Project_Metadata_Model_Incubation"></a></h2><a name="About_Tycho_Eclipse_Project_Metadata_Model_Incubation"></a>
<p>Tycho integrates Maven with Eclipse and OSGi</p></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
              <div class="row span12">Copyright &copy;                    2008-2014
                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
            All Rights Reserved.      
                    
      </div>

        
        
                </div>
    </footer>
  </body>
</html>
