Logan
Logan

Reputation: 1804

Gatling Gradle plugin not including transitive dependencies

I am using the official Gatling Gradle plugin in my Scala project and I am seeing an issue where dependencies included like

dependencies {
    gatling "LibraryA"
}

are not including transitive dependencies. That is, I have a Gatling simulation class that extends a class from LibraryB which LibraryA depends on. However, when I try to run the simulation, I get an error like

Symbol 'type ClassFromTheTransitiveDependency' is missing from the classpath.

When I look at the Gradle dependencies, I see the LibraryB as a dependency of LibraryA. My IDE (IntelliJ) also recognizes it when clicking through the code.

I've tried searching through the single page of documentation for the plugin, but I don't see anything helpful there. Is this just not supported or am I missing something?

Thanks in advance, and please excuse my Gradle/build mediocrity if it's something simple!

Upvotes: 0

Views: 1390

Answers (1)

Stéphane LANDELLE
Stéphane LANDELLE

Reputation: 6623

Your post is very incomplete in the sense that there's no way to investigate and help you based on the information you've provided. Typically, you should provide a way to reproduce your issue, see http://sscce.org.

Here's what I did:

  1. clone the official demo project
  2. added a dependency to OkHttp (that depends transitively on okio and kotlin)
  3. added code using OkHttp in the sample simulation
  4. ran ./gradlew gatlingRun
dependencies {
    gatling 'com.squareup.okhttp3:okhttp:4.9.0'
}
  import okhttp3._
  val client = new OkHttpClient()
  val request = new Request.Builder().url("https://gatling.io").build
  println(client.newCall(request).execute().body.string())

Everything works just fine, so the issue is most likely on your side and not with gatling-gradle-plugin. I would recommend starting from the official sample and adding pieces one by one until you figure out which one breaks.

Upvotes: 1

Related Questions