<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2018-12-17
 | 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="20181217" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Tycho OSGi Compiler Plugin &#x2013; tycho-compiler:compile</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 OSGi Compiler 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: 2018-12-17</li>
                  <li class="divider">|</li> <li id="projectVersion">Version: 1.3.0</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>
                  
      <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><a name="tycho-compiler:compile"></a>tycho-compiler:compile</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.eclipse.tycho:tycho-compiler-plugin:1.3.0:compile</p>
      
<p><b>Description</b>:</p>
      
<div>Compiles application sources with eclipse plugin dependencies</div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Requires a Maven project to be executed.</li>
        
<li>Requires dependency resolution of artifacts in scope: <tt>compile</tt>.</li>
        
<li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <tt>compile</tt>.</li>
      </ul>
      
<div class="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><tt><a href="#annotationProcessors">&lt;annotationProcessors&gt;</a></tt></td>
            
<td><tt>String[]</tt></td>
            
<td><tt>0.16.0</tt></td>
            
<td>Qualified class names of annotation processors to run. If
specified, the <a class="externalLink" href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Processor.html">normal
processor discovery process</a> will be skipped. This parameter
requires a 1.6 VM or above and is used only if the compliance is
1.6<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#compilerArgs">&lt;compilerArgs&gt;</a></tt></td>
            
<td><tt>List</tt></td>
            
<td><tt>0.17.0</tt></td>
            
<td>Arguments to be passed to the compiler.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#compilerArgument">&lt;compilerArgument&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>
<p>Unformatted argument string to be passed to the compiler if fork
is set to true.</p>

<p>This is because the list of valid arguments passed to a Java
compiler varies based on the compiler version.</p><br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#compilerArguments">&lt;compilerArguments&gt;</a></tt></td>
            
<td><tt>Map</tt></td>
            
<td><tt>-</tt></td>
            
<td><b>Deprecated.</b> use <tt>compilerArgs</tt> instead.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#compilerId">&lt;compilerId&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The compiler id of the compiler to use.<br /><b>Default value is</b>: <tt>jdt</tt>.<br /><b>User property is</b>: <tt>maven.compiler.compilerId</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#compilerVersion">&lt;compilerVersion&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
true<br /><b>User property is</b>: <tt>maven.compiler.compilerVersion</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#copyResources">&lt;copyResources&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Whether all resources in the source folders should be copied to
${project.build.outputDirectory}. <tt>true</tt> (default) means
that all resources are copied from the source folders to
<tt>${project.build.outputDirectory}</tt>. <tt>false</tt>
means that no resources are copied from the source folders to
<tt>${project.build.outputDirectory}</tt>. Set this to
<tt>false</tt> in case you want to keep resources separate from
java files in <tt>src/main/resources</tt> and handle them using
<a class="externalLink" href="http://maven.apache.org/plugins/maven-resources-plugin/">maven-resources-plugin</a>
(e.g. for <a class="externalLink" href="http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html">resource
filtering</a>.<br /><b>Default value is</b>: <tt>true</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#debug">&lt;debug&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Whether to include debugging information in the compiled class
files. The default value is true.<br /><b>Default value is</b>: <tt>true</tt>.<br /><b>User property is</b>: <tt>maven.compiler.debug</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#encoding">&lt;encoding&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The -encoding argument for the Java compiler<br /><b>User property is</b>: <tt>project.build.sourceEncoding</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#excludeResources">&lt;excludeResources&gt;</a></tt></td>
            
<td><tt>Set</tt></td>
            
<td><tt>-</tt></td>
            
<td>A list of exclusion filters for non-java resource files which
should not be copied to the output directory.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#excludes">&lt;excludes&gt;</a></tt></td>
            
<td><tt>Set</tt></td>
            
<td><tt>-</tt></td>
            
<td>A list of exclusion filters for the compiler.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#executable">&lt;executable&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The executable of the compiler to use when fork is true.<br /><b>User property is</b>: <tt>maven.compiler.executable</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#extraClasspathElements">&lt;extraClasspathElements&gt;</a></tt></td>
            
<td><tt>Dependency[]</tt></td>
            
<td><tt>-</tt></td>
            
<td>Transitively add specified maven artifacts to compile classpath in
addition to elements calculated according to OSGi rules. All
packages from additional entries will be accessible at compile
time. Useful when OSGi runtime classpath contains elements not
defined using normal dependency mechanisms. For example, when
Eclipse Equinox is started from application server with
-Dosgi.parentClassloader=fwk parameter.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#fork">&lt;fork&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Allows running the compiler in a separate process. If &quot;false&quot; it
uses the built in compiler, while if &quot;true&quot; it will use an
executable.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#generatedSourcesDirectory">&lt;generatedSourcesDirectory&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>0.16.0</tt></td>
            
<td>The directory where source files generated by annotation processors
will be created. This parameter requires a 1.6 VM or above and is
used only if the compliance is 1.6.<br /><b>Default value is</b>: <tt>${project.build.directory}/generated-sources/annotations</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#includes">&lt;includes&gt;</a></tt></td>
            
<td><tt>Set</tt></td>
            
<td><tt>-</tt></td>
            
<td>A list of inclusion filters for the compiler.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#log">&lt;log&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The format of the compiler log file. <tt>plain</tt> will log
into a plain text file (.log), <tt>xml</tt> will log in xml
format (.xml). If omitted, no logging into files is done. The log
file name is derived from the jar file name: 

<div>
<pre>
Example:
build.properties:

output.lib1/library.jar = lib1bin/ 
output.lib2/library.jar = lib2bin/ 
output.. = bin/

And a configuration:

&lt;configuration&gt;
  &lt;logEnabled&gt;true&lt;/logEnabled&gt;
  &lt;logDirectory&gt;${project.build.directory}/logfiles&lt;/logDirectory&gt;
  &lt;log&gt;xml&lt;/log&gt; 
&lt;/configuration&gt;

Will produce the following log files

${project.build.directory}/logfiles/@dot.xml
${project.build.directory}/logfiles/lib1_library.jar.xml
${project.build.directory}/logfiles/lib2_library.jar.xml
</pre></div><br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#logDirectory">&lt;logDirectory&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>The directory where the compiler log files should be placed. For
each output jar a log file will be created and stored in this
directory. Logging into files is only enabled if <tt>log</tt>
is specified. Default:
<tt>${project.build.directory}/compile-logs</tt><br /><b>Default value is</b>: <tt>${project.build.directory}/compile-logs</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#maxmem">&lt;maxmem&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>maximum size, in megabytes, of the memory allocation pool, ex.
&quot;128&quot;, &quot;128m&quot; if fork is set to true<br /><b>User property is</b>: <tt>maven.compiler.maxmem</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#meminitial">&lt;meminitial&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Initial size, in megabytes, of the memory allocation pool, ex.
&quot;64&quot;, &quot;64m&quot; if fork is set to true<br /><b>User property is</b>: <tt>maven.compiler.meminitial</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#optimize">&lt;optimize&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Optimize compiled code using the compiler's optimization methods<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.optimize</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#outputFileName">&lt;outputFileName&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Used to control the name of the output file when compiling a set of
sources to a single file.<br /><b>User property is</b>: <tt>project.build.finalName</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#proc">&lt;proc&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>0.16.0</tt></td>
            
<td>If <tt>only</tt> is specified, the annotation processors will run
but no compilation will be performed. If <tt>none</tt> is
specified, annotation processors will not be discovered or run;
compilation will proceed as if no annotation processors were found.
By default the compiler must search the classpath for annotation
processors, so specifying <tt>none</tt> may speed compilation if
annotation processing is not required. This parameter requires a
1.6 VM or above and is used only if the compliance is 1.6<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#requireJREPackageImports">&lt;requireJREPackageImports&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Whether a bundle is required to explicitly import non-java.*
packages from the JDK. This is the design-time equivalent to the
equinox runtime option <a class="externalLink" href="http://wiki.eclipse.org/Equinox_Boot_Delegation#The_solution">osgi.compatibility.bootdelegation</a>.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#showDeprecation">&lt;showDeprecation&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Output source locations where deprecated APIs are used<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.showDeprecation</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#showWarnings">&lt;showWarnings&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Output warnings<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.showWarnings</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#source">&lt;source&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The -source argument for the Java compiler<br /><b>User property is</b>: <tt>maven.compiler.source</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#staleMillis">&lt;staleMillis&gt;</a></tt></td>
            
<td><tt>int</tt></td>
            
<td><tt>-</tt></td>
            
<td>The granularity in milliseconds of the last modification date for
testing whether a source needs recompilation<br /><b>Default value is</b>: <tt>0</tt>.<br /><b>User property is</b>: <tt>lastModGranularityMs</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#strictCompilerTarget">&lt;strictCompilerTarget&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>false</tt> (the default) issue a warning if
effective compiler target level is incompatible with bundle minimal
execution environment. If set to <tt>true</tt> will fail the
build if effective compiler target and minimal BREE are
incompatible.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#target">&lt;target&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The -target argument for the Java compiler<br /><b>User property is</b>: <tt>maven.compiler.target</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#useJDK">&lt;useJDK&gt;</a></tt></td>
            
<td><tt>ToolchainProvider$JDKUsage</tt></td>
            
<td><tt>-</tt></td>
            
<td>Which JDK to use for compilation. Default value is SYSTEM which
means the currently running JDK. If BREE is specified, MANIFEST
header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
define the JDK to compile against. In this case, you need to
provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
configuration file. The value of BREE will be matched against the
id of the toolchain elements in toolchains.xml. Example: 

<div>
<pre>
&lt;toolchains&gt;
  &lt;toolchain&gt;
     &lt;type&gt;jdk&lt;/type&gt;
     &lt;provides&gt;
         &lt;id&gt;J2SE-1.5&lt;/id&gt;
     &lt;/provides&gt;
     &lt;configuration&gt;
        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
     &lt;/configuration&gt;
  &lt;/toolchain&gt;
&lt;/toolchains&gt;
</pre></div>

The default value of the bootclasspath used for compilation is
<tt>&lt;jdkHome&gt;/lib/*;&lt;jdkHome&gt;/lib/ext/*;&lt;jdkHome&gt;/lib/endorsed/*</tt>
. For JDKs with different filesystem layouts, the bootclasspath can
be specified explicitly in the configuration section. Example: 

<div>
<pre>
&lt;configuration&gt;
  &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
  &lt;bootClassPath&gt;
    &lt;includes&gt;
      &lt;include&gt;jre/lib/amd64/default/jclSC160/*.jar&lt;/include&gt;
    &lt;/includes&gt;
    &lt;excludes&gt;
      &lt;exclude&gt;**/alt-*.jar&lt;/exclude&gt;
    &lt;/excludes&gt;
  &lt;/bootClassPath&gt;
&lt;/configuration&gt;
</pre></div><br /><b>Default value is</b>: <tt>SYSTEM</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#useProjectSettings">&lt;useProjectSettings&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt>, the settings file
${project.basedir}/.settings/org.eclipse.jdt.core.prefs will be
passed to the compiler. If the file is not present, the build will
not fail.<br /><b>Default value is</b>: <tt>true</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#verbose">&lt;verbose&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Whether to output messages about what the compiler is doing<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>maven.compiler.verbose</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        
<div class="section">
<h4><a name="aannotationProcessors"></a><b><a name="annotationProcessors">&lt;annotationProcessors&gt;</a></b></h4>
        
<div>Qualified class names of annotation processors to run. If
specified, the <a class="externalLink" href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/Processor.html">normal
processor discovery process</a> will be skipped. This parameter
requires a 1.6 VM or above and is used only if the compliance is
1.6</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          
<li><b>Since</b>: <tt>0.16.0</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="acompilerArgs"></a><b><a name="compilerArgs">&lt;compilerArgs&gt;</a></b></h4>
        
<div>Arguments to be passed to the compiler.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.util.List</tt></li>
          
<li><b>Since</b>: <tt>0.17.0</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="acompilerArgument"></a><b><a name="compilerArgument">&lt;compilerArgument&gt;</a></b></h4>
        
<div>
<p>Unformatted argument string to be passed to the compiler if fork
is set to true.</p>

<p>This is because the list of valid arguments passed to a Java
compiler varies based on the compiler version.</p></div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="acompilerArguments"></a><b><a name="compilerArguments">&lt;compilerArguments&gt;</a></b></h4>
        
<div><b>Deprecated.</b> use <tt>compilerArgs</tt> instead.</div>
        
<div>
<p>Arguments to be passed to the compiler (prepending a dash) if
fork is set to true.</p>

<p>This is because the list of valid arguments passed to a Java
compiler varies based on the compiler version.</p></div>
        
<ul>
          
<li><b>Type</b>: <tt>java.util.Map</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="acompilerId"></a><b><a name="compilerId">&lt;compilerId&gt;</a></b></h4>
        
<div>The compiler id of the compiler to use.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.compilerId</tt></li>
          
<li><b>Default</b>: <tt>jdt</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="acompilerVersion"></a><b><a name="compilerVersion">&lt;compilerVersion&gt;</a></b></h4>
        
<div>Version of the compiler to use, ex. &quot;1.3&quot;, &quot;1.5&quot;, if fork is set to
true</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.compilerVersion</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="acopyResources"></a><b><a name="copyResources">&lt;copyResources&gt;</a></b></h4>
        
<div>Whether all resources in the source folders should be copied to
${project.build.outputDirectory}. <tt>true</tt> (default) means
that all resources are copied from the source folders to
<tt>${project.build.outputDirectory}</tt>. <tt>false</tt>
means that no resources are copied from the source folders to
<tt>${project.build.outputDirectory}</tt>. Set this to
<tt>false</tt> in case you want to keep resources separate from
java files in <tt>src/main/resources</tt> and handle them using
<a class="externalLink" href="http://maven.apache.org/plugins/maven-resources-plugin/">maven-resources-plugin</a>
(e.g. for <a class="externalLink" href="http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html">resource
filtering</a>.</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 /></div>
<div class="section">
<h4><a name="adebug"></a><b><a name="debug">&lt;debug&gt;</a></b></h4>
        
<div>Whether to include debugging information in the compiled class
files. The default value is true.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.debug</tt></li>
          
<li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aencoding"></a><b><a name="encoding">&lt;encoding&gt;</a></b></h4>
        
<div>The -encoding argument for the Java compiler</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>project.build.sourceEncoding</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aexcludeResources"></a><b><a name="excludeResources">&lt;excludeResources&gt;</a></b></h4>
        
<div>A list of exclusion filters for non-java resource files which
should not be copied to the output directory.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.util.Set</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aexcludes"></a><b><a name="excludes">&lt;excludes&gt;</a></b></h4>
        
<div>A list of exclusion filters for the compiler.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.util.Set</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aexecutable"></a><b><a name="executable">&lt;executable&gt;</a></b></h4>
        
<div>The executable of the compiler to use when fork is true.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.executable</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aextraClasspathElements"></a><b><a name="extraClasspathElements">&lt;extraClasspathElements&gt;</a></b></h4>
        
<div>Transitively add specified maven artifacts to compile classpath in
addition to elements calculated according to OSGi rules. All
packages from additional entries will be accessible at compile
time. Useful when OSGi runtime classpath contains elements not
defined using normal dependency mechanisms. For example, when
Eclipse Equinox is started from application server with
-Dosgi.parentClassloader=fwk parameter.</div>
        
<ul>
          
<li><b>Type</b>: <tt>org.apache.maven.model.Dependency[]</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="afork"></a><b><a name="fork">&lt;fork&gt;</a></b></h4>
        
<div>Allows running the compiler in a separate process. If &quot;false&quot; it
uses the built in compiler, while if &quot;true&quot; it will use an
executable.</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 /></div>
<div class="section">
<h4><a name="ageneratedSourcesDirectory"></a><b><a name="generatedSourcesDirectory">&lt;generatedSourcesDirectory&gt;</a></b></h4>
        
<div>The directory where source files generated by annotation processors
will be created. This parameter requires a 1.6 VM or above and is
used only if the compliance is 1.6.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Since</b>: <tt>0.16.0</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>${project.build.directory}/generated-sources/annotations</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aincludes"></a><b><a name="includes">&lt;includes&gt;</a></b></h4>
        
<div>A list of inclusion filters for the compiler.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.util.Set</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="alog"></a><b><a name="log">&lt;log&gt;</a></b></h4>
        
<div>The format of the compiler log file. <tt>plain</tt> will log
into a plain text file (.log), <tt>xml</tt> will log in xml
format (.xml). If omitted, no logging into files is done. The log
file name is derived from the jar file name: 

<div>
<pre>
Example:
build.properties:

output.lib1/library.jar = lib1bin/ 
output.lib2/library.jar = lib2bin/ 
output.. = bin/

And a configuration:

&lt;configuration&gt;
  &lt;logEnabled&gt;true&lt;/logEnabled&gt;
  &lt;logDirectory&gt;${project.build.directory}/logfiles&lt;/logDirectory&gt;
  &lt;log&gt;xml&lt;/log&gt; 
&lt;/configuration&gt;

Will produce the following log files

${project.build.directory}/logfiles/@dot.xml
${project.build.directory}/logfiles/lib1_library.jar.xml
${project.build.directory}/logfiles/lib2_library.jar.xml
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="alogDirectory"></a><b><a name="logDirectory">&lt;logDirectory&gt;</a></b></h4>
        
<div>The directory where the compiler log files should be placed. For
each output jar a log file will be created and stored in this
directory. Logging into files is only enabled if <tt>log</tt>
is specified. Default:
<tt>${project.build.directory}/compile-logs</tt></div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>${project.build.directory}/compile-logs</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="amaxmem"></a><b><a name="maxmem">&lt;maxmem&gt;</a></b></h4>
        
<div>maximum size, in megabytes, of the memory allocation pool, ex.
&quot;128&quot;, &quot;128m&quot; if fork is set to true</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.maxmem</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="ameminitial"></a><b><a name="meminitial">&lt;meminitial&gt;</a></b></h4>
        
<div>Initial size, in megabytes, of the memory allocation pool, ex.
&quot;64&quot;, &quot;64m&quot; if fork is set to true</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.meminitial</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aoptimize"></a><b><a name="optimize">&lt;optimize&gt;</a></b></h4>
        
<div>Optimize compiled code using the compiler's optimization methods</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.optimize</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aoutputFileName"></a><b><a name="outputFileName">&lt;outputFileName&gt;</a></b></h4>
        
<div>Used to control the name of the output file when compiling a set of
sources to a single file.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>project.build.finalName</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="aproc"></a><b><a name="proc">&lt;proc&gt;</a></b></h4>
        
<div>If <tt>only</tt> is specified, the annotation processors will run
but no compilation will be performed. If <tt>none</tt> is
specified, annotation processors will not be discovered or run;
compilation will proceed as if no annotation processors were found.
By default the compiler must search the classpath for annotation
processors, so specifying <tt>none</tt> may speed compilation if
annotation processing is not required. This parameter requires a
1.6 VM or above and is used only if the compliance is 1.6</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Since</b>: <tt>0.16.0</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="arequireJREPackageImports"></a><b><a name="requireJREPackageImports">&lt;requireJREPackageImports&gt;</a></b></h4>
        
<div>Whether a bundle is required to explicitly import non-java.*
packages from the JDK. This is the design-time equivalent to the
equinox runtime option <a class="externalLink" href="http://wiki.eclipse.org/Equinox_Boot_Delegation#The_solution">osgi.compatibility.bootdelegation</a>.</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 /></div>
<div class="section">
<h4><a name="ashowDeprecation"></a><b><a name="showDeprecation">&lt;showDeprecation&gt;</a></b></h4>
        
<div>Output source locations where deprecated APIs are used</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.showDeprecation</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="ashowWarnings"></a><b><a name="showWarnings">&lt;showWarnings&gt;</a></b></h4>
        
<div>Output warnings</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.showWarnings</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="asource"></a><b><a name="source">&lt;source&gt;</a></b></h4>
        
<div>The -source argument for the Java compiler</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.source</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="astaleMillis"></a><b><a name="staleMillis">&lt;staleMillis&gt;</a></b></h4>
        
<div>The granularity in milliseconds of the last modification date for
testing whether a source needs recompilation</div>
        
<ul>
          
<li><b>Type</b>: <tt>int</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>lastModGranularityMs</tt></li>
          
<li><b>Default</b>: <tt>0</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="astrictCompilerTarget"></a><b><a name="strictCompilerTarget">&lt;strictCompilerTarget&gt;</a></b></h4>
        
<div>If set to <tt>false</tt> (the default) issue a warning if
effective compiler target level is incompatible with bundle minimal
execution environment. If set to <tt>true</tt> will fail the
build if effective compiler target and minimal BREE are
incompatible.</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 /></div>
<div class="section">
<h4><a name="atarget"></a><b><a name="target">&lt;target&gt;</a></b></h4>
        
<div>The -target argument for the Java compiler</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.target</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="auseJDK"></a><b><a name="useJDK">&lt;useJDK&gt;</a></b></h4>
        
<div>Which JDK to use for compilation. Default value is SYSTEM which
means the currently running JDK. If BREE is specified, MANIFEST
header <tt>Bundle-RequiredExecutionEnvironment</tt> is used to
define the JDK to compile against. In this case, you need to
provide a <a class="externalLink" href="http://maven.apache.org/guides/mini/guide-using-toolchains.html">toolchains.xml</a>
configuration file. The value of BREE will be matched against the
id of the toolchain elements in toolchains.xml. Example: 

<div>
<pre>
&lt;toolchains&gt;
  &lt;toolchain&gt;
     &lt;type&gt;jdk&lt;/type&gt;
     &lt;provides&gt;
         &lt;id&gt;J2SE-1.5&lt;/id&gt;
     &lt;/provides&gt;
     &lt;configuration&gt;
        &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
     &lt;/configuration&gt;
  &lt;/toolchain&gt;
&lt;/toolchains&gt;
</pre></div>

The default value of the bootclasspath used for compilation is
<tt>&lt;jdkHome&gt;/lib/*;&lt;jdkHome&gt;/lib/ext/*;&lt;jdkHome&gt;/lib/endorsed/*</tt>
. For JDKs with different filesystem layouts, the bootclasspath can
be specified explicitly in the configuration section. Example: 

<div>
<pre>
&lt;configuration&gt;
  &lt;jdkHome&gt;/path/to/jdk/1.5&lt;/jdkHome&gt;
  &lt;bootClassPath&gt;
    &lt;includes&gt;
      &lt;include&gt;jre/lib/amd64/default/jclSC160/*.jar&lt;/include&gt;
    &lt;/includes&gt;
    &lt;excludes&gt;
      &lt;exclude&gt;**/alt-*.jar&lt;/exclude&gt;
    &lt;/excludes&gt;
  &lt;/bootClassPath&gt;
&lt;/configuration&gt;
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <tt>org.eclipse.tycho.core.maven.ToolchainProvider$JDKUsage</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>SYSTEM</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="auseProjectSettings"></a><b><a name="useProjectSettings">&lt;useProjectSettings&gt;</a></b></h4>
        
<div>If set to <tt>true</tt>, the settings file
${project.basedir}/.settings/org.eclipse.jdt.core.prefs will be
passed to the compiler. If the file is not present, the build will
not fail.</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 /></div>
<div class="section">
<h4><a name="averbose"></a><b><a name="verbose">&lt;verbose&gt;</a></b></h4>
        
<div>Whether to output messages about what the compiler is doing</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>maven.compiler.verbose</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul>
      </div></div>
    </div>
  

                  </div>
            </div>
          </div>

    <hr/>

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

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