Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Tycho/FAQ"
(New page: ==How to configure HTTP proxy settings during test execution?== Two options: Manually configure the proxy <source lang="xml"> <build> <plugins> <plugin> <groupId>org.eclipse...) |
(Added note about SWTBot) |
||
Line 52: | Line 52: | ||
</dependency> | </dependency> | ||
</dependencies> | </dependencies> | ||
+ | </configuration> | ||
+ | </plugin> | ||
+ | </plugins> | ||
+ | </build> | ||
+ | </source> | ||
+ | |||
+ | |||
+ | ==How to use SWTBot or some UI tool for testing?== | ||
+ | |||
+ | You need to configure the ''tycho-surefire-plugin'' to use the UI: | ||
+ | <source lang="xml"> | ||
+ | <build> | ||
+ | <plugins> | ||
+ | <plugin> | ||
+ | <groupId>org.eclipse.tycho</groupId> | ||
+ | <artifactId>tycho-surefire-plugin</artifactId> | ||
+ | <configuration> | ||
+ | <useUIHarness>true</useUIHarness> | ||
+ | <useUIThread>false</useUIThread> | ||
</configuration> | </configuration> | ||
</plugin> | </plugin> |
Revision as of 15:01, 8 September 2011
Contents
How to configure HTTP proxy settings during test execution?
Two options:
Manually configure the proxy
<build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-surefire-plugin</artifactId> <configuration> <argLine>-Dhttp.proxyHost=myproxy -Dhttp.proxyPort=1234</argLine> </configuration> </plugin> </plugins> </build>
and disable the eclipse system proxy setting
if (Platform.isRunning() && getProxyService() != null && getProxyService().isSystemProxiesEnabled() && !getProxyService().hasSystemProxies()) { // XXX e3.5/gtk.x86_64 activate manual proxy configuration which // defaults to Java system properties if system proxy support is // not available getProxyService().setSystemProxiesEnabled(false); getProxyService().setProxiesEnabled(true); }
- or -
Make sure the native org.eclipse.core.net.* fragment for your platform is included in the test runtime so eclipse will pick up proxy settings configured on OS level:
<build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-surefire-plugin</artifactId> <configuration> <dependencies> <dependency> <type>p2-installable-unit</type> <artifactId>org.eclipse.core.net.[YOUR_PLATFORM]</artifactId> <version>[VERSION]</version> </dependency> </dependencies> </configuration> </plugin> </plugins> </build>
How to use SWTBot or some UI tool for testing?
You need to configure the tycho-surefire-plugin to use the UI:
<build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-surefire-plugin</artifactId> <configuration> <useUIHarness>true</useUIHarness> <useUIThread>false</useUIThread> </configuration> </plugin> </plugins> </build>
How to configure warning/error settings of the OSGi compiler?
To configure warnings:
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-compiler-plugin</artifactId> <version>${tycho-version}</version> <configuration> <compilerArgument>-warn:[+|-]warning_tokens_separated_by_comma</compilerArgument> </configuration> </plugin>
The available warning tokens are listed in the Eclipse help. Same applies for the
-err
argument for configuring errors.
How to build plugin-based products with platform-specific fragments?
First you need to configure all os/ws/arch environments for which you want to build. Example POM snippet:
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>${tycho-version}</version> <configuration> <resolver>p2</resolver> <environments> <environment> <os>win32</os> <ws>win32</ws> <arch>x86</arch> </environment> <environment> <os>win32</os> <ws>win32</ws> <arch>x86_64</arch> </environment> </environments> </configuration> </plugin>
for plugin-based (as opposed to feature-based) .product files, tycho needs additional os/ws/arch attributes for the fragments in the .product file which are not required by PDE.
Example product file snippet:
<plugin id="org.eclipse.swt.win32.win32.x86" fragment="true" os="win32" ws="win32" arch="x86"/> <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true" os="win32" ws="win32" arch="x86_64"/>
How to test OSGi declarative services?
You need to add bundle org.eclipse.equinox.ds to the test runtime:
<plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-surefire-plugin</artifactId> <configuration> <dependencies> <dependency> <type>p2-installable-unit</type> <artifactId>org.eclipse.equinox.ds</artifactId> </dependency> </dependencies> </configuration> </plugin>