From e92ea84c79dafde12a1e2b275888a6f7ec2f1673 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Fri, 11 Sep 2015 15:00:26 +0200 Subject: [PATCH] error diagnostics --- .../impl/JavaScratchCompilationSupport.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/impl/JavaScratchCompilationSupport.java b/java/execution/impl/src/com/intellij/execution/impl/JavaScratchCompilationSupport.java index 395d437a5363..5bfb4ba6f4a3 100644 --- a/java/execution/impl/src/com/intellij/execution/impl/JavaScratchCompilationSupport.java +++ b/java/execution/impl/src/com/intellij/execution/impl/JavaScratchCompilationSupport.java @@ -64,12 +64,18 @@ public class JavaScratchCompilationSupport implements ProjectComponent, CompileT } final Module configModule = ((ModuleBasedConfiguration)configuration).getConfigurationModule().getModule(); if (configModule == null) { - return true; // todo: show error? + context.addMessage(CompilerMessageCategory.ERROR, "A module must be specified for the run configuration", scratchUrl, -1, -1); + return true; } final ModuleRootManager moduleRootManager = ModuleRootManager.getInstance(configModule); final Sdk targetSdk = moduleRootManager.getSdk(); - if (targetSdk == null || !(targetSdk.getSdkType() instanceof JavaSdkType)) { - return true; // todo: show error? + if (targetSdk == null) { + context.addMessage(CompilerMessageCategory.ERROR, "Cannot find associated SDK for run configuration module \"" + configModule.getName() + "\".\nPlease check project settings.", scratchUrl, -1, -1); + return true; + } + if (!(targetSdk.getSdkType() instanceof JavaSdkType)) { + context.addMessage(CompilerMessageCategory.ERROR, "Expected Java SDK for run configuration module \"" + configModule.getName() + "\".\nPlease check project settings.", scratchUrl, -1, -1); + return true; } final File outputDir = JavaScratchRunConfigurationExtension.getScratchOutputDirectory(project);