<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Oct 15, 2012 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>
    tycho-p2-repository:assemble-repository</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20121015" />
    <meta http-equiv="Content-Language" content="en" />
        
        </head>
  <body class="composite">
    <div id="banner">
                    <div id="bannerLeft">
                Tycho p2 Repository Plugin (Incubation)
                </div>
                    <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
        
                <div class="xleft">
        <span id="publishDate">Last Published: 2012-10-15</span>
                  &nbsp;| <span id="projectVersion">Version: 0.16.0</span>
                      </div>
            <div class="xright">                    <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>
              
        
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
        
                                <h5>Tycho</h5>
                  <ul>
                  <li class="none">
                          <a href="../../index.html" title="Introduction">Introduction</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin">Compiler Plugin</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin">Packaging Plugin</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin">Source Plugin</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-surefire/tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin">Surefire Plugin</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin">Versions Plugin</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin">P2 Director Plugin</a>
            </li>
                  <li class="none">
                          <a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="P2 Repository Plugin">P2 Repository Plugin</a>
            </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
                   
        
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        
  
    <div class="section"><h2>tycho-p2-repository:assemble-repository<a name="tycho-p2-repository:assemble-repository"></a></h2>
      <p><b>Full name</b>:</p>
      <p>org.eclipse.tycho:tycho-p2-repository-plugin:0.16.0:assemble-repository</p>
      <p><b>Description</b>:</p>
      <div>(no description)</div>
      <p><b>Attributes</b>:</p>
      <ul>
        <li>Requires a Maven project to be executed.</li>
      </ul>
      <div class="section"><h3>Optional Parameters<a name="Optional_Parameters"></a></h3>
        <table class="bodyTable" border="0">
          <tr class="a">
            <th>Name</th>
            <th>Type</th>
            <th>Since</th>
            <th>Description</th>
          </tr>
          <tr class="b">
            <td><b><a href="#compress">compress</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>Defines whether the resulting p2 metadata should be compressed.<br /><b>Default value is</b>: <tt>true</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#createArtifactRepository">createArtifactRepository</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>Defines whether the artifacts of the included products, features,
and bundles shall be assembled into a p2 artifact repository. If
<tt>false</tt>, only a p2 metadata repository is created.<br /><b>Default value is</b>: <tt>true</tt>.</td>
          </tr>
          <tr class="b">
            <td><b><a href="#includeAllDependencies">includeAllDependencies</a></b></td>
            <td><tt>boolean</tt></td>
            <td><tt>-</tt></td>
            <td>Defines whether all transitive dependencies shall be included in
the resulting repository. By default, only features and bundles
directly referenced in products and categories and their &quot;include&quot;
dependencies will be included in the result. To build a completely
self-contained repository, set this parameter to <tt>true</tt>.<br /><b>Default value is</b>: <tt>false</tt>.</td>
          </tr>
          <tr class="a">
            <td><b><a href="#qualifier">qualifier</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Build qualifier. Recommended way to set this parameter is using
build-qualifier goal.<br /></td>
          </tr>
          <tr class="b">
            <td><b><a href="#repositoryName">repositoryName</a></b></td>
            <td><tt>String</tt></td>
            <td><tt>-</tt></td>
            <td>Defines the name of the p2 repository. The default value is the
project name.<br /><b>Default value is</b>: <tt>${project.name}</tt>.</td>
          </tr>
        </table>
      </div>
      <div class="section"><h3>Parameter Details<a name="Parameter_Details"></a></h3>
        <p><b><a name="compress">compress</a>:</b></p>
        <div>Defines whether the resulting p2 metadata should be compressed.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /><p><b><a name="createArtifactRepository">createArtifactRepository</a>:</b></p>
        <div>Defines whether the artifacts of the included products, features,
and bundles shall be assembled into a p2 artifact repository. If
<tt>false</tt>, only a p2 metadata repository is created.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /><p><b><a name="includeAllDependencies">includeAllDependencies</a>:</b></p>
        <div>Defines whether all transitive dependencies shall be included in
the resulting repository. By default, only features and bundles
directly referenced in products and categories and their &quot;include&quot;
dependencies will be included in the result. To build a completely
self-contained repository, set this parameter to <tt>true</tt>.</div>
        <ul>
          <li><b>Type</b>: <tt>boolean</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /><p><b><a name="qualifier">qualifier</a>:</b></p>
        <div>Build qualifier. Recommended way to set this parameter is using
build-qualifier goal.</div>
        <ul>
          <li><b>Type</b>: <tt>java.lang.String</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>Expression</b>: <tt>${buildQualifier}</tt></li>
        </ul><hr /><p><b><a name="repositoryName">repositoryName</a>:</b></p>
        <div>Defines the name of the p2 repository. The default value is the
project name.</div>
        <ul>
          <li><b>Type</b>: <tt>java.lang.String</tt></li>
          <li><b>Required</b>: <tt>No</tt></li>
          <li><b>Default</b>: <tt>${project.name}</tt></li>
        </ul>
      </div>
    </div>
  

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
              Copyright &#169;                    2008-2012
                        <a href="http://www.eclipse.org/">Eclipse Foundation</a>.
            All Rights Reserved.      
        
                  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
