| <!DOCTYPE html> |
| <!-- |
| | Generated by Apache Maven Doxia Site Renderer 1.8.1 from target/generated-site/xdoc/compile-mojo.xml at 2019-04-05 |
| | Rendered using Apache Maven Fluido Skin 1.7 |
| --> |
| <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="20190405" /> |
| <meta http-equiv="Content-Language" content="en" /> |
| <title>Tycho OSGi Compiler Plugin – tycho-compiler:compile</title> |
| <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.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.7.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: 2019-04-05<span class="divider">|</span> |
| </li> |
| <li id="projectVersion">Version: 1.4.0</li> |
| </ul> |
| </div> |
| <div class="row-fluid"> |
| <div id="leftColumn" class="span2"> |
| <div 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="../BuildProperties.html" title="Build Properties"><span class="none"></span>Build Properties</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="../TychoProperties.html" title="Tycho Properties"><span class="none"></span>Tycho Properties</a></li> |
| </ul> |
| <hr /> |
| <div id="poweredBy"> |
| <div class="clear"></div> |
| <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="span10" > |
| |
| |
| <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.4.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"><annotationProcessors></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"><compilerArgs></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"><compilerArgument></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"><compilerArguments></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"><compilerId></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"><compilerVersion></a></tt></td> |
| |
| <td><tt>String</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>Version of the compiler to use, ex. "1.3", "1.5", 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"><copyResources></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"><debug></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"><encoding></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"><excludeResources></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"><excludes></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"><executable></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"><extraClasspathElements></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"><fork></a></tt></td> |
| |
| <td><tt>boolean</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>Allows running the compiler in a separate process. If "false" it |
| uses the built in compiler, while if "true" 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"><generatedSourcesDirectory></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"><includes></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"><log></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: |
| |
| <configuration> |
| <logEnabled>true</logEnabled> |
| <logDirectory>${project.build.directory}/logfiles</logDirectory> |
| <log>xml</log> |
| </configuration> |
| |
| 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"><logDirectory></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"><maxmem></a></tt></td> |
| |
| <td><tt>String</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>maximum size, in megabytes, of the memory allocation pool, ex. |
| "128", "128m" 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"><meminitial></a></tt></td> |
| |
| <td><tt>String</tt></td> |
| |
| <td><tt>-</tt></td> |
| |
| <td>Initial size, in megabytes, of the memory allocation pool, ex. |
| "64", "64m" 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"><optimize></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"><outputFileName></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"><proc></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"><requireJREPackageImports></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"><showDeprecation></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"><showWarnings></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"><source></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"><staleMillis></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"><strictCompilerTarget></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"><target></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"><useJDK></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> |
| <toolchains> |
| <toolchain> |
| <type>jdk</type> |
| <provides> |
| <id>J2SE-1.5</id> |
| </provides> |
| <configuration> |
| <jdkHome>/path/to/jdk/1.5</jdkHome> |
| </configuration> |
| </toolchain> |
| </toolchains> |
| </pre></div> |
| |
| The default value of the bootclasspath used for compilation is |
| <tt><jdkHome>/lib/*;<jdkHome>/lib/ext/*;<jdkHome>/lib/endorsed/*</tt> |
| . For JDKs with different filesystem layouts, the bootclasspath can |
| be specified explicitly in the configuration section. Example: |
| |
| <div> |
| <pre> |
| <configuration> |
| <jdkHome>/path/to/jdk/1.5</jdkHome> |
| <bootClassPath> |
| <includes> |
| <include>jre/lib/amd64/default/jclSC160/*.jar</include> |
| </includes> |
| <excludes> |
| <exclude>**/alt-*.jar</exclude> |
| </excludes> |
| </bootClassPath> |
| </configuration> |
| </pre></div><br /><b>Default value is</b>: <tt>SYSTEM</tt>.<br /></td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><tt><a href="#useProjectSettings"><useProjectSettings></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"><verbose></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="a.3CannotationProcessors.3E"></a><b><a name="annotationProcessors"><annotationProcessors></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="a.3CcompilerArgs.3E"></a><b><a name="compilerArgs"><compilerArgs></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="a.3CcompilerArgument.3E"></a><b><a name="compilerArgument"><compilerArgument></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="a.3CcompilerArguments.3E"></a><b><a name="compilerArguments"><compilerArguments></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="a.3CcompilerId.3E"></a><b><a name="compilerId"><compilerId></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="a.3CcompilerVersion.3E"></a><b><a name="compilerVersion"><compilerVersion></a></b></h4> |
| |
| <div>Version of the compiler to use, ex. "1.3", "1.5", 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="a.3CcopyResources.3E"></a><b><a name="copyResources"><copyResources></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="a.3Cdebug.3E"></a><b><a name="debug"><debug></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="a.3Cencoding.3E"></a><b><a name="encoding"><encoding></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="a.3CexcludeResources.3E"></a><b><a name="excludeResources"><excludeResources></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="a.3Cexcludes.3E"></a><b><a name="excludes"><excludes></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="a.3Cexecutable.3E"></a><b><a name="executable"><executable></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="a.3CextraClasspathElements.3E"></a><b><a name="extraClasspathElements"><extraClasspathElements></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="a.3Cfork.3E"></a><b><a name="fork"><fork></a></b></h4> |
| |
| <div>Allows running the compiler in a separate process. If "false" it |
| uses the built in compiler, while if "true" 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="a.3CgeneratedSourcesDirectory.3E"></a><b><a name="generatedSourcesDirectory"><generatedSourcesDirectory></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="a.3Cincludes.3E"></a><b><a name="includes"><includes></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="a.3Clog.3E"></a><b><a name="log"><log></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: |
| |
| <configuration> |
| <logEnabled>true</logEnabled> |
| <logDirectory>${project.build.directory}/logfiles</logDirectory> |
| <log>xml</log> |
| </configuration> |
| |
| 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="a.3ClogDirectory.3E"></a><b><a name="logDirectory"><logDirectory></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="a.3Cmaxmem.3E"></a><b><a name="maxmem"><maxmem></a></b></h4> |
| |
| <div>maximum size, in megabytes, of the memory allocation pool, ex. |
| "128", "128m" 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="a.3Cmeminitial.3E"></a><b><a name="meminitial"><meminitial></a></b></h4> |
| |
| <div>Initial size, in megabytes, of the memory allocation pool, ex. |
| "64", "64m" 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="a.3Coptimize.3E"></a><b><a name="optimize"><optimize></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="a.3CoutputFileName.3E"></a><b><a name="outputFileName"><outputFileName></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="a.3Cproc.3E"></a><b><a name="proc"><proc></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="a.3CrequireJREPackageImports.3E"></a><b><a name="requireJREPackageImports"><requireJREPackageImports></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="a.3CshowDeprecation.3E"></a><b><a name="showDeprecation"><showDeprecation></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="a.3CshowWarnings.3E"></a><b><a name="showWarnings"><showWarnings></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="a.3Csource.3E"></a><b><a name="source"><source></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="a.3CstaleMillis.3E"></a><b><a name="staleMillis"><staleMillis></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="a.3CstrictCompilerTarget.3E"></a><b><a name="strictCompilerTarget"><strictCompilerTarget></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="a.3Ctarget.3E"></a><b><a name="target"><target></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="a.3CuseJDK.3E"></a><b><a name="useJDK"><useJDK></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> |
| <toolchains> |
| <toolchain> |
| <type>jdk</type> |
| <provides> |
| <id>J2SE-1.5</id> |
| </provides> |
| <configuration> |
| <jdkHome>/path/to/jdk/1.5</jdkHome> |
| </configuration> |
| </toolchain> |
| </toolchains> |
| </pre></div> |
| |
| The default value of the bootclasspath used for compilation is |
| <tt><jdkHome>/lib/*;<jdkHome>/lib/ext/*;<jdkHome>/lib/endorsed/*</tt> |
| . For JDKs with different filesystem layouts, the bootclasspath can |
| be specified explicitly in the configuration section. Example: |
| |
| <div> |
| <pre> |
| <configuration> |
| <jdkHome>/path/to/jdk/1.5</jdkHome> |
| <bootClassPath> |
| <includes> |
| <include>jre/lib/amd64/default/jclSC160/*.jar</include> |
| </includes> |
| <excludes> |
| <exclude>**/alt-*.jar</exclude> |
| </excludes> |
| </bootClassPath> |
| </configuration> |
| </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="a.3CuseProjectSettings.3E"></a><b><a name="useProjectSettings"><useProjectSettings></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="a.3Cverbose.3E"></a><b><a name="verbose"><verbose></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-fluid"> |
| <p>Copyright ©2008–2019 |
| <a href="http://www.eclipse.org/">Eclipse Foundation</a>. |
| All rights reserved.</p> |
| </div> |
| </div> |
| </footer> |
| </body> |
| </html> |