From d8439fd4c34d2512bed68a084af2e48ef7719173 Mon Sep 17 00:00:00 2001 From: Anton Makeev Date: Sun, 31 Aug 2014 10:50:32 +0200 Subject: [PATCH] CLion: CPP-66 Automatically generate run configurations for targets --- .../configurations/RunConfigurationsSettings.java | 3 ++- .../com/intellij/execution/impl/RunConfigurable.java | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationsSettings.java b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationsSettings.java index 732976cf73a7..259fd4e7484c 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationsSettings.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/RunConfigurationsSettings.java @@ -17,11 +17,12 @@ package com.intellij.execution.configurations; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.options.UnnamedConfigurable; +import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; public interface RunConfigurationsSettings { ExtensionPointName EXTENSION_POINT = ExtensionPointName.create("com.intellij.runConfigurationsSettings"); @NotNull - UnnamedConfigurable createConfigurable(); + UnnamedConfigurable createConfigurable(@NotNull Project project); } \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java index 3645439db470..95d4db09c297 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java @@ -589,8 +589,14 @@ class RunConfigurable extends BaseConfigurable { @Override public JComponent createComponent() { for (RunConfigurationsSettings each : Extensions.getExtensions(RunConfigurationsSettings.EXTENSION_POINT)) { - UnnamedConfigurable configurable = each.createConfigurable(); - myAdditionalSettings.add(Pair.create(configurable, configurable.createComponent())); + try { + UnnamedConfigurable configurable = each.createConfigurable(myProject); + myAdditionalSettings.add(Pair.create(configurable, configurable.createComponent())); + } + catch (NoSuchMethodError e) { + // in case someone has already implemented old RunConfigurationsSettings.createConfigurable() + LOG.error(e); + } } myWholePanel = new JPanel(new BorderLayout());