From 6bdfbd90224984bf3323fa176095b7e9cf0996c7 Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Fri, 11 Jun 2021 13:52:14 +0800 Subject: [PATCH] fix: Gradle test dependencies and output are placed to Runtime scope --- .../debug/plugin/internal/ResolveClasspathsHandler.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/ResolveClasspathsHandler.java b/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/ResolveClasspathsHandler.java index 5e7017128..7d54881cd 100644 --- a/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/ResolveClasspathsHandler.java +++ b/com.microsoft.java.debug.plugin/src/main/java/com/microsoft/java/debug/plugin/internal/ResolveClasspathsHandler.java @@ -326,7 +326,12 @@ protected JavaApplicationLaunchConfiguration(IProject project, String mainType, classpathProvider = "org.eclipse.m2e.launchconfig.classpathProvider"; sourcepathProvider = "org.eclipse.m2e.launchconfig.sourcepathProvider"; } else if (ProjectUtils.isGradleProject(project)) { - classpathProvider = "org.eclipse.buildship.core.classpathprovider"; + if (excludeTestCode && mappedResources.isEmpty()) { + // use default StandardClasspathProvider for Gradle 'runtime' classpath. + // see: https://github.com/microsoft/vscode-java-debug/issues/1008 + } else { + classpathProvider = "org.eclipse.buildship.core.classpathprovider"; + } } // Since MavenRuntimeClasspathProvider will only including test entries when: