Target PDE Headless build platform not working

I'm currently trying to get it to work without headless pde-build, but I'm stuck at a point where I don't know how to proceed. The problem is how to determine the appropriate target platform for compiling the plugins. I have build.bat with the following call (all on one line!):

java -jar D:\target\eclipse\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.ant.core.antRunner -f D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml -Dbuilder=c:\pde-build\scripts %* 

I tried to create the target eclipse platform from different parts: Eclipse SDK, RCP SDK, Delta Pack, PDE-SDK in all combinations, but none of them worked well.

I got the following error:

 BUILD FAILED D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_20100114\scripts\productBuild\productBuild.xml:18: Cannot fin d ${eclipse.pdebuild.scripts}/build.xml imported from D:\target\eclipse\plugins\org.eclipse.pde.build_3.5.2.R35x_2010011 4\scripts\productBuild\productBuild.xml 

where the variable $ {eclipse.pdebuild.scripts} is not resolved. I also tried giving this parameter via the command line, but then I got another error regarding the missing svn task, which is completely confusing since it works with my referenced eclipse local installation.

When I replace the path from d: / target / eclipse to the local eclipse installation, the pde build works as expected! This leads me to the fact that the configuration of the target eclipse is incorrect, but at the moment when I have no idea how to configure it!

My goal is to automate the build of pde first on my local site without a link to my local eclipse, and then integrate this build process into our executable cruisecontrol instance.

As I already noticed another question about determining the target eclipse, I would be glad if anyone could make hints or facts about the problem.

Regards, Andreas

+6
eclipse build headless pde target-platform
source share
3 answers

When performing a headless assembly, the target can be separated from the eclipse, which actually triggers the assembly. The problem you are facing is that the eclipse that you used to run the assembly did not have a PDE / assembly installed.

This is why ${eclipse.pdebuild.scripts} not installed because PDE / Build was not installed on this eclipse instance, the org.eclipse.pde.build package was not allowed, and the code that sets this property was never called . Similarly, the required ant class entries for PDE / Build tasks would also not be configured properly.

You need Eclipse with PDE to start the build, but the build target can be separated from this.

In the build.properties file found in -Dbuilder=c:\pde-build\scripts , you can set several properties :

  • baseLocation This is the path to the eclipse, which is your goal.
  • buildDirectory will take place here, the source code will be added to the plugins / and functions / subfolders, but if there are already binary plugins there, they also become part of the goal.
  • pluginPath This is a list of paths (separated by ";" on windows or ":" on linux) containing other locations that should be considered as part of your goal. There may be several things in these places:
    • The root of an eclipse-like installation with plugins / and functions / subfolders. This is a good way to provide a delta package, and not just unzip it on top of your eclipse installation.
    • The root of a folder similar to the workspace, where all subfolders are considered plugins or functions depending on the presence of a manifest or feature.xml.
    • The root of the package or function or jar for the package.
  • If you are building p2 ( p2.gathering = true ), you can also provide p2 repositories under ${repoBaseLocation} that will be converted and placed under ${transformedRepoLocation} and will become part of your goal, and p2 metadata will get reused during build .
+5
source share

after some time of research, I found out what I have done wrong so far. As I said above, defining the target platform is not as simple as copying the SDK and plugins in one place (as it was in the early days of eclipse dev).

The working solution so far is as follows: Copy the eclipse SDK to the target location and run this version. Install the necessary PDE tools inside this to enable plug-in development. After that, close the IDE and copy the delta package + the corresponding svn plugin (I used org.eclipse.pde.build.svn-1.0.1RC2 from sourceforge) to the target platform, and you're done. Now my auto build PDE is working as expected.

Only a minor problem is this: the result product contains eclipse-dependent menu entries that are not there when I ran this from my dev-eclipse.

Any hints of this?

0
source share

I just posted the answer to my question on these topics, maybe this can help you:

VS Feature product plugin product

0
source share

All Articles