Upgrading to JUnit 5.13 (original) (raw)

GraalVM Native Build Tools

If you're using GraalVM's Native Build Tools in a version prior to 0.11.0, you will need to adjust your build to include the following classes with --initialize-at-build-time:

Important

The steps below are not necessary if you're using Native Build Tools in version 0.11.0 or later.

Gradle

plugins { id("org.graalvm.buildtools.native") version "0.10.6" }

val initializeAtBuildTime = listOf( "org.junit.jupiter.api.DisplayNameGenerator$IndicativeSentences", "org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$ClassInfo", "org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$LifecycleMethods", "org.junit.jupiter.engine.descriptor.ClassTemplateInvocationTestDescriptor", "org.junit.jupiter.engine.descriptor.ClassTemplateTestDescriptor", "org.junit.jupiter.engine.descriptor.DynamicDescendantFilter$Mode", "org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector$1", "org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor$MethodInfo", "org.junit.jupiter.engine.discovery.ClassSelectorResolver$DummyClassTemplateInvocationContext", "org.junit.platform.engine.support.store.NamespacedHierarchicalStore$EvaluatedValue", "org.junit.platform.launcher.core.DiscoveryIssueNotifier", "org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider", "org.junit.platform.launcher.core.LauncherDiscoveryResult$EngineResultInfo", "org.junit.platform.launcher.core.LauncherPhase", "org.junit.platform.suite.engine.DiscoverySelectorResolver", "org.junit.platform.suite.engine.SuiteTestDescriptor$DiscoveryIssueForwardingListener", "org.junit.platform.suite.engine.SuiteTestDescriptor$LifecycleMethods", )

graalvmNative { binaries { named("test") { buildArgs.add("--initialize-at-build-time=${initializeAtBuildTime.joinToString(",")}") } } }

Maven

org.graalvm.buildtools native-maven-plugin 0.10.6 true test-native test test --initialize-at-build-time=org.junit.jupiter.api.DisplayNameGenerator$IndicativeSentences --initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$ClassInfo --initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$LifecycleMethods --initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassTemplateInvocationTestDescriptor --initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassTemplateTestDescriptor --initialize-at-build-time=org.junit.jupiter.engine.descriptor.DynamicDescendantFilter$Mode --initialize-at-build-time=org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector$1 --initialize-at-build-time=org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor$MethodInfo --initialize-at-build-time=org.junit.jupiter.engine.discovery.ClassSelectorResolver$DummyClassTemplateInvocationContext --initialize-at-build-time=org.junit.platform.engine.support.store.NamespacedHierarchicalStore$EvaluatedValue --initialize-at-build-time=org.junit.platform.launcher.core.DiscoveryIssueNotifier --initialize-at-build-time=org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider --initialize-at-build-time=org.junit.platform.launcher.core.LauncherDiscoveryResult$EngineResultInfo --initialize-at-build-time=org.junit.platform.launcher.core.LauncherPhase --initialize-at-build-time=org.junit.platform.suite.engine.DiscoverySelectorResolver --initialize-at-build-time=org.junit.platform.suite.engine.SuiteTestDescriptor$DiscoveryIssueForwardingListener --initialize-at-build-time=org.junit.platform.suite.engine.SuiteTestDescriptor$LifecycleMethods