| <!DOCTYPE html> |
| <!-- |
| | Generated by Apache Maven Doxia at 2018-01-26 |
| | 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="20180126" /> |
| <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.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-01-26</li> |
| <li class="divider">|</li> <li id="projectVersion">Version: 1.1.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.1.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><b><a href="#annotationProcessors">annotationProcessors</a></b></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><b><a href="#compilerArgs">compilerArgs</a></b></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><b><a href="#compilerArgument">compilerArgument</a></b></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><b><a href="#compilerArguments">compilerArguments</a></b></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><b><a href="#compilerId">compilerId</a></b></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>.</td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#compilerVersion">compilerVersion</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#copyResources">copyResources</a></b></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><b><a href="#debug">debug</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#encoding">encoding</a></b></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>.</td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#excludeResources">excludeResources</a></b></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><b><a href="#excludes">excludes</a></b></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><b><a href="#executable">executable</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#extraClasspathElements">extraClasspathElements</a></b></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><b><a href="#fork">fork</a></b></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><b><a href="#generatedSourcesDirectory">generatedSourcesDirectory</a></b></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><b><a href="#includes">includes</a></b></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><b><a href="#log">log</a></b></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><b><a href="#logDirectory">logDirectory</a></b></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><b><a href="#maxmem">maxmem</a></b></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>.</td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#meminitial">meminitial</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#optimize">optimize</a></b></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>.</td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#outputFileName">outputFileName</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#proc">proc</a></b></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><b><a href="#requireJREPackageImports">requireJREPackageImports</a></b></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><b><a href="#showDeprecation">showDeprecation</a></b></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>.</td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#showWarnings">showWarnings</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#source">source</a></b></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>.</td> |
| </tr> |
| |
| <tr class="a"> |
| |
| <td><b><a href="#staleMillis">staleMillis</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#strictCompilerTarget">strictCompilerTarget</a></b></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><b><a href="#target">target</a></b></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>.</td> |
| </tr> |
| |
| <tr class="b"> |
| |
| <td><b><a href="#useJDK">useJDK</a></b></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><b><a href="#useProjectSettings">useProjectSettings</a></b></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><b><a href="#verbose">verbose</a></b></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>.</td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="section"> |
| <h3><a name="Parameter_Details"></a>Parameter Details</h3> |
| |
| <p><b><a name="annotationProcessors">annotationProcessors</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="compilerArgs">compilerArgs</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="compilerArgument">compilerArgument</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="compilerArguments">compilerArguments</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="compilerId">compilerId</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="compilerVersion">compilerVersion</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="copyResources">copyResources</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="debug">debug</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="encoding">encoding</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="excludeResources">excludeResources</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="excludes">excludes</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="executable">executable</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="extraClasspathElements">extraClasspathElements</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="fork">fork</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="generatedSourcesDirectory">generatedSourcesDirectory</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="includes">includes</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="log">log</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="logDirectory">logDirectory</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="maxmem">maxmem</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="meminitial">meminitial</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="optimize">optimize</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="outputFileName">outputFileName</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="proc">proc</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="requireJREPackageImports">requireJREPackageImports</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="showDeprecation">showDeprecation</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="showWarnings">showWarnings</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="source">source</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="staleMillis">staleMillis</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="strictCompilerTarget">strictCompilerTarget</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="target">target</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="useJDK">useJDK</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="useProjectSettings">useProjectSettings</a>:</b></p> |
| |
| <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 /> |
| <p><b><a name="verbose">verbose</a>:</b></p> |
| |
| <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> |
| |
| <hr/> |
| |
| <footer> |
| <div class="container-fluid"> |
| <div class="row span12">Copyright © 2008-2018 |
| <a href="http://www.eclipse.org/">Eclipse Foundation</a>. |
| All Rights Reserved. |
| |
| </div> |
| |
| |
| |
| </div> |
| </footer> |
| </body> |
| </html> |