plugins { id 'scala' id 'io.gatling.gradle' version '3.15.0.1' } gatling { enterprise { // Enterprise Cloud configuration reference: https://docs.gatling.io/reference/integrations/build-tools/gradle-plugin/#running-your-simulations-on-gatling-enterprise-cloud } } tasks.withType(ScalaCompile) { scalaCompileOptions.forkOptions.with { jvmArgs = ['-Xss100m'] // Scala compiler may require a larger stack size when compiling Gatling simulations } } tasks.withType(io.gatling.gradle.GatlingRunTask) { jvmArgs = [ '--add-opens=java.base/java.lang=ALL-UNNAMED', "-Dtarget.baseUrl=${findProperty('baseUrl') ?: 'http://localhost:8080'}", "-Dgatling.authToken=${findProperty('authToken') ?: System.getenv('GATLING_AUTH_TOKEN') ?: ''}", "-Dhealthz.path=${findProperty('healthzPath') ?: '/health'}", "-DmaxUsers=${findProperty('maxUsers') ?: '10'}", "-DrampDuration=${findProperty('rampDuration') ?: '60'}", "-DstartUsers=${findProperty('startUsers') ?: '2'}", "-DusersIncrement=${findProperty('usersIncrement') ?: '2'}", "-Dsteps=${findProperty('steps') ?: '2'}", "-DstepDuration=${findProperty('stepDuration') ?: '30'}", "-DconcurrentUsers=${findProperty('concurrentUsers') ?: '3'}", "-Dduration=${findProperty('duration') ?: '300'}", "-DbaselineUsers=${findProperty('baselineUsers') ?: '2'}", "-DbaselineDuration=${findProperty('baselineDuration') ?: '20'}", "-DspikeUsers=${findProperty('spikeUsers') ?: '15'}" ] } repositories { mavenCentral() } dependencies { implementation 'org.scala-lang:scala-library:2.13.16' }