Build Properties
Tycho uses the build.properties
file as defined by PDE to configure various aspects of the build.
Note that Tycho only supports a subset of keys defined by PDE. If a key is not supported, this may be because
- it's legacy/deprecated
- it doesn't fit into the maven project model or the way maven is generally expected to work
- there are other ways to achieve the desired configuration (e.g. using pom.xml)
- it's a missing feature
In addition to PDE, Tycho supports using maven property expressions like ${project.version}
in build.properties
values. Note that these expressions will only be replaced in a Tycho build, not when using the eclipse IDE incremental build.
See the table below for which keys in build.properties
defined by PDE are supported by Tycho or if not, whether there are alternatives when using Tycho.
Common Properties
Key |
Value |
bin.includes |
supported |
bin.excludes |
supported |
qualifier |
not supported - use Build Qualifer Mojo instead |
forceContextQualifier |
supported |
custom* |
not supported |
Plugin-specific properties
Key |
Value |
source.library |
supported |
output.library |
not supported - compiler output goes to ${project.build.outputDirectory} (usually target/classes ) for main jar and target/nestedjar-classes for nested jars |
exclude.library |
supported |
extra.library |
supported |
manifest.library |
supported |
src.includes |
supported |
src.excludes |
supported |
jars.extra.classpath |
only supported in the form platform:/plugin/<Bundle-SymbolicName>[/path/to/nested/jar] |
jars.compile.order |
supported |
Compiler-specific properties
Key |
Value |
jre.compilation.profile |
supported |
javacSource |
supported |
javacTarget |
supported |
bootClasspath |
not supported - use maven toolchains instead |
javacWarnings.library |
not supported - use compilerArgument instead. |
javacErrors.library |
not supported - use compilerArgument instead. |
javacDefaultEncoding.library |
supported |
javacCustomEncodings.library |
not supported |
javacProjectSettings |
not supported. Use useProjectSettings or compilerArgs instead. |
compilerArg |
not supported. Use compilerArgs instead |
compilerAdapter |
not supported. Use compilerId instead |
compilerAdapter.useLog |
not supported |
compilerAdapter.useArgFile |
not supported |
sourceFileExtensions |
not supported - use excludeResources instead |
Feature-specific properties
Key |
Value |
root |
supported |
root.config |
supported |
root.folder |
supported (since Tycho 0.27.0) |
root.config.folder |
supported (since Tycho 0.27.0) |
root.permissions |
supported |
root.link |
supported |
generate.feature |
not supported - use Tycho Source Plugin instead |
generate.plugin |
not supported - use Tycho Source Plugin instead |
significantVersionDigits |
not supported |
generatedVersionLength |
not supported |