Skip to content

Commit d9f9122

Browse files
committed
Avoid JDK warning for dynamic agent due to using Mockito
Reference: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3
1 parent 81ddb74 commit d9f9122

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

gradle/libs.versions.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ junit4 = "4.13.2"
1414
junit4Min = "4.12"
1515
ktlint = "1.4.1"
1616
log4j = "2.24.1"
17+
mockito = "5.14.2"
1718
opentest4j = "1.3.0"
1819
openTestReporting = "0.1.0-SNAPSHOT"
1920
surefire = "3.5.2"
@@ -53,7 +54,8 @@ log4j-jul = { module = "org.apache.logging.log4j:log4j-jul", version.ref = "log4
5354
maven = { module = "org.apache.maven:apache-maven", version = "3.9.9" }
5455
mavenSurefirePlugin = { module = "org.apache.maven.plugins:maven-surefire-plugin", version.ref = "surefire" }
5556
memoryfilesystem = { module = "com.github.marschall:memoryfilesystem", version = "2.8.1" }
56-
mockito = { module = "org.mockito:mockito-junit-jupiter", version = "5.14.2" }
57+
mockito-core = { module = "org.mockito:mockito-core", version.ref = "mockito" }
58+
mockito-junit-jupiter = { module = "org.mockito:mockito-junit-jupiter", version.ref = "mockito" }
5759
nohttp-checkstyle = { module = "io.spring.nohttp:nohttp-checkstyle", version = "0.0.11" }
5860
opentest4j = { module = "org.opentest4j:opentest4j", version.ref = "opentest4j" }
5961
openTestReporting-cli = { module = "org.opentest4j.reporting:open-test-reporting-cli", version.ref = "openTestReporting" }

gradle/plugins/common/src/main/kotlin/junitbuild.testing-conventions.gradle.kts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ plugins {
1212
id("junitbuild.build-parameters")
1313
}
1414

15+
var javaAgent = configurations.dependencyScope("javaAgent")
16+
var javaAgentClasspath = configurations.resolvable("javaAgentClasspath") {
17+
extendsFrom(javaAgent.get())
18+
}
19+
1520
var openTestReportingCli = configurations.dependencyScope("openTestReportingCli")
1621
var openTestReportingCliClasspath = configurations.resolvable("openTestReportingCliClasspath") {
1722
extendsFrom(openTestReportingCli.get())
@@ -117,6 +122,10 @@ tasks.withType<Test>().configureEach {
117122
)
118123
}
119124

125+
jvmArgumentProviders += objects.newInstance(JavaAgentArgumentProvider::class).apply {
126+
classpath.from(javaAgentClasspath)
127+
}
128+
120129
val reportFiles = objects.fileTree().from(reports.junitXml.outputLocation).matching { include("junit-platform-events-*.xml") }
121130
doFirst {
122131
reportFiles.files.forEach {
@@ -129,7 +138,7 @@ tasks.withType<Test>().configureEach {
129138

130139
dependencies {
131140
testImplementation(dependencyFromLibs("assertj"))
132-
testImplementation(dependencyFromLibs("mockito"))
141+
testImplementation(dependencyFromLibs("mockito-junit-jupiter"))
133142
testImplementation(dependencyFromLibs("testingAnnotations"))
134143
testImplementation(project(":junit-jupiter"))
135144

@@ -147,4 +156,17 @@ dependencies {
147156

148157
openTestReportingCli(dependencyFromLibs("openTestReporting-cli"))
149158
openTestReportingCli(project(":junit-platform-reporting"))
159+
160+
javaAgent(dependencyFromLibs("mockito-core")) {
161+
isTransitive = false
162+
}
163+
}
164+
165+
abstract class JavaAgentArgumentProvider : CommandLineArgumentProvider {
166+
167+
@get:Classpath
168+
abstract val classpath: ConfigurableFileCollection
169+
170+
override fun asArguments() = listOf("-javaagent:${classpath.singleFile.absolutePath}")
171+
150172
}

0 commit comments

Comments
 (0)