Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[epp-dev] Re: repository discussion - epp+galileo or galileo-only

Hi Thomas,

1. - Should be easy to solve.

2. - Yes, there was a reason to do it that way... it was the only working configuration.
One problem was always that the application that we are running is (always) the same (org.eclipse.ui.ide.workbench), provided by the org.eclipse.platform feature. This is the reason why it is *included* in the product defining feature. But the product extension point definition lives in its own plug-in.

The normal approach would be - and here you are correct - to add the package content as a list of *included* features to the top-level feature (or to the .product file as a feature dependency). But in this case you cannot export the "definition only" to a p2 repository, you need to have the complete Galileo content somewhere in your target or in your workspace. This is something that I am trying to avoid, since it is IMHO easier to create metadata and as less as possible additional artifacts because we need this repo as an augmenting repo for the p2 director call only.

Does that help to clarify it a bit? If someone tells me a way to circumvent this - and this way is really working I am happy to change it.

Regards, Markus



2009/4/29 Thomas Hallgren <thomas@xxxxxxx>
Hi Markus,
When looking at the packages I see two immediate problems.

1. Every package forms a circular dependency. The feature depends on the plugin that declares the product that points pack to the feature. This can be easily resolved by just moving the product definition to the feature.

2. The feature declares the package content in the form of requirements rather then included features and plugins. For a feature that defines a product, I would expect the requirements to be empty since the product in itself must be self contained. Is there any particular reason for this approach?

It would simplify the automation a great deal if we could change these two things. Would that be possible?

Regards,
Thomas Hallgren



Markus Knauer wrote:
Hi Thomas,

here is some input - let me know if you need more information about the process:

First step: Build a p2 repository that can be used by the p2 director to build a package.
Second step: Run the p2 director for each of the 4 platforms, create the package, zip it into an archive, etc.

While the second step is already scripted, the first one needs automation and is currently done by exporting things from my own workspace.

In order to customize the packages, each package has two projects in the EPP CVS (dev.eclipse.org:/cvsroot/technology - org.eclipse.epp/packages/...).
[1] A feature project that 'includes' the org.eclipse.platform feature and lists the package content as 'required' features.
[2] A branding plug-in with
 - the epp.product file used for the build, contains the product definition, which application to run, JVM settings, eclipse.ini information, etc.
 - the eclipse_XYZ_350.xml file (the former EPP config file) with the meta-information for the website
 - the package-specific plugin_customization.ini with the default perspective and probably other information

The manually created 'output' p2 repository for all packages is here http://download.eclipse.org/technology/epp/packages/galileo/milestones/ and contains ./plugins/..., ./features/... and of course the platform specific binaries in ./binaries/...

This p2 repository is used together with the main Galileo p2 repository to create the packages.

Regards, Markus



Back to the top