From b417cb4606f10f54f1830000baa07d5a073981b9 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 17 Feb 2011 17:22:32 +0100 Subject: [PATCH] [rev=anna] IDEA-65611 "Unrecognized option: -javaagent:..." when running JUnit 3 tests in JDK 1.3 module with debugger --- .../groovy/debugger/GroovyHotSwapper.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyHotSwapper.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyHotSwapper.java index 4acba2698cfd..d8085109a7bd 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyHotSwapper.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/debugger/GroovyHotSwapper.java @@ -1,17 +1,17 @@ package org.jetbrains.plugins.groovy.debugger; import com.intellij.execution.Executor; -import com.intellij.execution.configurations.JavaParameters; -import com.intellij.execution.configurations.RunConfiguration; -import com.intellij.execution.configurations.RunProfile; +import com.intellij.execution.configurations.*; import com.intellij.execution.executors.DefaultDebugExecutor; import com.intellij.execution.runners.JavaProgramPatcher; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.application.PluginPathManager; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.JdkUtil; import com.intellij.openapi.projectRoots.Sdk; +import com.intellij.openapi.roots.LanguageLevelModuleExtension; import com.intellij.openapi.roots.LanguageLevelProjectExtension; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileUtil; @@ -78,10 +78,20 @@ public class GroovyHotSwapper extends JavaProgramPatcher { return; } - if (LanguageLevelProjectExtension.getInstance(project).getLanguageLevel().compareTo(LanguageLevel.JDK_1_5) < 0) { + if (!LanguageLevelProjectExtension.getInstance(project).getLanguageLevel().isAtLeast(LanguageLevel.JDK_1_5)) { return; } + if (configuration instanceof ModuleBasedConfiguration) { + final Module module = ((ModuleBasedConfiguration)configuration).getConfigurationModule().getModule(); + if (module != null) { + final LanguageLevel level = LanguageLevelModuleExtension.getInstance(module).getLanguageLevel(); + if (level != null && !level.isAtLeast(LanguageLevel.JDK_1_5)) { + return; + } + } + } + Sdk jdk = javaParameters.getJdk(); if (jdk != null) { String vendor = JdkUtil.getJdkMainAttribute(jdk, Attributes.Name.IMPLEMENTATION_VENDOR);