@ -26,7 +26,9 @@ import org.gradle.api.attributes.LibraryElements;
@@ -26,7 +26,9 @@ import org.gradle.api.attributes.LibraryElements;
import org.gradle.api.attributes.Usage ;
import org.gradle.api.attributes.java.TargetJvmVersion ;
import org.gradle.api.plugins.JavaPlugin ;
import org.gradle.api.plugins.jvm.JvmTestSuite ;
import org.gradle.api.tasks.testing.Test ;
import org.gradle.testing.base.TestingExtension ;
import java.util.Collections ;
@ -47,6 +49,8 @@ public class RuntimeHintsAgentPlugin implements Plugin<Project> {
@@ -47,6 +49,8 @@ public class RuntimeHintsAgentPlugin implements Plugin<Project> {
public void apply ( Project project ) {
project . getPlugins ( ) . withType ( JavaPlugin . class , javaPlugin - > {
TestingExtension testing = project . getExtensions ( ) . getByType ( TestingExtension . class ) ;
JvmTestSuite jvmTestSuite = ( JvmTestSuite ) testing . getSuites ( ) . getByName ( "test" ) ;
RuntimeHintsAgentExtension agentExtension = createRuntimeHintsAgentExtension ( project ) ;
Test agentTest = project . getTasks ( ) . create ( RUNTIMEHINTS_TEST_TASK , Test . class , test - > {
test . useJUnitPlatform ( options - > {
@ -55,6 +59,8 @@ public class RuntimeHintsAgentPlugin implements Plugin<Project> {
@@ -55,6 +59,8 @@ public class RuntimeHintsAgentPlugin implements Plugin<Project> {
test . include ( "**/*Tests.class" , "**/*Test.class" ) ;
test . systemProperty ( "java.awt.headless" , "true" ) ;
test . systemProperty ( "org.graalvm.nativeimage.imagecode" , "runtime" ) ;
test . setTestClassesDirs ( jvmTestSuite . getSources ( ) . getOutput ( ) . getClassesDirs ( ) ) ;
test . setClasspath ( jvmTestSuite . getSources ( ) . getRuntimeClasspath ( ) ) ;
test . getJvmArgumentProviders ( ) . add ( createRuntimeHintsAgentArgumentProvider ( project , agentExtension ) ) ;
} ) ;
project . getTasks ( ) . getByName ( "check" , task - > task . dependsOn ( agentTest ) ) ;