<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 from target/generated-site/xdoc/update-site-mojo.xml at 2020-08-03
 | Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.2" />
    <title>Tycho OSGi Packaging Plugin &#x2013; tycho-packaging:update-site</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.9.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.9.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><div id="bannerLeft"><h2>Tycho OSGi Packaging Plugin</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: 2020-08-03<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.0.0</li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header">Tycho</li>
    <li><a href="../index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin"><span class="none"></span>Compiler Plugin</a></li>
    <li><a href="../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin"><span class="none"></span>Packaging Plugin</a></li>
    <li><a href="../tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin"><span class="none"></span>Surefire Plugin</a></li>
    <li><a href="../tycho-p2/tycho-p2-publisher-plugin/plugin-info.html" title="p2 Publisher Plugin"><span class="none"></span>p2 Publisher Plugin</a></li>
    <li><a href="../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin"><span class="none"></span>p2 Repository Plugin</a></li>
    <li><a href="../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="p2 Director Plugin"><span class="none"></span>p2 Director Plugin</a></li>
    <li><a href="../tycho-source-plugin/plugin-info.html" title="Source Plugin"><span class="none"></span>Source Plugin</a></li>
    <li><a href="../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin"><span class="none"></span>Versions Plugin</a></li>
    <li><a href="../tycho-pomgenerator-plugin/plugin-info.html" title="POM Generator Plugin"><span class="none"></span>POM Generator Plugin</a></li>
    <li><a href="" title="Properties"><span class="icon-chevron-down"></span>Properties</a>
     <ul class="nav nav-list">
      <li><a href="../BuildProperties.html" title="Build Properties"><span class="none"></span>Build Properties</a></li>
      <li><a href="../TychoProperties.html" title="Tycho Properties"><span class="none"></span>Tycho Properties</a></li>
     </ul></li>
   <li class="nav-header">Tycho Extras</li>
    <li><a href="../tycho-extras/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../tycho-extras/tycho-p2-extras-plugin/plugin-info.html" title="P2 Extras Plugin"><span class="none"></span>P2 Extras Plugin</a></li>
    <li><a href="../tycho-extras/target-platform-validation-plugin/plugin-info.html" title="Target Platform Validation Plugin"><span class="none"></span>Target Platform Validation Plugin</a></li>
    <li><a href="../tycho-extras/tycho-eclipserun-plugin/plugin-info.html" title="Eclipserun Plugin"><span class="none"></span>Eclipserun Plugin</a></li>
    <li><a href="../tycho-extras/tycho-document-bundle-plugin/plugin-info.html" title="Document Bundle Plugin"><span class="none"></span>Document Bundle Plugin</a></li>
    <li><a href="../tycho-extras/tycho-source-feature-plugin/plugin-info.html" title="Source Feature Generation Plugin"><span class="none"></span>Source Feature Generation Plugin</a></li>
    <li><a href="../tycho-extras/tycho-pack200/index.html" title="Pack200 Plugins"><span class="icon-chevron-down"></span>Pack200 Plugins</a>
     <ul class="nav nav-list">
      <li><a href="../tycho-extras/tycho-pack200/tycho-pack200a-plugin/plugin-info.html" title="Normalization Plugin"><span class="none"></span>Normalization Plugin</a></li>
      <li><a href="../tycho-extras/tycho-pack200/tycho-pack200b-plugin/plugin-info.html" title="Pack Plugin"><span class="none"></span>Pack Plugin</a></li>
     </ul></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <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>
        </header>
        <main id="bodyColumn"  class="span10" >

  
    <section>
<h2><a name="tycho-packaging:update-site"></a>tycho-packaging:update-site</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.eclipse.tycho:tycho-packaging-plugin:2.0.0:update-site</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>
      <section>
<h3><a name="Optional_Parameters"></a>Optional Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td><code><a href="#basedir">&lt;basedir&gt;</a></code></td>
            
<td><code>File</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>User property is</b>: <code>project.basedir</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#inlineArchives">&lt;inlineArchives&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#qualifier">&lt;qualifier&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Build qualifier. Recommended way to set this parameter is using
build-qualifier goal.<br /><b>User property is</b>: <code>buildQualifier</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#strictBinIncludes">&lt;strictBinIncludes&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>If set to <code>true</code> (the default), missing build.properties
bin.includes will cause build failure. If set to
<code>false</code>, missing build.properties bin.includes will be
reported as warnings but the build will not fail.<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#target">&lt;target&gt;</a></code></td>
            
<td><code>File</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>${project.build.directory}/site</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#useDefaultExcludes">&lt;useDefaultExcludes&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
        </table>
      </section>
      <section>
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        <section>
<h4><a name="a.3Cbasedir.3E"></a><b><a name="basedir">&lt;basedir&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.io.File</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>project.basedir</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CinlineArchives.3E"></a><b><a name="inlineArchives">&lt;inlineArchives&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cqualifier.3E"></a><b><a name="qualifier">&lt;qualifier&gt;</a></b></h4>
        
<div>Build qualifier. Recommended way to set this parameter is using
build-qualifier goal.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>buildQualifier</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CstrictBinIncludes.3E"></a><b><a name="strictBinIncludes">&lt;strictBinIncludes&gt;</a></b></h4>
        
<div>If set to <code>true</code> (the default), missing build.properties
bin.includes will cause build failure. If set to
<code>false</code>, missing build.properties bin.includes will be
reported as warnings but the build will not fail.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Ctarget.3E"></a><b><a name="target">&lt;target&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.io.File</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>${project.build.directory}/site</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CuseDefaultExcludes.3E"></a><b><a name="useDefaultExcludes">&lt;useDefaultExcludes&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul>
      </section></section>
    </section>
  

        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>&#169;      2008&#x2013;2020
<a href="http://www.eclipse.org/">Eclipse Foundation</a>
</p>
        </div>
      </div>
    </footer>
  </body>
</html>
