Sep 10 2009

Eclipse PDT and Zend Studio are really nice editors for general use. Once they’re set up the way you want, they work mostly fine. I have an issue where I type a dollar symbol ($) and the code assist goes off in a wobbly, probably due to the size of the projects we work on at Netbasic, and the fact that we’re all working off a network drive (ridiculous in my opinion…).

The biggest gripe I have with Eclipse however, is trying to install plug-ins. I don’t think I’ve EVER installed a plug-in without having to manually mess around with dependencies and trying to manually resolve them. It’s a HUGE downfall, and makes any Eclipse IDE virtually unusable. It’s intensely annoying when I just want to get on with things, but some bloody plug-in I need (normally the CollabNet/Mylyn plugins) just won’t install without getting in a hissy fit.

Take for example this latest error:

Cannot complete the install because of a conflicting dependency.
Software being installed: Mylyn Task List (Required) 3.2.0.v20090617-0100-e3x (org.eclipse.mylyn_feature.feature.group 3.2.0.v20090617-0100-e3x)
Software currently installed: Zend Studio 7.0.0.v20090806 (com.zend.php.ide 7.0.0.v20090806)
Only one of the following can be installed at once:
Java 5 Compatibility Checker 3.2.0.v20090617-0100-e3x (org.eclipse.mylyn.compatibility 3.2.0.v20090617-0100-e3x)
Java 5 Compatibility Checker 3.2.1.v20090722-0200-e3x (org.eclipse.mylyn.compatibility 3.2.1.v20090722-0200-e3x)
Cannot satisfy dependency:
From: Zend Studio 7.0.0.v20090806 (com.zend.php.ide 7.0.0.v20090806)
To: org.eclipse.mylyn.ide_feature.feature.group [3.2.1.v20090722-0200-e3x]
Cannot satisfy dependency:
From: Mylyn Task-Focused Interface (Recommended) 3.2.1.v20090722-0200-e3x (org.eclipse.mylyn.context_feature.feature.group 3.2.1.v20090722-0200-e3x)
To: org.eclipse.mylyn_feature.feature.group [3.2.1.v20090722-0200-e3x]
Cannot satisfy dependency:
From: Mylyn Bridge: Eclipse IDE 3.2.1.v20090722-0200-e3x (org.eclipse.mylyn.ide_feature.feature.group 3.2.1.v20090722-0200-e3x)
To: org.eclipse.mylyn.team_feature.feature.group [3.2.1.v20090722-0200-e3x]
Cannot satisfy dependency:
From: Mylyn Bridge: Team Support 3.2.1.v20090722-0200-e3x (org.eclipse.mylyn.team_feature.feature.group 3.2.1.v20090722-0200-e3x)
To: org.eclipse.mylyn.context_feature.feature.group [3.2.1.v20090722-0200-e3x]
Cannot satisfy dependency:
From: Mylyn Task List (Required) 3.2.0.v20090617-0100-e3x (org.eclipse.mylyn_feature.feature.group 3.2.0.v20090617-0100-e3x)
To: org.eclipse.mylyn.compatibility [3.2.0.v20090617-0100-e3x]
Cannot satisfy dependency:
From: Mylyn Task List (Required) 3.2.1.v20090722-0200-e3x (org.eclipse.mylyn_feature.feature.group 3.2.1.v20090722-0200-e3x)
To: org.eclipse.mylyn.compatibility [3.2.1.v20090722-0200-e3x]

From what I understand here, I can’t install Mylyn because of a 0.0.1 version difference. Because of two packages that were released within a month of each other?! That – in my opinion – is stupid. I just want to get on with things but I can’t because of this.

I sincerely hope the next version of Eclipse will sort out this stupid dependency issue, as if I was the Eclipse development team, this sort of difficulty-of-use issue would be a real show-stopper. In addition, I have no idea why Zend would base their €399 IDE which is meant to be a “professional-grade” solution to “maximise developer productivity” on such a shoddy, buggy IDE.

9 Responses to “Eclipse, why do you make installing plugins so hard?”

  1. Roy Ganor says:

    There is a relatively simple solution for this issue – install Zend Studio as a plugin (add http://downloads.zend.com/studio-eclipse/updates/7_1/ to Eclipse PDT 2.1 and here you go!).

    You should also update to Zend Studio 7.0.1 that was released this week ;)

    The origin of this “experience” is that Eclipse equinox team changed its p2 update mechanism since Galileo (3.5). There are two options available for products installations:

    1. Mostly for well established products – like Zend Studio. Deliver a product that can be updated only by a direct order of the product maintainer (in our case – Zend).

    2. Mostly for cowboys :) – deliver a plugin on top of a “lighter” product that installs installable units (IU) on top of it where the product dependencies are handled by the user. in this case the IDE is more flexible to do whatever he wants with the product dependencies.

    ok, I know it sounds a little bit complex but it is really easy to understand once you will install Zend Studio as a plugin rather than install it as a product.

    Enjoy ;)
    Roy

  2. James says:

    Hi there – thanks for your comment (and it is useful, but not for this issue!), but I think you missed the point. It’s not Zend Studio that I have the problem with, it’s Eclipse’s updater – even with Eclipse PDT (no Zend) I still have issues installing plugins such as CollabNet for Eclipse, Mylyn, Subversion etc. – it’s not related to Zend Studio because it also happens with Eclipse PDT. The whole dependencies thing is just terrible.

    Dependencies are a stupid idea (rather, leaving it up to end users to resolve dependencies is a stupid idea), and software these days should be clever enough to figure out what it needs to do – and not expect end users such as myself to have to trawl through their install, hacking away at jar files which they don’t understand, just to get their IDE to work!

  3. Nick says:

    I agree with the poster – the plugin management is tooooooooo unreliable (I disagree it is hard – in concept is is great – it just does not work !! )

    This is a common problem with open source – and Java / Spring apps – the installs do not work RELIABLY!

    Everyone wonders why MS has such a good market penetration – it is simply because you can install it and it works

    I have got the latest Gallleo build, and followed the install instructions above – but the last part fails

    Cannot complete the install because one or more required items could not be found.
    Software being installed: SpringSource Tool Suite (required) 2.2.0.200910090800-CI-R3877-B419 (com.springsource.sts.feature.group 2.2.0.200910090800-CI-R3877-B419)
    Missing requirement: SpringSource Tool Suite (required) 2.2.0.200910090800-CI-R3877-B419 (com.springsource.sts.feature.group 2.2.0.200910090800-CI-R3877-B419) requires ‘org.eclipse.mylyn.context_feature.feature.group [3.3.0.I20091008,3.4.0)’ but it could not be found

    Dependency resolution is simply a PAIN in the butt with Java (I love Java, I am a Java developer – but it is a pain in the butt) – why can we not have common repositories that are maintained and COMPLETE – i.e why is this not published to the eclipse plugins location so it can work find what it needs?
    And why do you have 4 separate plugins to install – why not have a wrapper plugin that installs all the ones it needs – it is not hard to make this simple and reliable – I frequently end up having to fight eclipse plugins to get them to work correctly ;-(

  4. SteveO says:

    @Nick: I have the exact same install error where the following cannot be found:

    org.eclipse.mylyn.context_feature.feature.group [3.3.0.I20091008,3.4.0)

    I’v been struggling with my spring installation all day. Have you found a resolution to this error?

  5. MohammadR says:

    Same here. I get the same error and have been working on it for a couple of days with no luck. I guess the problem is that the Mylyn feature group that Spring is dependent upon is either not released yet or the eclipse site is not up to date!

    If the resolution is found, would appreciate sharing it.

  6. denver_14 says:

    I had faced the same problem while installing Mylyn Connector for Trac on the Galilio release.
    After an hour I’ve managed to solve it, I think :)

    Trac Connector is installed from http://download.eclipse.org/tools/mylyn/update/extras and in the Ganymede release it was ok.

    But I don’t know really which of two steps was the solution (i’ve made them both):
    1. Added Mylyn weekly updates site http://download.eclipse.org/tools/mylyn/update/weekly/e3.4 – note the ‘weekly’ dir in the url.
    2. Selected to install two plugins: Mylyn Connector for Trac (the one I actually need) AND Mylyn Extras SDK.

    And I think that the last one could install its dependencies with feature.group class.

  7. denver_14 says:

    I’ve just tested this at home on a fresh Galileo installation.
    Installing Mylyn Extras SDK seems to solve the problem for me.

  8. Eric says:

    I had to manually download the specific version from the old versions page:
    http://www.eclipse.org/mylyn/builds/

  9. David says:

    Following Erics advice worked for me as well. Thanks for that!

    What I had to do was to download the older versions (3.3.o in my case)
    …mylyn/update-archive/3.3.0/v20091015-0500/e3.4
    and
    …mylyn/update-archive/3.3.0/v20091015-0500/extras
    and unzip them into two different directories, then add these as two differen locations in the eclipse “Available Software Sites” preferences.

    Then I finally managed to do the Mylin-Jira connector updrade.

    I agree with original post that this sucks *@#, but I’m sort of pleased now that it’s working

Leave a Reply