| Summary: | [api] [metadata] Need API for features? | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | DJ Houghton <dj.houghton> |
| Component: | p2 | Assignee: | P2 Inbox <equinox.p2-inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | dean.t.roberts, john.arthorne, pascal, thomas |
| Version: | 3.7 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | stalebug | ||
|
Description
DJ Houghton
I think there are two questions here: 1) Should we have a common copy of the feature code in p2 rather than many (code for parsing/writing)? 2) Should we have public API for anyone to use? My initial take is that having 1) would be fine but don't like the idea of 2). Conceptually feature.xml isn't sufficiently expressive to be a full authoring mechanism for installable units. So, today we have a combination of feature.xml and p2.inf to properly capture all the semantics. If you only look at the feature.xml you are only seeing part of the picture and are likely to misinterpret the metadata. So, clients in the outside world should really be dealing directly with IInstallableUnit, etc, rather than trying to parse/write feature.xml files themselves. Internally, we need to be able to parse/write both feature.xml and p2.inf but don't need full public API in order to do that. My answer to the question asked in the title (Need API for features) is a loud NO :) Features are dead, long live features. We use them as authoring mechanism because we don't have anything better. Unifying the parsing code of feature, sure, but nothing else. btw, talking of duplication we also have several copies of the product parser. As an advocate for Buckminster, a tool that where one common tasks is to extract, and sometimes modify, what's in the feature.xml, I would very much like to see #2. I'm well aware that the feature.xml isn't the way forward but our tool also need to support older and current builds. At present, the feature.xml file is the public interface for most people since it's the only thing that you can author using the IDE. I can't see any harm in having a public API that makes it easy to deal with the file. It's not likely to go away for some time. I would not be surprised if other tools in the same domain would be equally pleased if there was a public feature API. This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. If the bug is still relevant, please remove the "stalebug" whiteboard tag. |