Tycho's self-packaged Eclipse equinox launcher should be used to to
publish bundles and features as a p2 repository, rather than depending
on Eclipse itself. This will avoid the cyclic dependencies.
When a jar under %%{_javadir} is symlinked, it may clash with other jars
of the same name (eg. multiple core.jar that are osgi bundles).
This is also a non-bootstrap build.
Fedora Eclipse now compiles all JSR14 upstream bundles with a target of
1.5, allowing us to leave in place parts of Tycho code that use those
particular libraries with generics.
We set the BREE to JavaSE-1.6 for 'eclipse-plugin',
'eclipse-test-plugin', and 'eclipse-feature' packaging types but we
should do this for all packaging types. (eg. 'eclipse-repository',
'eclipse-application', 'eclipse-update-site')
By default a build in local mode should ignore the user-defined
environments and use the system's environment. In some cases it may be
necessary to bypass this functionality.
When running Tycho in local mode, dependencies will be resolved for all
environments defined in target-platform-configuration. Only the running
environment should be used.
When the path to the plugins/features folder for a set of bundles is
"%%{_datadir}/eclipse/dropins/${name}" (missing the additional eclipse
folder), the linking of its jars will fail.
Automatically create a local p2 repository of all bundles on the system
so that they may be used for local dependency resolution. This is done
using a modified version of Eclipse's copy-platform script.
When running an Eclipse bundle's tests, Tycho Surefire resolves its
runtime dependencies using a class loader, which is in fact just looking
through Bundle-ClassPath. As a result, it must copy over and include
system jars in its Bundle-ClassPath. We use Fedora system jars to
satisfy these dependencies but even these jars differ slightly in terms
of provided classes.
Since Fedora 17, we need an Execution Environment of at least JavaSE-1.6
for Eclipse bundles. Eclipse Juno platform bundles depend on
javax.annotation. In Fedora this is provided by geronimo-annotation, but
has a dependency on javax.lang.model (since 1.6).