@Nullable @Override protected RunContentDescriptor doExecute(RunProfileState state, ExecutionEnvironment env) throws ExecutionException { if (env.getExecutor().getActionName().equals(DefaultDebugExecutor.EXECUTOR_ID)) { Project project = env.getProject(); String executableFilePath = project.getBasePath().concat("/").concat(project.getName()); final DubConfigurationParser dubParser = new DubConfigurationParser(project, ToolKey.DUB_KEY.getPath(), false); if (dubParser.canUseDub() && dubParser.getDubProject().isPresent()) { final DubProject dubProject = dubParser.getDubProject().get(); final DubPackage dubPackage = dubProject.getRootPackage(); executableFilePath = Paths.get( dubPackage.getPath(), dubPackage.getTargetPath(), dubPackage.getTargetFileName()).toString().replace("\\", "/"); } Executor executor = env.getExecutor(); return RunUtil.startDebugger(this, state, env, project, executor, executableFilePath); } return super.doExecute(state, env); }
@Nullable @Override protected RunContentDescriptor doExecute(RunProfileState state, ExecutionEnvironment env) throws ExecutionException { if (env.getExecutor().getActionName().equals(DefaultDebugExecutor.EXECUTOR_ID)) { Project project = env.getProject(); Executor executor = env.getExecutor(); Logger logger = Logger.getInstance(this.getClass()); try { return RunUtil.startDebugger(this, state, env, project, executor, ((DlangRunAppState) state).getExecutableCommandLine(((DlangRunAppState) state).getConfig()).getExePath());//todo this is yucky } catch (ModuleNotFoundException e) { e.printStackTrace(); logger.error(e.toString()); } catch (NoValidDlangSdkFound NoValidDlangSdkFound) { NoValidDlangSdkFound.printStackTrace(); logger.error(NoValidDlangSdkFound.toString()); } } return super.doExecute(state, env); } }
private GeneralCommandLine getExecutableCommandLine(final DlangRunDubConfiguration config) throws ExecutionException { if (executor.getActionName().equals(DefaultDebugExecutor.EXECUTOR_ID)) {