<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/BuildProperties.md at 2022-01-21
 | Rendered using Apache Maven Fluido Skin 1.10.0
-->
<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.11.1" />
    <title>Tycho &#x2013; Build Properties</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.10.0.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.10.0.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><div id="bannerLeft"><h2>Tycho</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: 2022-01-21<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.6.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="target-platform-configuration/plugin-info.html" title="Target Platform Configuration"><span class="none"></span>Target Platform Configuration</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 class="active"><a href="#"><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="Build_Properties"></a>Build Properties</h2>
<p>Tycho uses the <code>build.properties</code> 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's legacy/deprecated</li>
<li>it doesn'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's a missing feature</li>
</ul>
<p>In addition to PDE, Tycho supports using maven property expressions like <code>${project.version}</code> in <code>build.properties</code> 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 <code>build.properties</code> defined by PDE are supported by Tycho or if not, whether there are alternatives when using Tycho.</p><section>
<h3><a name="Common_Properties"></a>Common Properties</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 align="left">bin.includes</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">bin.excludes</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">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 align="left">forceContextQualifier</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">custom*</td>
<td>not supported</td></tr>
</tbody>
</table></section><section>
<h3><a name="Plugin-specific_properties"></a>Plugin-specific properties</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 align="left">source.library</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">output.library</td>
<td>not supported - compiler output goes to <code>${project.build.outputDirectory}</code> (usually <code>target/classes</code>) for main jar and <code>target/nestedjar-classes</code> for nested jars</td></tr>
<tr class="b">
<td align="left">exclude.library</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">extra.library</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">manifest.library</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">src.includes</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">src.excludes</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">jars.extra.classpath</td>
<td>only supported in the form <code>platform:/plugin/&lt;Bundle-SymbolicName&gt;[/path/to/nested/jar]</code></td></tr>
<tr class="b">
<td align="left">jars.compile.order</td>
<td>supported</td></tr>
</tbody>
</table></section><section>
<h3><a name="Compiler-specific_properties"></a>Compiler-specific properties</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 align="left">jre.compilation.profile</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">javacSource</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">javacTarget</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">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 align="left">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 align="left">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 align="left">javacDefaultEncoding.library</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">javacCustomEncodings.library</td>
<td>not supported</td></tr>
<tr class="b">
<td align="left">javacProjectSettings</td>
<td>not supported. Use <a href="tycho-compiler-plugin/compile-mojo.html#useProjectSettings">useProjectSettings</a> or <a href="tycho-compiler-plugin/compile-mojo.html#compilerArgs">compilerArgs</a> instead.</td></tr>
<tr class="a">
<td align="left">compilerArg</td>
<td>not supported. Use <a href="tycho-compiler-plugin/compile-mojo.html#compilerArgs">compilerArgs</a> instead</td></tr>
<tr class="b">
<td align="left">compilerAdapter</td>
<td>not supported. Use <a href="tycho-compiler-plugin/compile-mojo.html#compilerId">compilerId</a> instead</td></tr>
<tr class="a">
<td align="left">compilerAdapter.useLog</td>
<td>not supported</td></tr>
<tr class="b">
<td align="left">compilerAdapter.useArgFile</td>
<td>not supported</td></tr>
<tr class="a">
<td align="left">sourceFileExtensions</td>
<td>not supported - use <a href="tycho-compiler-plugin/compile-mojo.html#excludeResources">excludeResources</a> instead</td></tr>
</tbody>
</table></section><section>
<h3><a name="Feature-specific_properties"></a>Feature-specific properties</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 align="left">root</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">root.config</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">root.folder</td>
<td>supported (since Tycho 0.27.0)</td></tr>
<tr class="a">
<td align="left">root.config.folder</td>
<td>supported (since Tycho 0.27.0)</td></tr>
<tr class="b">
<td align="left">root.permissions</td>
<td>supported</td></tr>
<tr class="a">
<td align="left">root.link</td>
<td>supported</td></tr>
<tr class="b">
<td align="left">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="a">
<td align="left">generate.plugin</td>
<td>not supported - use <a href="tycho-source-plugin/plugin-info.html">Tycho Source Plugin</a> instead</td></tr>
<tr class="b">
<td align="left">significantVersionDigits</td>
<td>not supported</td></tr>
<tr class="a">
<td align="left">generatedVersionLength</td>
<td>not supported</td></tr>
</tbody>
</table></section></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>&#169;      2008&#x2013;2022
<a href="http://www.eclipse.org/">Eclipse Foundation</a>
</p>
        </div>
      </div>
    </footer>
<script>
	if(anchors) {
	  anchors.add();
	}
</script>
  </body>
</html>
