-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Provide Cucumber JVM to Eclipse IDE plug-in developers #1622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
As you'll probably know this project is almost entirely developed by volunteers. So if you are willing to put in the work to develop, publish and maintain this it is certainly possible. You should probably talk directly to @aslakhellesoy on https://cucumber.io/support#slack to get the repository logistics sorted out. I would be happy to accept PR's that make eclipse integration possible. Though I suspect that they'll be aimed at providing plugin ad extension points more then new fundamental contributions. But we can discuss those if/when this feature is developed. |
When it comes to OSGi it's probably good to know that you'll still have to repackage cucumber jars. We've supported it for a while but getting and maintaining the correct bundle configuration was such a pain that we've given up on it. We're now very much of the opinion that the trouble of dealing with OSGi should fall with the people who use OSGi. |
I can submit a contribution; I will implement a generic solution as part of my projects anyway. Thanks for the suggestion, I will contact him to discuss the subject. I have actually already created a Cucumber OSGi bundle that works just fine and allows me to test my plug-ins. Luckily Cucumber JVM does not have a lot of dependencies so the number of JARs within the bundle is really manageable. When a new version of Cucumber is released, I just have to replace the old JARs by the new ones. It is a bit annoying but requires less than 30 minutes. Moreover, I believe that this step could be fully automated with the Maven Bundle Plugin even though I did not have the occasion to use it yet. Hence, I believe that providing a Cucumber OSGi bundle won't cause any major difficulties at the moment. What kind of issues did you face at that time? |
For each jar file, including our dependencies, we had to configure the manifest. This was rather fragile and any problems would only show up when run in an OSGi container. As this happened quite late in the process and as the errors were vague and time consuming to fix we decided to remove it. For a project that exists by the grace of the spare time of 2-4 people this sort of hassle isn't worth our while. |
Indeed this was a lot of work. The Maven plug-in that I would like to use should automatically generate all required manifests, so I should not face the same issue. I am very busy at the moment but I should be able to work on this during the incoming weeks. |
Which plugin would that be? I am somewhat skeptical to say the least. |
As said above, I plan to use the Maven Bundle Plugin, which is used by the Orbit Eclipse project in order to provide numerous third-parties as Eclipse bundles. I have also seen some alternatives such as the p2-maven-plugin that can be used to achieve similar purposes. |
Ah I missed that. How well does it work with shaded dependencies? |
@echebbi are you still interested in providing PR for this feature? |
Yes I am. I'll eventually need this feature for my own projects anyway but at the moment I sadly don't have the time to focus on this. |
With #1820 I've refactored resource loading to use the Additionally with the introduction of the JUnit Platform in #1530 Cucumber now also has a nice API to discover, filter and execute scenarios. I'll close this issue for now. What remains mostly depends on people putting in the effort to make our dependencies OSGI ready. I'm closing this for now. I'd like this to be off the backlog. But should you or anybody else be interested in doing this feel free to reopen this issue again! |
Great, thanks for the update! |
Summary
I develop plug-ins for the Eclipse IDE and started to use Cucumber JVM to test them. These plug-ins are written in Java but differ from "traditional" Maven projects since dependencies must be other Eclipse plug-ins.
Eclipse plug-ins are usually deployed as update sites.
Expected Behavior
Cucumber JVM is provided as an Eclipse plug-in through an update site so that plug-ins developers can easily use it.
Current Behavior
Cucumber JVM must be manually wrapped as an Eclipse plug-in in order to be use.
Possible Solution
The following actions are required:
Cucumber
JUnit runnerRegarding the latter, a custom runner is required especially because Eclise plug-ins use custom URI schemes (such as
bundleresource://
) to identify files. These schemes are not handled by the current runner.I initially submitted this issue in the cucumber-eclipse repository (cucumber/cucumber-eclipse#361) because they already deal with Eclipse, however they redirected me here because the project is aimed at providing tools for the Eclipse IDE.
That being said, I don't think that this repository is the right place to make these changes either. Maybe that it would be better to create a new repository aimed at providing Cucumber JVM to plug-ins developers?
The text was updated successfully, but these errors were encountered: