Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Plugin Development Environment (PDE) » PDE Build and P2 repositories
PDE Build and P2 repositories [message #524491] Thu, 01 April 2010 07:36
Markus Barchfeld is currently offline Markus BarchfeldFriend
Messages: 27
Registered: July 2009
Junior Member
Hello,

I have set up my PDE build(s) to become more "p2ish" and now I am wondering if I am on the right track. Let me start with an overview over my requirements, I want to

* define a target platform with a feature project. The target platform is supposed to be the foundation of the RCP product. It is supposed to contain all external binary depencendies, i.e. everything which is not build from source
* define an extended target platform with a feature project. This platform includes the target platform and all sources and runtime tooling, like test frameworks and so on. The build should produce a downloadable zip file and a p2 repository which the developers can pull add as target platform to their Eclipse installation
* define a feature based RCP application for which the build should produce shippable products for a couple of configurations (os, win, arch combinations)
* automate tests. Tests should run for every build, and every test should start with installing a test host from scratch consisting of
- the extended target platform,
- the features of the product and
- test features

I would like to give a sketch of my current approach first and then put my questions.

So far I have set up two builds:

1) A PDE headless build for the target platform

This build produces the target platform and the extended target platform
- artifacts are published to a targetPlatform repository
- the build host is an Eclipse SDK
- the baseLocation is a folder to which all the dependencies have been extracted, like an Eclipse SDK, EMF, GEF SDK, Nebula and Orbit bundles and so on
- some repositories from the Eclipse download site act as context repositories. For example the rcp-source repository if the target platform contains the rcp source feature.

2) A PDE headless build for the product and the tests

This build produces the shippable products and runs the tests.
- the baseLocation is the targetPlatform which has been extracted (installed) from the targetPlatform repository
- features are published to a separate build repository whereas the target repository is used as context repository
- since the build should create test features and shippable products a regular feature build has been deployed (i.e. *not* a product build calling the buildProduct.xml script). All features are published automatically to the build repository just by setting p2.gathering
- the metadata for the product is published in the postAssemble target of customTargets.xml where the p2.publish.product target is called
- the test host is installed with the p2.director from the build and targetPlatform repositories

Now I am wondering if it makes sense and if it conforms to the way p2 should be used from the build. In particular, I came across the following questions:

- At the time being the shippables do not contain executables. Just adding the RCP delta pack to baseLocation is not sufficient. Any idea what else is to be done?
- While I use the "RCP Source Repo" from the 3.5.2 build as a context repository I could not find a source repository for the platform ( http://update.eclipse.org/downloads/drops/R-3.5.2-2010021113 43/index.php)
- By calling p2.publish.product manually and not using the product headless build (productBuild.xml) I can not use the convenient configs property for generating the shippable products
- For installing a product I need a.jre.javase unit in one of the repositories, otherwise the packages required from the Java installation can not be satisfied. How do I create such jre.config? The p2.publish.product task does not seem to create one by default. My current solution is to start with an initial repository which contains an custom.xml with a unit for the jre.
- Is a p2 repository suitable for lots of versions or does the publishing/installation slow down over time?

Thanks for your patience and I would appreciate any hints and answers.
Markus
Previous Topic:Command Binding Scheme
Next Topic:PDE Build and P2 repositories
Goto Forum:
  


Current Time: Tue Mar 19 05:34:50 GMT 2024

Powered by FUDForum. Page generated in 0.04765 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top