cucumber / cucumber-eclipse

Eclipse plugin for Cucumber
MIT License
190 stars 147 forks source link

Cannot install Cucumber Eclipse v2.0.0.202310250856 on a clean Eclipse v4.29.0 #507

Open rdeltour opened 7 months ago

rdeltour commented 7 months ago

πŸ‘“ What did you see?

I'm trying to install the latest Cucumber for Eclipse plugin on a fresh Eclipse install (Eclipse IDE for Java), but the install fails due to missing dependencies.

πŸ“¦ Which tool/library version are you using?

πŸ”¬ How could we reproduce it?

Steps to reproduce the behavior:

  1. Downloaded an installed a clean Eclipse for Java (v4.29.0)
  2. Manually added https://cucumber.github.io/cucumber-eclipse/update-site/main/ as an update site
  3. Tried to install Cucumber Eclipse feature v2.0.0.202310250856
  4. The install fails with the following details:
Cannot complete the install because one or more required items could not be found.
  Software being installed: Cucumber Eclipse 2.0.0.202310250856 (cucumber.eclipse.feature.feature.group 2.0.0.202310250856)
  Missing requirement: io.cucumber:cucumber-core:6.9.1 6.9.1 (io.cucumber.cucumber-core 6.9.1) requires 'java.package; io.cucumber.cucumberexpressions [10.3.0,11.0.0)' but it could not be found
  Cannot satisfy dependency:
    From: Cucumber Eclipse 2.0.0.202310250856 (cucumber.eclipse.feature.feature.group 2.0.0.202310250856)
    To: org.eclipse.equinox.p2.iu; io.cucumber.cucumber-core [6.9.1,6.9.1]

πŸ“š Any additional context?

On another setup I had v2.0.0.202303191054 installed. The feature included "Ansi Console" and "third party dependencies", which seem to be missing in the v202310250856 feature. I could update that older setup to v2.0.0.202303191054 just fine, but I am not able to install v2.0.0.202310250856 from scratch.

rdeltour commented 7 months ago

For anyone facing the same issue, you can work around it by installing from an offline local copy of the update site:

  1. fetch a local clone of this git repo
  2. check out the gh-pages branch
  3. revert to an old working version (e.g. 66a7a9f)
  4. serve the repo using a simple HTTP server (for instance run python3 -m http.server 8080 in the repo directory)
  5. add the local site (http://localhost:8080/update-site/main/) as an update site
  6. disable http-to-https redirection in the settings (Eclipse preferences -> Install/Update -> Trust -> Authorities tab -> select "Allow" as the http protocol rule)
  7. you can then install the older version of the plugin, and later update to the newer one once the dependencies have been properly installed
benken-parasoft commented 6 months ago

serve the repo using a simple HTTP server

You don't need to do this. Using "file:" URL has always worked fine.

install the older version of the plugin, and later update to the newer one

This trick worked. Thanks.

jaincharu27 commented 6 months ago

I am getting similar issue. Not able to resolve it. Using https://cucumber.github.io/cucumber-eclipse/update-site/main/

Cannot complete the install because one or more required items could not be found. Software being installed: Cucumber Eclipse 2.0.0.202310250856 (cucumber.eclipse.feature.feature.group 2.0.0.202310250856) Missing requirement: Cucumber Eclipse 2.0.0.202310250856 (cucumber.eclipse.feature.feature.group 2.0.0.202310250856) requires 'org.eclipse.equinox.p2.iu; org.eclipse.unittest.ui 0.0.0' but it could not be found

nitind commented 7 hours ago

Looks like the target definition refers explicitly to cucumber-core:6.9.1 and cucumber-expressions:11.0.0, which are incompatible.