<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2014-12-01
 | 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="20141201" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Tycho - Build Properties</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 (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-12-01</li>
                  <li class="divider">|</li> <li id="projectVersion">Version: 0.22.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 class="active">
    
            <a href="#"><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>
                  
      <li>
    
                          <a href="TychoProperties.html" title="Tycho Properties">
          <i class="none"></i>
        Tycho Properties</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>Build Properties<a name="Build_Properties"></a></h2>
<p>Tycho uses the <tt>build.properties</tt> file <a class="externalLink" href="http://help.eclipse.org/luna/index.jsp?topic=/org.eclipse.pde.doc.user/reference/pde_feature_generating_build.htm">as defined by PDE</a> to configure various aspects of the build.</p>
<p>Note that Tycho only supports a subset of keys defined by PDE. If a key is not supported, this may be because</p>

<ul>
  
<li>it&#x2019;s legacy/deprecated</li>
  
<li>it doesn&#x2019;t fit into the maven project model or the way maven is generally expected to work</li>
  
<li>there are other ways to achieve the desired configuration (e.g. using pom.xml)</li>
  
<li>it&#x2019;s a missing feature</li>
</ul>
<p>In addition to PDE, Tycho supports using maven property expressions like <tt>${project.version}</tt> in <tt>build.properties</tt> values. Note that these expressions will only be replaced in a Tycho build, not when using the eclipse IDE incremental build.<br />See the table below for which keys in <tt>build.properties</tt> defined by PDE are supported by Tycho or if not, whether there are alternatives when using Tycho.</p>
<div class="section">
<h3>Common Properties<a name="Common_Properties"></a></h3>

<table border="0" class="table table-striped">
  <thead>
    
<tr class="a">
      
<th>Key </th>
      
<th>Value</th>
    </tr>
  </thead>
  <tbody>
    
<tr class="b">
      
<td>bin.includes </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>bin.excludes </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>qualifier </td>
      
<td>not supported - use <a href="tycho-packaging-plugin/build-qualifier-mojo.html">Build Qualifer Mojo</a> instead</td>
    </tr>
    
<tr class="a">
      
<td>forceContextQualifier </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>custom* </td>
      
<td>not supported</td>
    </tr>
  </tbody>
</table></div>
<div class="section">
<h3>Plugin-specific properties<a name="Plugin-specific_properties"></a></h3>

<table border="0" class="table table-striped">
  <thead>
    
<tr class="a">
      
<th>Key </th>
      
<th>Value</th>
    </tr>
  </thead>
  <tbody>
    
<tr class="b">
      
<td>source.library </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>output.library </td>
      
<td>not supported - compiler output goes to <tt>${project.build.outputDirectory}</tt> (usually <tt>target/classes</tt>) for main jar and <tt>target/nestedjar-classes</tt> for nested jars</td>
    </tr>
    
<tr class="b">
      
<td>exclude.library </td>
      
<td>not supported</td>
    </tr>
    
<tr class="a">
      
<td>extra.library </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>manifest.library </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>src.includes </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>src.excludes </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>jars.extra.classpath </td>
      
<td>only supported in the form <tt>platform:/plugin/&lt;Bundle-SymbolicName&gt;[/path/to/nested/jar]</tt></td>
    </tr>
    
<tr class="b">
      
<td>jars.compile.order </td>
      
<td>supported</td>
    </tr>
  </tbody>
</table></div>
<div class="section">
<h3>Compiler-specific properties<a name="Compiler-specific_properties"></a></h3>

<table border="0" class="table table-striped">
  <thead>
    
<tr class="a">
      
<th>Key </th>
      
<th>Value</th>
    </tr>
  </thead>
  <tbody>
    
<tr class="b">
      
<td>jre.compilation.profile </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>javacSource </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>javacTarget </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>bootClasspath </td>
      
<td>not supported - use <a href="tycho-compiler-plugin/compile-mojo.html#useJDK">maven toolchains</a> instead</td>
    </tr>
    
<tr class="b">
      
<td>javacWarnings.library </td>
      
<td>not supported - use <a class="externalLink" href="https://wiki.eclipse.org/Tycho/FAQ#How_to_configure_warning.2Ferror_settings_of_the_OSGi_compiler.3F">compilerArgument</a> instead.</td>
    </tr>
    
<tr class="a">
      
<td>javacErrors.library </td>
      
<td>not supported - use <a class="externalLink" href="https://wiki.eclipse.org/Tycho/FAQ#How_to_configure_warning.2Ferror_settings_of_the_OSGi_compiler.3F">compilerArgument</a> instead.</td>
    </tr>
    
<tr class="b">
      
<td>javacDefaultEncoding.library </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>javacCustomEncodings.library </td>
      
<td>not supported</td>
    </tr>
    
<tr class="b">
      
<td>javacProjectSettings </td>
      
<td>not supported. Use <a class="externalLink" href="https://wiki.eclipse.org/Tycho/FAQ#How_to_configure_warning.2Ferror_settings_of_the_OSGi_compiler.3F">compilerArgument</a> instead. Also see <a class="externalLink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=414718">bug 414718</a></td>
    </tr>
    
<tr class="a">
      
<td>compilerArg </td>
      
<td>not supported. Use <a href="tycho-compiler-plugin/compile-mojo.html#compilerArgs">compilerArgs</a> instead</td>
    </tr>
    
<tr class="b">
      
<td>compilerAdapter </td>
      
<td>not supported. Use <a href="tycho-compiler-plugin/compile-mojo.html#compilerId">compilerId</a> instead</td>
    </tr>
    
<tr class="a">
      
<td>compilerAdapter.useLog </td>
      
<td>not supported</td>
    </tr>
    
<tr class="b">
      
<td>compilerAdapter.useArgFile </td>
      
<td>not supported</td>
    </tr>
    
<tr class="a">
      
<td>sourceFileExtensions </td>
      
<td>not supported - use <a href="tycho-compiler-plugin/compile-mojo.html#excludeResources">excludeResources</a> instead</td>
    </tr>
  </tbody>
</table></div>
<div class="section">
<h3>Feature-specific properties<a name="Feature-specific_properties"></a></h3>

<table border="0" class="table table-striped">
  <thead>
    
<tr class="a">
      
<th>Key </th>
      
<th>Value</th>
    </tr>
  </thead>
  <tbody>
    
<tr class="b">
      
<td>root </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>root.config </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>root.folder </td>
      
<td>not supported, see <a class="externalLink" href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=386263">bug 386263</a></td>
    </tr>
    
<tr class="a">
      
<td>root.permissions </td>
      
<td>supported</td>
    </tr>
    
<tr class="b">
      
<td>root.link </td>
      
<td>supported</td>
    </tr>
    
<tr class="a">
      
<td>generate.feature </td>
      
<td>not supported - use <a class="externalLink" href="https://www.eclipse.org/tycho/sitedocs-extras/tycho-source-feature-plugin/plugin-info.html">Tycho Source Feature Plugin</a> instead</td>
    </tr>
    
<tr class="b">
      
<td>generate.plugin </td>
      
<td>not supported - use <a href="tycho-source-plugin/plugin-info.html">Tycho Source Plugin</a> instead</td>
    </tr>
    
<tr class="a">
      
<td>significantVersionDigits </td>
      
<td>not supported</td>
    </tr>
    
<tr class="b">
      
<td>generatedVersionLength </td>
      
<td>not supported</td>
    </tr>
  </tbody>
</table></div></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>
