I am working on setting up a build system for a feature that requires some bundles from the eclipse Orbit project. Initially just to get running I had the build running with checkouts of all of our plugins, and then checkouts of the orbit bundles. I want to have the build use the http get feature of PDE build to get the bundles from orbit.
To do this I edited all.map for one of the plugins, now the bundles are retrieved, the build runs, I see that the bundle does get copied to buildDirectory/plugins, but the retrieved bundles do not make it into the update site.
looks like a good fit, well, thats a little bit of a pain. I'll try and find out how the eclipse projects manage orbit/binary plugins in general. They obviously do something to make these orbit bundles appear in the platform. If I found out, I'll post it here for reference.
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The folks at Eclipse use http-get entries in the map files to fetch orbit plug-ins and add them to the target platform. Then they can compile their own features which depend on them. In order to get the orbit plug-ins into the build results (like RCP, platform, SDK, and so on) they use the package.xml script (which is one of the scripts the PDE build provides, similar to build.xml and product.xml).
So, the PDE build script ignores binary plug-ins but the PDE package script can be used to repackage binary plug-ins from your target platform.
Hello,
I am working on setting up a build system for a feature that requires some bundles from the eclipse Orbit project. Initially just to get running I had the build running with checkouts of all of our plugins, and then checkouts of the orbit bundles. I want to have the build use the http get feature of PDE build to get the bundles from orbit.
To do this I edited all.map for one of the plugins, now the bundles are retrieved, the build runs, I see that the bundle does get copied to buildDirectory/plugins, but the retrieved bundles do not make it into the update site.
In package.[feature].xml I see;
<copy file="${baseLocation}/plugins/com.ibm.icu_3.8.1.v20080530.jar" tofile="${assemblyTempDir}/${pluginArchivePrefix}/com.ibm.icu_3.8.1.v20080530.jar"/>
<copy todir="${assemblyTempDir}/${pluginArchivePrefix}/javax.xml.rpc_1.1.0.v200806030420" failonerror="false" overwrite="false">
<fileset dir="/home/adam/developer/buildLocal/plugins/javax.xml.rpc_1.1.0.v200806030420">
<exclude name="build.properties"/>
<exclude name=".project"/>
<exclude name=".classpath"/>
</fileset>
</copy>
as you can see one of the bundles comes as a jar, the other comes as a zip, which is expanded on retrieval.
Any suggestions as to what is going wrong, and how I can work around this would be most appreciated.
Thanks,
Adam Berry
Could this be related to https://bugs.eclipse.org/bugs/show_bug.cgi?id=67910?
AFAIU binary plugins will never be added to your features.
looks like a good fit, well, thats a little bit of a pain. I'll try and find out how the eclipse projects manage orbit/binary plugins in general. They obviously do something to make these orbit bundles appear in the platform. If I found out, I'll post it here for reference.
Thanks
Adam,
Have you solved the problem? The bug ID from Markus' message is not valid anymore. And it would save me sometime researching the same topic.
Thanks
Stefan
Hi Stefan,
The folks at Eclipse use http-get entries in the map files to fetch orbit plug-ins and add them to the target platform. Then they can compile their own features which depend on them. In order to get the orbit plug-ins into the build results (like RCP, platform, SDK, and so on) they use the package.xml script (which is one of the scripts the PDE build provides, similar to build.xml and product.xml).
So, the PDE build script ignores binary plug-ins but the PDE package script can be used to repackage binary plug-ins from your target platform.
see
http://dev.eclipse.org/viewcvs/index.cgi/pde/build/org.eclipse.pde.build/scripts/
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.releng.eclipsebuilder/