Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Assembling product with CDT features

Hi Milan,

On 16 April 2018 at 16:05, Milan Kubec <milan.kubec@xxxxxxxxxxxxxx> wrote:
Hello Thomas,
thank for reply.

We have a product file, which contains the definition of the product (based on features) and Tycho creates our product correctly according to it. The problem is that we are not quite sure whether we need all those features that are in the list, whether we should include something more (e.g. to support some new feature etc.), whether there is some umbrella feature that includes needed features for particular functional area and so on.

The answer to this is a standard "it depends". Different parts of CDT and Eclipse ecosystem are at different levels of support/quality/maintained. It should be the case that you include a feature or plug-in in your requirements and all dependencies are picked up automatically. If you find cases where that is broken I can help add the missing dependencies. As an example, CDT already ships with a standalone product, the Standalone Debugger. It's product file for reference is http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/tree/debug/org.eclipse.cdt.debug.application.product/debug.product 


And other aspect of the product definition is not clear to me - how to actually define dependencies on external parts of Eclipse and CDT to actually create complete product by using 'Install New Software'. I mean features that just comprise the product, not real dependencies in the sense of compilation dependencies. I tried to create category.xml definition similar to our product definition and after installing such product from Update Site the product just wasn't complete. So I assume I'm missing some definition of dependencies just for the sake of creating complete product.

One way is to have an additional feature that depends on all the features that make up your product. Generally that works well, but has some drawbacks because it means some individual components are not independently upgradable. The EPP project (which makes the downloads available on eclipse.org) does it a little better by having the product file depend on all the features. Have a look at that in their git repo: http://git.eclipse.org/c/epp/org.eclipse.epp.packages.git/tree/packages/org.eclipse.epp.package.cpp.product/epp.product

HTH,
Jonah



Back to the top