Monthly Archives: October 2010

Icons for RCP

When building an Eclipse RCP product, you have the ability to generate a native executable.  By default the icon associated with the executable is the Eclipse graphic.

There’s an option in the product definition (‘.product’ file) that lets you use your own icons.

There are two ways to attach the icons …

  • Six different BMP files – 16×16, 32×32, & 48×48 at 32 bit & 8 bit depths.
  • A single ICO file with all six graphics included.

I was struggling with creating the graphic files I needed.  I had no problem getting the 32 bit version of the files created, but couldn’t figure out how to create the 8 bit version.

Continue reading Icons for RCP

Including a JRE in a headless build

There appears to be a known issue in the headless build facility that results in a built RCP product not having a JRE (even though the product configuration indicates there should be one).

If you do an export from the Eclipse UI, you do get the JRE included.

After a fair amount of digging I figured out how to resolve this problem.

First … you need to have your product based on features.

Next, modify your features build.properties file to include the following line …

root.win32.win32.x86.folder.jre=absolute:${java.home}/

This will cause the generated build script for the feature to copy the JRE that is executing the compile into the jre directory of the product.

Obviously this entry is specific to Windows 32bit compiles.

Export RPC — File In Use

I was trying to use Eclipse 3.6 to manually export a RPC using on a Win7 x64 system but kept getting the following error:

C:\Users\myuserid\workspace\.metadata\.plugins\org.eclipse.pde.core\temp\org.eclipse.pde.container.feature\build.xml:103: Failed to copy C:\eclipse\configuration\org.eclipse.equinox.app\.manager\.tmp31587.instance to c:\test-app\eclipse\win32.win32.x86\eclipse\jre\configuration\org.eclipse.equinox.app\.manager\.tmp31587.instance due to The process cannot access the file because another process has locked a portion of the file

The file .tmp31587.instance was indeed locked … apparently by the eclipse instance that I was currently using.

So it appeared that the export function was trying to copy a file from the live Eclipse instance.

My solution was to move the configuration directory for the live eclipse instance to my personal home directory.

The eclipse product was installed in C:\eclipse … so I copied “C:\eclipse\configuration” to “C:\User\myuserid\eclipse\configuration” and then changed the shortcut I use to launch eclipse to include the parameter “-configuration C:\Users\myuserid\eclipse\configuration”.

Now, when I launch eclipse, and export the RPC … it doesn’t try to copy a file that’s in use, since the configuration is no longer in the eclipse application directory.

New Blog

I’m in the process of building a new application at work … this is a thick client application that is using the Eclipse RCP framework.

This blog is going to be a place where I stash notes, tips & tricks, and complaints about the Eclipse framework.