| Summary: | Support obr packaging | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Christoph Laeubrich <laeubi> |
| Component: | Tycho | Assignee: | Project Inbox <tycho-inbox> |
| Status: | CLOSED MOVED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | mistria |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: | https://github.com/eclipse/tycho/issues/34 | ||
| Whiteboard: | |||
| Bug Depends on: | 393648 | ||
| Bug Blocks: | |||
|
Description
Christoph Laeubrich
Tycho is for building Eclipse artifacts. Before working on publishing to this format, we should work on making Eclipse IDE able to install content from such OBR repositories, and that is more something for p2. Please consider reopening bug 393648 and adding support for OBR in p2 first. From your mentioned bug-report it seems it is not directly related to P2 but to PDE to support this in a target file right? Supporting it in P2 would be just to resolve dependencies from other P2 Units and even though that's clearly possible it sounds a bit uncommon to me? BTW Tycho supports some features that PDE/Eclipse won't (multiple target files, special entries in category.xml, ...) so it seams that at least in the past it was okay to have tycho support other things first :-) Its also a bit of a chicken-egg problem, if we can't produce OBR how would someone want to use it? But of course I think for a real solution there will be needs to support it in tycho and in the IDE! (In reply to Christoph Laeubrich from comment #3) > From your mentioned bug-report it seems it is not directly related to P2 but > to PDE to support this in a target file right? > Supporting it in P2 would be just to resolve dependencies from other P2 > Units and even though that's clearly possible it sounds a bit uncommon to me? It was initially about P2 being able to consume OBR bundle, so it would automatically cascade to Tycho and PDE and others having this feature. However, you may be right, a dev-time only feature (eg support in .target) could be enough. I'm just not sure having it in Tycho and PDE is in the end easier than having it directly in p2. > BTW Tycho supports some features that PDE/Eclipse won't (multiple target > files, special entries in category.xml, ...) so it seams that at least in > the past it was okay to have tycho support other things first :-) That's right. I think what makes a difference here is that OBR is not a technology that has been necessary for Eclipse-based development for a long time. So adding support for it seems to widen the scope of Tycho; and the wider the scope is the more difficult it's to maintain the project. > Its also a bit of a chicken-egg problem, if we can't produce OBR how would > someone want to use it? What's the actual use-case here? If there are no pre-existing OBR repos, why even trying to support and produce them when p2 does the job? I see this as a nice-to-have feature; but I'm curious about actual user-stories that can make the effort profitable both on short and long term. (In reply to Mickael Istria from comment #4) > It was initially about P2 being able to consume OBR bundle, so it would > automatically cascade to Tycho and PDE and others having this feature. > However, you may be right, a dev-time only feature (eg support in .target) > could be enough. I'm just not sure having it in Tycho and PDE is in the end > easier than having it directly in p2. AFAIK OBR does not really has the concept of "units" instead it uses filter expressions to reference items to install, I'm not sure if this maps well to the P2 concepts. > I think what makes a difference here is that OBR is not a technology that > has been necessary for Eclipse-based development for a long time. So adding > support for it seems to widen the scope of Tycho; and the wider the scope is > the more difficult it's to maintain the project. Its a bit a matter of a self fulfilling prophecy, if there is no support for it people won't use it and because people don't use it we won't add support for it :-) > What's the actual use-case here? If there are no pre-existing OBR repos, why > even trying to support and produce them when p2 does the job? > I see this as a nice-to-have feature; but I'm curious about actual > user-stories that can make the effort profitable both on short and long term. For my use-case there are two major problems with P2: 1) P2 is a complete dependency mess (it requires ~40 bundles to be added to a plain RCP application to work) the UI is so tightly coupled to Eclipse E3 that makes it impossible to reuse it outside a fully-fledged Eclipse IDE 2) It is proprietary to eclipse and thus limits its use in other platforms/frameworks e.g. the felix-bundle-plugin generates an OBR index file for bundles installed into local maven repo, if tycho would reuse this instead of creating proprietary p2 metadata interaction between those would be much more easy because of that for years I have used the approach to build a repository and generate an OBR from the "plugins" folder using bindex command-line tool, that works but of course is far away from a nice solution. These repos are then used inside the application to support a very slim updater for an RCP Application. So the goal is to make Tycho artifacts more easily consumed by Felix? Or any OBR compatible implementation, BND also supports OBR repositories, also karaf. And can't we already use some already existing BND plugin to produce those OBR repository? There is a command line utility [1] and bnd lib contains a utility class for creating such indexes that could be reused here. [1] https://bnd.bndtools.org/commands/index.html [2] https://github.com/bndtools/bnd/blob/a33a1a0a42ba70bae26226058ca81a5d69f6c0a8/biz.aQute.bndlib/src/aQute/bnd/osgi/repository/SimpleIndexer.java (In reply to Christoph Laeubrich from comment #9) > There is a command line utility [1] and bnd lib contains a utility class for > creating such indexes that could be reused here. Good. Have you investigated using the maven-antrun-plugin or the exec-maven-plugin or any other executor plugin with bnd in the classpath to invoke `java aQute.bnd.main.bnd index ...` as part of the reactor ? Eclipse Tycho is moving away from this bugs.eclipse.org issue tracker to https://github.com/eclipse/tycho/issues/ instead. If this issue is relevant to you, your action is required. 0. Verify this issue is still happening with latest Tycho 2.4.0-SNAPSHOT if issue has disappeared, please change status of this issue to "CLOSED WORKFORME" with some details about your testing environment and how you did verify the issue; and you're done if issue is still present when latest release: * Create a new issue at https://github.com/eclipse/tycho/issues/ ** Use as title in GitHub the title of this Bugzilla ticket (may include the bug number or not, at your own convenience) ** In the GitHub description, start with a link to this bugzilla ticket ** Optionally add new content to the description if it can helps towards resolution ** Submit GitHub issue * Update bugzilla ticket ** Add to "See also" property (up right column) the link to the newly created GitHub issue ** Add a comment "Migrated to <link-to-newly-created-GitHub-issue>" ** Set status as CLOSED MOVED ** Submit All issues that remain open will be automatically closed next week or so. Then the Bugzilla component for Tycho will be archived and made read-only. |