I switched to Gradle 7
$ gradle --version
------------------------------------------------------------
Gradle 7.4.2
------------------------------------------------------------
Build time: 2022-03-31 15:25:29 UTC
Revision: 540473b8118064efcc264694cbcaa4b677f61041
Kotlin: 1.5.31
Groovy: 3.0.9
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 1.8.0_322 (Amazon.com Inc. 25.322-b06)
OS: Mac OS X 12.2.1 x86_64
I tried the following build.gradle
plugins {
id "com.katalon.gradle-plugin" version "0.1.1"
}
repositories {
mavenCentral()
}
dependencies {
runtimeClasspath "io.cucumber:cucumber-picocontainer:7.2.3"
}
I ran the following command
$ gradle katalonCopyDependencies
I got a few jars in the Drivers folder
$ ls Drivers
katalon_generated_apiguardian-api-1.1.2.jar
katalon_generated_ci-environment-8.1.0.jar
katalon_generated_cucumber-core-7.2.3.jar
katalon_generated_cucumber-expressions-15.0.1.jar
katalon_generated_cucumber-gherkin-7.2.3.jar
katalon_generated_cucumber-gherkin-messages-7.2.3.jar
katalon_generated_cucumber-picocontainer-7.2.3.jar
katalon_generated_cucumber-plugin-7.2.3.jar
katalon_generated_datatable-7.2.3.jar
katalon_generated_docstring-7.2.3.jar
katalon_generated_html-formatter-17.0.0.jar
katalon_generated_messages-17.1.1.jar
katalon_generated_picocontainer-2.15.jar
katalon_generated_tag-expressions-4.1.0.jar
I got the required jars copied into the “Drivers” folder successfully.
(However, these jars are not “Fat”. It seems that the plugin v0.1.1 no longer uses Shadow JAR)
I have a doubt. As far as I see in the .classpath
file the new cucumber-core-7.2.3.jar
in the “Drivers” folder has lower precedece that the old cucumber-core_3.0.2.jar
which is bundled in the Katalon Studio v8.2.5 ZIP.
The precedence rule is simple. The cucumber-core_3.0.2.jar
appears first at the line#126, the cucumber-core_7.2.3.jar
appears later at the line #163. The jar that appears first in the list of <classpathentry>
tags in the .classpath
file has the precedence.
Therefore the newer version of cucumber-core
will not be used by Katalon Studio; Katalon Studio will use the older version of cucumber-core
.
@mike.duncan.ctr
I suppose you will get a bunch of version conflicts when you try to use the picocontainer.
Katalon offers a way to try to workaround version conflicts for yourself by excluding the older version of cucumber jars by following the instruction at
However please find that they wrote
io.cucumber.*.jar
Excluding those libraries may cause failure of the relevant features.
If you try to exclude cucumber-core_3.0.2.jar
then I am afraid you might get a serious failure in KS. I can not predict what will happen. I suppose that the only favourable resolution for @mike.duncan.ctr would be Katalon Team works and upgrades the version of io.cucumber library bundled in KS to the recent versions (v7.2.3 for example).
You may want to go back there.
The latest version of io.cucumber is 7.2.3 while Katalon Studio bundles io.cucumber of v3.0.2, which is 4 years old. Obviously Katalon team does not keep their products in sync with the recent development of Cucumber project. Perhaps they are no longer keen on supporting Cucumber. So, in my humble opinion, people who want to use the latest Cucumber features had better not use KS.