Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eclipse: What is the minimum Eclipse installation needed for a headless PDE build?

I am currently using PDE build in headless mode to build my OSGI Bundle project. The PDE Antrunner task uses an Eclipse installation and I am just pointing it to my local Eclipse installation.

unfortunatelly my eclipse installation is about 260MB big, but I assume that a PDE build does NOT require all of those plugins in a standard eclipse installation.

Does anyone now what is the minimum list of plugins I need for doing a headless PDE build? All of my dependencies I actually have in a custom target platform folder, so I guess the only thing I need from my eclipse installation are the dependencies which PDE build actually needs. But what are those? Can I shrink my installation to a very minimum?

My goal is to also check-in this "build-eclipse" folder into my project's SVN so that when you check it out, you have everything you need to start a full build, without touching any build.properties. But I don't want to commit 266MB of eclipse if I maybe need only 20MB of it.

Thanks Christoph

like image 409
Christoph Avatar asked Feb 27 '10 13:02

Christoph


1 Answers

I finally needed to do this myself today (to address a problem I was having where directories with spaces in their names weren't being included in the bundle PDE Build produced). I eventually got something that could build my collection of (Java-based) plug-ins. I don't know whether it's "minimal", but it's Java PDE Build-focused and much smaller than a full Eclipse IDE install.

I took rough notes; there could be a few omissions or superfluous steps here, but in the main it should guide.

I:

  1. Fired up a recent Eclipse IDE (in my case, the 3.5 instance I use at the moment).
  2. Used a scratch workspace, so changes to the target platform wouldn’t mess up my “real” projects.
  3. Made sure the target platform was set to the place I wanted to draw my PDE builder's plug-ins from (in my case, just my running Eclipse). (Window | Preferences... | Plug-in Development | Target Platform)
  4. Created a new empty project.
  5. Created a new Product Configuration within that project (using the "basic settings").
  6. On the new product configuration's "Overview" page, unchecked “The product includes native launcher artifacts.”
  7. On Dependencies, specified the following plug-ins as constituting the product:
    • org.eclipse.pde.build
    • org.apache.ant
    • org.eclipse.jdt.core
  8. Checked “Include optional dependencies . . .”
  9. Clicked “Add Required Plug-ins”.
  10. Right-clicked product definition in Package Explorer and picked “Export… | Eclipse product”.
  11. Told it where I wanted my PDE builder instance to go.
  12. Unchecked “Synchronize before exporting”.
  13. Unchecked “Generate metadata repository”.
  14. Clicked "Finish".

Now I can (continue to) launch a PDE Build from my normal Ant build by invoking a macro like the following (is there a better way?):

<macrodef name="build-a-product">
    <attribute name="config-dir"/>
    <sequential>
        <property name="product-build-file" value="${pde-builder-path}\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml" />
        <java jar="${pde-builder-path}\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar" fork="yes" failonerror="yes" >
            <arg value="-application" />
            <arg value="org.eclipse.ant.core.antRunner" />

            <arg value="-buildfile" />
            <arg value="${product-build-file}" />

            <arg value="-Dbuilder=@{config-dir}" />

            <arg value="-Dbasedir=${basedir}" />
        </java>
    </sequential>
</macrodef>
like image 185
Woody Zenfell III Avatar answered Oct 07 '22 13:10

Woody Zenfell III