From ed4f413b3f620c852bbf45a71ee3c92512179123 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 18 Nov 2009 17:51:08 +0300 Subject: [PATCH] IDEADEV-41380: Artifacts: results of manual editing of "Build artifacts" setting of deployment configuration are not saved --- ...va => BuildArtifactsBeforeRunTaskProvider.java} | 8 +++++--- .../compiler/options/CompileStepBeforeRun.java | 5 +++-- .../intellij/execution/BeforeRunTaskProvider.java | 23 +++++++++++----------- .../impl/ConfigurationSettingsEditorWrapper.java | 6 ++++-- .../impl/UnknownBeforeRunTaskProvider.java | 5 +++-- .../intellij/openapi/options/SettingsEditor.java | 9 ++++----- .../ant/config/impl/AntBeforeRunTaskProvider.java | 6 ++++-- .../maven/tasks/MavenBeforeRunTasksProvider.java | 7 ++++--- resources/src/META-INF/IdeaPlugin.xml | 2 +- 9 files changed, 40 insertions(+), 31 deletions(-) rename java/compiler/impl/src/com/intellij/packaging/impl/run/{BuildArtifactsBeforeRun.java => BuildArtifactsBeforeRunTaskProvider.java} (95%) diff --git a/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRun.java b/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java similarity index 95% rename from java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRun.java rename to java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java index d1e8b1e1a5..fa35e8cf54 100644 --- a/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRun.java +++ b/java/compiler/impl/src/com/intellij/packaging/impl/run/BuildArtifactsBeforeRunTaskProvider.java @@ -53,12 +53,12 @@ import java.util.Set; /** * @author nik */ -public class BuildArtifactsBeforeRun implements BeforeRunTaskProvider { +public class BuildArtifactsBeforeRunTaskProvider extends BeforeRunTaskProvider { @NonNls public static final String BUILD_ARTIFACTS_ID = "BuildArtifacts"; public static final Key ID = Key.create(BUILD_ARTIFACTS_ID); private Project myProject; - public BuildArtifactsBeforeRun(Project project) { + public BuildArtifactsBeforeRunTaskProvider(Project project) { myProject = project; } @@ -85,7 +85,7 @@ public class BuildArtifactsBeforeRun implements BeforeRunTaskProvider pointers = new THashSet(); for (Artifact artifact : artifacts) { @@ -103,7 +103,9 @@ public class BuildArtifactsBeforeRun implements BeforeRunTaskProvider { +public class CompileStepBeforeRun extends BeforeRunTaskProvider { public static final Key ID = Key.create("Make"); private static final Key RUN_CONFIGURATION = Key.create("RUN_CONFIGURATION"); @@ -64,7 +64,8 @@ public class CompileStepBeforeRun implements BeforeRunTaskProvider { - @NonNls ExtensionPointName> EXTENSION_POINT_NAME = new ExtensionPointName>("com.intellij.stepsBeforeRunProvider"); +public abstract class BeforeRunTaskProvider { + public static final ExtensionPointName> EXTENSION_POINT_NAME = new ExtensionPointName>("com.intellij.stepsBeforeRunProvider"); - Key getId(); + public abstract Key getId(); - String getDescription(final RunConfiguration runConfiguration, T task); + public abstract String getDescription(final RunConfiguration runConfiguration, T task); - boolean hasConfigurationButton(); + public abstract boolean hasConfigurationButton(); - // lifecycle methods: /** * @return 'before run' task for the configuration or null, if the task from this provider is not applicable to the specified configuration */ @Nullable - T createTask(final RunConfiguration runConfiguration); - - void configureTask(final RunConfiguration runConfiguration, T task); + public abstract T createTask(final RunConfiguration runConfiguration); - boolean executeTask(DataContext context, RunConfiguration configuration, T task); + /** + * @return true if task configuration is changed + */ + public abstract boolean configureTask(final RunConfiguration runConfiguration, T task); + + public abstract boolean executeTask(DataContext context, RunConfiguration configuration, T task); } \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java index 8e1f9535a9..86fe0884f9 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConfigurationSettingsEditorWrapper.java @@ -169,8 +169,10 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor{ +public class UnknownBeforeRunTaskProvider extends BeforeRunTaskProvider { private final Key myId; public UnknownBeforeRunTaskProvider(String mirrorProviderName) { @@ -46,7 +46,8 @@ public class UnknownBeforeRunTaskProvider implements BeforeRunTaskProvider implements Disposable { private List> myListeners; private UserActivityWatcher myWatcher; - private UserActivityListener myUserActivityListener; private boolean myIsInUpdate = false; private Factory mySettingsFactory; private CompositeSettingsEditor myOwner; @@ -112,12 +111,12 @@ public abstract class SettingsEditor implements Disposable { protected void installWatcher(JComponent c) { myWatcher = new UserActivityWatcher(); myWatcher.register(c); - myUserActivityListener = new UserActivityListener() { + UserActivityListener userActivityListener = new UserActivityListener() { public void stateChanged() { fireEditorStateChanged(); } }; - myWatcher.addUserActivityListener(myUserActivityListener, this); + myWatcher.addUserActivityListener(userActivityListener, this); } public final void addSettingsEditorListener(SettingsEditorListener listener) { @@ -134,8 +133,8 @@ public abstract class SettingsEditor implements Disposable { protected final void fireEditorStateChanged() { if (myIsInUpdate || myListeners == null) return; SettingsEditorListener[] listeners = myListeners.toArray(new SettingsEditorListener[myListeners.size()]); - for (int i = 0; i < listeners.length; i++) { - listeners[i].stateChanged(this); + for (SettingsEditorListener listener : listeners) { + listener.stateChanged(this); } } } \ No newline at end of file diff --git a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java index cc9c9e49f0..07b5fc3813 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBeforeRunTaskProvider.java @@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable; /** * @author Vladislav.Kaznacheev */ -public class AntBeforeRunTaskProvider implements BeforeRunTaskProvider { +public class AntBeforeRunTaskProvider extends BeforeRunTaskProvider { public static final Key ID = Key.create("AntTarget"); private final Project myProject; @@ -56,7 +56,7 @@ public class AntBeforeRunTaskProvider implements BeforeRunTaskProvider { +public class MavenBeforeRunTasksProvider extends BeforeRunTaskProvider { public static final Key TASK_ID = Key.create("Maven.BeforeRunTask"); private final Project myProject; @@ -84,18 +84,19 @@ public class MavenBeforeRunTasksProvider implements BeforeRunTaskProvider - + -- 2.11.4.GIT