Skip to content

Commit

Permalink
Add missing Gradle UP-TO-DATE check annotations to support Gradle 7 (#32
Browse files Browse the repository at this point in the history
)

Add missing Gradle UP-TO-DATE check annotations to support Gradle 7, close #4068

Motivation:
Since Gradle 7 Tasks with getters/properties throw errors if they are not properly annotated.

Modification:
 * add annotations
 * add test with gradle 7

Result:
This plugin is now compatible
  • Loading branch information
AndreasTu committed Apr 15, 2021
1 parent 6cb910d commit a86f08f
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 4 deletions.
2 changes: 2 additions & 0 deletions src/main/groovy/io/gatling/gradle/GatlingRunTask.groovy
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import org.gradle.api.Action
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.file.FileTree import org.gradle.api.file.FileTree
import org.gradle.api.tasks.InputFiles import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.TaskExecutionException import org.gradle.api.tasks.TaskExecutionException
Expand All @@ -15,6 +16,7 @@ import java.nio.file.Paths


class GatlingRunTask extends DefaultTask implements JvmConfigurable { class GatlingRunTask extends DefaultTask implements JvmConfigurable {


@Internal
Closure simulations Closure simulations


@OutputDirectory @OutputDirectory
Expand Down
43 changes: 40 additions & 3 deletions src/main/groovy/io/gatling/gradle/JvmConfigurable.groovy
Original file line number Original file line Diff line number Diff line change
@@ -1,5 +1,8 @@
package io.gatling.gradle package io.gatling.gradle


import org.gradle.api.tasks.Input
import org.gradle.api.tasks.Optional

trait JvmConfigurable { trait JvmConfigurable {


static final List<String> DEFAULT_JVM_ARGS = [ static final List<String> DEFAULT_JVM_ARGS = [
Expand All @@ -15,9 +18,43 @@ trait JvmConfigurable {


static final Map DEFAULT_SYSTEM_PROPS = [:] static final Map DEFAULT_SYSTEM_PROPS = [:]


List<String> jvmArgs /*
* Note: We need the getter and setters, because Groovy traits generate field names with fully qualified names
* like io_gatling_gradle_JvmConfigurable__jvmArgs which will confuse Gradle UP-TO-DATE annotations.
*/

private List<String> jvmArgs

@Input
@Optional
List<String> getJvmArgs() {
return jvmArgs
}

void setJvmArgs(List<String> jvmArgs) {
this.jvmArgs = jvmArgs
}

private Map systemProperties

@Input
@Optional
Map getSystemProperties() {
return systemProperties
}

void setSystemProperties(Map systemProperties) {
this.systemProperties = systemProperties
}

private Map environment = [:]


Map systemProperties @Input
Map getEnvironment() {
return environment
}


Map environment = [:] void setEnvironment(Map environment) {
this.environment = environment
}
} }
2 changes: 2 additions & 0 deletions src/main/groovy/io/gatling/gradle/LogbackConfigTask.groovy
Original file line number Original file line Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.gatling.gradle package io.gatling.gradle


import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.SourceSet import org.gradle.api.tasks.SourceSet
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
Expand Down Expand Up @@ -33,6 +34,7 @@ class LogbackConfigTask extends DefaultTask {
</configuration>""" </configuration>"""
} }


@InputFiles
Iterable<File> getLogbackConfigs() { Iterable<File> getLogbackConfigs() {
SourceSet gatlingSourceSet = project.sourceSets.gatling SourceSet gatlingSourceSet = project.sourceSets.gatling
gatlingSourceSet.resources.matching { gatlingSourceSet.resources.matching {
Expand Down
2 changes: 1 addition & 1 deletion src/test/groovy/func/GradleCompatibilitySpec.groovy
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class GradleCompatibilitySpec extends GatlingFuncSpec {
then: then:
result.task(":tasks").outcome == SUCCESS result.task(":tasks").outcome == SUCCESS
where: where:
gradleVersion << ["4.0.1", "4.10.2", "5.0", "5.6.4", "6.0", "6.3", "6.4.1"] gradleVersion << ["4.0.1", "4.10.2", "5.0", "5.6.4", "6.0", "6.3", "6.4.1", "7.0"]
} }


@Unroll @Unroll
Expand Down

0 comments on commit a86f08f

Please sign in to comment.