Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 402565 - [TERMINALS] cannot install standalone terminals feature if TM repo is not enabled
Summary: [TERMINALS] cannot install standalone terminals feature if TM repo is not ena...
Status: RESOLVED FIXED
Alias: None
Product: TCF
Classification: Tools
Component: Target (show other bugs)
Version: 1.1   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 1.2   Edit
Assignee: Martin Oberhuber CLA
QA Contact: Uwe Stieber CLA
URL:
Whiteboard:
Keywords:
Depends on: 392251
Blocks:
  Show dependency tree
 
Reported: 2013-03-06 13:30 EST by Martin Oberhuber CLA
Modified: 2014-08-14 14:55 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2013-03-06 13:30:57 EST
Build ID: TCF 1.1 NIGHTLY of 6-Mar-2013

This is a follow-up for bug 392251 (standalone terminals feature):

I'd like to add a listing for the Target Explorer Terminals feature onto the Eclipse Marketplace, such that it can be installed easily. But the Eclipse Marketplace only allows specifying a single p2 repository; so the dependency on "TM Terminal 3.3.2" can not be resolved easily, and install into Eclipse Juno SR2 SDK typically fails with a "missing dependency: org.eclipse.tm.terminal_3.3.2" error.

That's unfortunate, and I'm looking for a solution; see also my request on the mpc-dev mailing list, http://dev.eclipse.org/mhonarc/lists/mpc-dev/msg00296.html

One potential solution might be bundling the required tm.terminal.core items on the TCF p2 repo, would that be possible for the Tycho build ? I'd hope it should be possible, since Orbit plugins that are bundled are not any different ?
Comment 1 Martin Oberhuber CLA 2013-03-06 13:42:27 EST
On another note, does the terminals feature have to require Eclipse 3.8 via org.eclipse.core.expressions_3.4.400 ? Or would Eclipse 3.7 do also ?
Comment 2 Martin Oberhuber CLA 2013-03-07 05:43:57 EST
It looks like we can solve this problem by creating a p2 "aggregate repository" which has 2 children, (a) the TCF repo and (b) the TM repo; then the dependencies can be resolved.

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=313450#c6

I'm only a bit concerned about the maintenance effort for such an approach. It wouldn't be 100% clear what versions of TM termainal widget we'd consume. So I'm still a bit more comfortable with copying / mirroring the TM terminal widget bits that we consume into the TCF/TE repo during the build.

Is this something that Maven can do for us ?
Comment 3 Uwe Stieber CLA 2013-03-07 05:51:10 EST
(In reply to comment #2)

> Is this something that Maven can do for us ?

There are plugins which could be used to mirror things, but I haven't used them so far. So I cannot say for sure...
Comment 4 Uwe Stieber CLA 2013-08-25 12:05:46 EDT
Required TM Terminal features and plug-in's are now mirrored in the TCF P2 repository.
Comment 5 Martin Oberhuber CLA 2013-09-04 08:47:51 EDT
(In reply to Uwe Stieber from comment #4)
> Required TM Terminal features and plug-in's are now mirrored

I have tested the proposed solution and it creates the following problem:

Since TCF features now "include" a very specific version of the TM terminal feature (that they have been built with), when I install TCF first I can no longer install TM Terminal after than with even the slightest version difference.

I think that on feature level, we have to "require" TM functionality and not "include" it. Otherwise when TM and TCF contribute even slightly different versions to the simulatenous release we create an inconsistent configuration and TM and TCF cannot be installed together any more.

Let's take a step back and see what we want to accomplish here. If it's only about end users being able to install TCF Terminal standalone, it may be best doing this with a composite repository (on milestones and releases) which pulls in TM too.

To test, I have done this for this repository:

   http://download.eclipse.org/tools/tcf/builds/1.1/milestones

and it works: I can install the TCF Terminal standalone from the 1.1.x stream. The little drawback is, that all TM features and categories are now exposed in the UI too. But the original problem is solved. Can we live with this kind of solution ?
Comment 6 Martin Oberhuber CLA 2014-08-14 14:55:06 EDT
I'm going to mark this resolved since with the Marketplace Terminals Listing, we now provide a super easy way installing the standalone terminals feature without any additional dependencies.

https://marketplace.eclipse.org/content/tcf-terminals

Also, the terminals feature is now available from the simrel train as well, where it also resolves any dependencies.