Wednesday, December 16, 2009

Target Platform to have $HOME/.eclipse/$ECLIPSE/plugins ??

Bioclipse uses a custom target-platform... but since I am using the Eclipse 3.5 from Ubuntu now, extra features I download (GEF, BIRT, EMF, ...) end up in $HOME... so, I need to add a folder to the target-platform.target file... but I cannot find the variable for $HOME/.eclipse/org.eclipse.platform_3_foo_bar/plugins, such the files has things like @{eclipse_home}/plugins too...

Right now I have the below, but that clearly is not the solution:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.5"?>

<target name="Spring-osgi-1.0.2">
  <locations>
    <location path="${eclipse_home}" type="Profile"/>
    <location path="${project_loc}/spring-osgi-1.0.2/dist" type="Directory"/>
    <location path="${project_loc}/libs" type="Directory"/>
    <location path="${project_loc}/spring-osgi-1.0.2/lib" type="Directory"/>
    <location path="${eclipse_home}/plugins" type="Directory"/>
    <location path="/home/egonw/.eclipse/org.eclipse.platform_3.5.0_155965261/plugins"
                 type="Directory"/>
  </locations>
</target>

What is the @{variable} I should use for user-based plugin folders?

2 comments:

  1. If you need to refer to the Ubuntu user home directory, you can use ${env_var:$USER_HOME} as part of your path.

    Why are your plug-ins being downloaded to your user home? I would have expected that you would download all the required plug-ins to a specific location on disk and just have a single directory location in the target.

    Perhaps a better solution for Bioclipse would be to create a remote target. Rather than download all the plug-ins, the target could point at a p2 repository or update site containing the required software. Check out the Toast RCP example to see it in action. In 3.6 PDE is hoping to further improve the remote target experience.

    ReplyDelete
  2. Hi Curtis, good points... it actually indeed does not be part of the target platform... it does not need to be in there in the final Bioclipse release...

    The problem is that without it, 'Set Target Platform' does not pick up the various plugins needed for Bioclipse plugins... so, despite having the relevant features installed, I keep the red crosses on the plugins in my workspace that require those additional features I have installed in my home folder...

    The ${env_var:$USER_HOME} would help getting those red crosses worked out partly, as I still have an Eclipse version depending part in the String... for $ECLIPSE in my example, my Ubuntu system actually has org.eclipse.platform_3.5.0_155965261, which I cannot imagine to be the same for others...

    ReplyDelete