Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Build product and then install with Tycho


I have met these problems when building my commercial product based on Eclipse and Xtext with Tycho so let me explain what I've done.
My product is composed of:
Several plugins
One feature composed of these plugins
One product feature that requires the preceding feature plus other (rcp, xtext)
One product composed of the product feature.

So, when you build the product, the P2 repository that is build will be a complete P2 repository will all you need in your product, so you don't need to install manually some features.

Now, let me explain why I have a product feature. If you directly reference various features in your product, then there is no way to specify versions constraints on those features in your product first, and also there is a strong relation between your product and the features it is composed of that will prevent to update these features independently from the product, which is not what I want.
So having an intermediate feature allowed me to specifiy version constraints at the product feature level.
Now, there is still one little problem.
The features that get installed into your product will be be "root" features (a root feature is a feature that can be updated independently) but are child features under the product.
So, in order to allow future installation of these features, I perform a manual installation of these features into the product thank to the eclipserun mojo and the P2Director application.
I don't know if this is clear enough but I can't show you the POMs because this is a commercial product but I'm working on a similar open source product that will be build following the same pattern.
It is hosted at, so have a look in the near future as the Tycho build is not yet complete.


On Fri, Apr 26, 2013 at 12:07 AM, Jason Litton <jason@xxxxxxxxxx> wrote:
Hi all,
I'm new to release and build engineering, and I'm trying to get our Eclipse builds off of pde and onto Tycho. But I'm getting blocked here. I was hoping I could describe our build workflow and see if there's anyone doing something similar and could give me some tips. I feel like I'm 90% there, but I can't find any examples or documentation that points the way.

1) Build all features and plugins <- this is fine with Tycho
2) Build a p2 update site <- also fine
3) Build a minimal Eclipse product (platform and help) with an executable <- also fine
4) Install the features from the p2 update site in step 2 into the product built in step 3 <- we do this so we can update those features later, I have no idea how to do this!

I've tried using the eclipse-run-plugin according to the example here:
But that doesn't give me an installation. If I include my features into my product definition and use the eclipe-repository type packaging, then those features can't be updated. Is there anyone else who is working this way? If so, can you point me towards an example or something that shows this kind of workflow? I've scoured google, and seen all the typical examples, but I don't see anyone doing it quite this way in them. If this is the wrong way to go, could I get some tips on setting up a product definition that includes features in a way that they CAN be updated?

Thanks a lot,
Jason Litton

tycho-user mailing list


"Legacy code" often differs from its suggested alternative by actually working and scaling.
 - Bjarne Stroustrup

Back to the top