IntelliJ support for Cucumber 4.7 - java

The project I am working on was recently upgraded to use cucumber version 4.72. This completely broke IntelliJ integration. I believe the reason is that in this version of Cucumber, package structure has changed.
As an example, in the "old" version, step definition classes would extend from cucumber.api.java8.En, whereas in the "new" version it's io.cucumber.java8.En. As a result, IntelliJ cannot find step definitions. There is a multitude of other changes.
I'm on the latest version of IntelliJ Ultimate (2019.2.2, dated September 6, 2019) and the Cucumber plugin is listed as "bundled".
Is there any trick to getting IntelliJ to work with the latest version of Cucumber or do I have to patiently wait until some future IntelliJ version will add this support? If the second, does anyone know when this may be forthcoming?

About this issue, Andrey Vokin who is the fixer of this issue was shared a plugin in the comments, I am using it for now and it works fine. Otherwise we need to wait for next fix/release. This plug-in was for cucumber v 4.5.1 however my colleague is fine with that plugin on cucumber 4.7.x
Plug-in download link
Youtrack Issue : IDEA-217391

Related

Plugin for Java 15 support in eclipse 2020-09 no longer available

This question is similar to this one. I know you need to have this plugin to support Java 15 in eclipse 2020-09, however, it doesn't seem to be available any longer.
When I try to install it via the marketplace, I am getting this error:
No repository found at
https://download.eclipse.org/eclipse/updates/4.17-P-builds/.
Is there a way to install it from other sources?
I know that eclipse 2020-12 has been released, but we cannot use it due to bug #569498 (which didn't happen in eclipse 2020-09). So we would really need a way to install Java 15 support in eclipse 2020-09.
Because of regressions in 4.18, I decided to recreate 4.17-P-builds repository.
Please note this will be available till 4.19 is released or we decide to create a patch for 4.18 release.
I got a answer from the eclipse forums
Java 15 support is included in eclipse 4.18(2020-12). As part of
cleaning old releases we removed 4.17-P-builds repo as it is not
supported anymore.
Please upgrade to 2020-12 to continue work on java 15

Upgrading Gradle

I am fully aware that there are pages on the Gradle website that say how to upgrade, but only from 4.x and up.
I am trying to follow a tutorial in making a simple 'my first' Minecraft mod. In it, you are told to install forge 1.7.10, which, from what I understand runs on Gradle 2.0.
In order for me to continue with the tutorial, after some digging, it appears that Gradle 2.0 is not compatible with JDK 12.0.2, but I'm not entirely sure how to solve this.
any help is much 'preciated.
extending the answer from Chriki, you can change the gradle version in $projectroot/gradle/wrapper/gradle-wrapper.properties
here you can change the path to point to already downloaded gradle-bin,
something like this (distributionUrl=../../../build/tools/gradle-4.10.3-bin.zip)
or directly to gradle repository
(e.g. distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip)
I’m afraid, you have a chicken and egg problem here: your JDK 12 requires a recent Gradle version (at least 5.4, if I’m not mistaken). At the same time, the forge plugin that is used in your build doesn’t support Gradle 5, yet.
Maybe you can install and use JDK 11 instead? In that case you could work with Gradle 4 with which the forge plugin also seems to work. With my JDK 11 installation I could get the build to work as follows:
sed -i 's/gradle-2.0/gradle-4.10.3/' gradle/wrapper/gradle-wrapper.properties
This changes the Gradle wrapper version to 4.10.3 in gradle/wrapper/gradle-wrapper.properties (can also be done manually with a text editor). When I now run
./gradlew project
the build seems to generally work fine. It only complains: “You must set the Minecraft Version!” That’s a different matter, though.
For anyone here from Google, Minecraft Forge versions below 1.12 DO NOT SUPPORT any java version besides JDK8. You need to install JDK8.
The maximum version you can update your Gradle to is therefore 4.8.1, as any versions above that require JDK9.

STS Grails compatibility

I'm not able to find the grails perspective in my latest release download of spring tool suite 3.8.2
I've created GRAILS_HOME varialble as C:\grails-2.4.4
path variable as %GRAILS_HOME%\bin
and similarly JAVA_HOME and its path variable.
Still not able to find the Grails perspective in STS.
The Grails support is no longer available for the Spring Tool Suite, at least not the Grails support that we worked on in the past. There was an announcement from Pivotal about the general topic a while ago: https://blog.pivotal.io/pivotal/news/groovy-2-4-and-grails-3-0-to-be-last-major-releases-under-pivotal-sponsorship. This also included to not working on the tooling for Eclipse anymore.
If you want to, you can download the final version of the Groovy-Grails-Tool-Suite from here: https://spring.io/tools/ggts/all. It is version 3.6.4, based on Eclipse 4.4.2.
The marketplace entry that is mentioned in another comment refers to this version of the Groovy-Grails support - and should not be installed on Eclipse versions higher than 4.4.2.
We also do not officially support and work on the Groovy support for Eclipse anymore, but there is still a version available that works with the latest versions of Eclipse.
If you are (or someone else is) interested in taking over those tooling projects, feel free to reach out to us. We would be more than happy to provide some support in taking over those projects.
Looks like this has been dropped some time ago:
http://docs.spring.io/sts/nan/v370/NewAndNoteworthy.html

Trying to add JUnit3 library to Java project in Eclipse ADT - "the selected JUnit version is not available."

I want to start writing automated application tests for my android app and Im following this tutorial
http://developer.android.com/tools/testing/testing_ui.html
right down the middle it says "add a new java project, then go to build path and add JUnit 3 library"
So I did, and here is what happens:
As mentioned in the comments --
Tutorials like this one, once written, are rarely if ever updated.
Java 5 (2008) and jUnit 3 (2007) are both ancient; you should be fine just using the new versions of both -- they're (mostly) backwards-compatible.
A side note: Eclipse doesn't care about the versions of the plugins its running: it comes bundled with the latest ones at the time of build, but you can install older or newer ones if you have to. Android, on the other hand, has been known to complain about some dependencies (see
IntelliJ IDEA with Junit 4.7 "!!! JUnit version 3.8 or later expected:"), but these cases are few and far between, and well-documented to boot

Why wouldn't I want to use the newest version of Eclipse?

I do mostly google app engine coding, and a little bit of android development, and don't understand why I wouldn't want my Eclipse ide to always be at the most recent release, or version. It seems like there are some plugins that wouldn't be compatible, but couldn't you just install the missing features from an old release of Eclipse into the newest release?
I'd say that always having the most up to date version of program x really isn't necessary. I think the most important thing is having a set of tools that you know how to use well. Upgrade those tools when there is a reason to do so, not just because there is a new version of them.
By far the predominant reason for not upgrading is lack of support for the new release from the plugins that you require. You cannot just install "missing features". Most of the time, the incompatibility is due to changes in the new version of an existing feature. Plugins that ship from eclipse.org are tested together in coordinated releases. While in some cases, it may be possible to down-version a plugin and have that plugin still work in the new version of Eclipse, it is not something that you can depend on working. In fact, the odds of this working without issues are so small, that I wouldn't bother trying.
Stick with whatever version of Eclipse your required plugins support until those plugins upgrade their support. If they aren't moving fast enough, consider pestering the provider about this issue. If nothing else, knowing how big of a chunk of the community cares about support for the latest version of Eclipse will help the plugin provider prioritize their work.
You can do that. If you want to compile against an older Eclipse version, this can be done very easily.
e.g. if you want to develop with Eclipse 3.6:
download Eclipse 3.5 and extract it (e.g. c:\development\targetplatforms\eclipse3.5).
start Eclipse 3.6, choose your workspace where you want to use the Target Platform.
open the Menu Window->Preferences, type target in the search field, and add a new Target Platform (Nothing: Start with an empty target definition -> Add -> Direcotry -> choose the unzipped Eclipse 3.5)
There are some advantages of using a target platform. You have the newest IDE Features. You can build your product against older Eclipse Versions without having to port it to your newses IDE version. You can add Plugins to your Target Platform without contaminating your ide or add Plugins to your IDE withoud contaminating your Target Platform. ...
You should bundle your Target Platform with your Project, so you don't have to download it again. We have a TargetPlatform Project in our SVN Repostory. Every Project has a small readme how to setup the Workspace (targetplatform, deployment, ....).
Why wouldn't I want to use the newest version of Eclipse?
Because IntelliJ IDEA provides a Community Edition. :)

Categories

Resources