Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] Testing x86 applications on a 64-bit system

Hej,

I'm building a win32-win32-x86 application with Tycho, using a target-platform-configuration that explicitly defines the environment [0]. Now I want to test this application with tycho-surefire-plugin, but my systems JDK is a x86_64. So I configured maven toolchains to let tycho-surfire use a 32-bit JVM, which works fine as well.

Unfortunately the application doesn't start within the test, because Tycho is still aggregating this command line:

cmd.exe /X /C ""C:\Program Files (x86)\Java\jre7\bin\java.exe" -Dosgi.noShutdown=false -Dosgi.os=win32 -Dosgi.ws=win32 -Dosgi.arch=x86_64 [...]

The problem is the -Dosgi.arch=x86_64 switch, which results in a wrong platform filter, and so the 32-bit SWT fragments are not found.

Is there a way to configure this command line (overwriting with argLine didn't help), or to have Tycho generating this command line depending on the platform-configurations environment? Where does tycho-surefire take this -Dosgi.{os,ws,arch} switches from?

Thanks in advance,
Mirko


[0] target-platform-configuration:
<plugin>
	<groupId>org.eclipse.tycho</groupId>
	<artifactId>target-platform-configuration</artifactId>
	<version>${tycho-version}</version>
	<configuration>
		<resolver>p2</resolver>
		<target>
			<artifact>
				<groupId>com.foo.rcp</groupId>
				<artifactId>com.foo.rcp.some.build </artifactId>
				<version>${project.version}</version>
				<classifier>build</classifier>
			</artifact>
		</target>
		<ignoreTychoRepositories>true</ignoreTychoRepositories>
		<environments>
			<environment>
				<os>win32</os>
				<ws>win32</ws>
				<arch>x86</arch>
			</environment>
		</environments>
		<dependency-resolution>
			<optionalDependencies>ignore</optionalDependencies>
		</dependency-resolution>
	</configuration>
</plugin>




Back to the top