Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-dev] [pde-dev] Resolving against multiple .target files

HI Mickael,

I'm sure there are use cases where users want to extend existing targets.  I'm not as certain that users need to be able to merge two target definitions.  Right now a user can duplicate an existing target file and add to it.  My concern is that your suggestion of multi-select on the preference page will add confusion to the more common workflows.

For reference, the page has checkboxes because we wanted to use a Table widget, not because we intended for it to be mult-select.  Any change here should consider what workflow/UI changes would be necessary if someday we support multiple target platforms in the workspace (target per project).

From a code perspective.  This change would require changes to the target API.  Depending on how it is implemented, it changes a significant assumption "there is one target platform defined by one ITargetDefinition".  Loading bundles from two targets isn't difficult.  However, what about other conflicting information such as OS/Arch/JRE/Implicit bundles.  I'm not sure about performance costs.  The resolution time would double, but the p2 caching scheme might not work correctly.  I could also see some flakiness due to how we store the target bundles in preferences for legacy reasons.

In conlusion, PDE doesn't support this change as described.  If there is another workflow that would satisfy your use cases we can take another look (i.e. Allowing target definitions to import from other target definitions dynamically).


From: Mickael Istria <mistria@xxxxxxxxxx>
To: pde-dev@xxxxxxxxxxx,
Cc: Tycho developers list <tycho-dev@xxxxxxxxxxx>
Date: 2012/09/07 09:13 AM
Subject: [pde-dev] Resolving against multiple .target files
Sent by: pde-dev-bounces@xxxxxxxxxxx

Hi all,

I'm cross-posting this discussion to both pde-dev and tycho-dev lists, please ensure you are subscribed to both and use "Reply To All".

This discussion is intended to have opinion from PDE folks on this enhancement request: "Allow multiple target files as input of target-platform-configuration plugin".

The general idea is that, in big "composite" projects, we may have most of the target-platforms (TP) in common between all components, and each component may want to provide an extension to this target-platform. It is the case for JBoss Tools, for which we'd like to provide all external/core -Eclipse, Atlassian, GWT...- dependencies in a target-platform that components would be forced to use, in order to ensure all components work together on the dependencies specified by the TP. Then each component should be able to "extend" this target-platform to add its internal dependencies on other JBoss components.
However, TPs are published to Nexus for sharing, and we don't want components to take and tweak our core TP.

In Tycho, that could be achieved by allowing support of several TPs simultaneously. So component B would say to Tycho: I want to resolve against the Core TP + this TP of mine (which defines dependencies on component A). Tycho would then resolve against those 2 TPs, just as if their locations were merged in a single .target file.
It's all about supporting some "pieces of target-platform".

What is the opinion of PDE guys on this topic? I think, given JBoss Tools use-cases that this is something that makes also a lot of sense to support in PDE, and in Tycho.
Moreover, in the preference page for target platforms, there are checkboxes instead of radio buttons, which means that I'm not the first one to think it would be useful to select several TPs ;)


Mickael Istria
Eclipse developer at
JBoss, by Red Hat
My blog - My Tweets_______________________________________________
pde-dev mailing list

Back to the top