IDEADEV-41380: Artifacts: results of manual editing of "Build artifacts" setting of deployment configuration are not saved

This commit is contained in:
nik
2009-11-19 09:06:41 +03:00
parent fb29c8059d
commit ed4f413b3f
9 changed files with 40 additions and 31 deletions
@@ -53,12 +53,12 @@ import java.util.Set;
/**
* @author nik
*/
public class BuildArtifactsBeforeRun implements BeforeRunTaskProvider<BuildArtifactsBeforeRunTask> {
public class BuildArtifactsBeforeRunTaskProvider extends BeforeRunTaskProvider<BuildArtifactsBeforeRunTask> {
@NonNls public static final String BUILD_ARTIFACTS_ID = "BuildArtifacts";
public static final Key<BuildArtifactsBeforeRunTask> 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<BuildArtif
return new BuildArtifactsBeforeRunTask(myProject);
}
public void configureTask(RunConfiguration runConfiguration, BuildArtifactsBeforeRunTask task) {
public boolean configureTask(RunConfiguration runConfiguration, BuildArtifactsBeforeRunTask task) {
final Artifact[] artifacts = ArtifactManager.getInstance(myProject).getArtifacts();
Set<ArtifactPointer> pointers = new THashSet<ArtifactPointer>();
for (Artifact artifact : artifacts) {
@@ -103,7 +103,9 @@ public class BuildArtifactsBeforeRun implements BeforeRunTaskProvider<BuildArtif
builder.setPreferedFocusComponent(chooser);
if (builder.show() == DialogWrapper.OK_EXIT_CODE) {
task.setArtifactPointers(chooser.getMarkedElements());
return true;
}
return false;
}
public boolean executeTask(DataContext context, RunConfiguration configuration, final BuildArtifactsBeforeRunTask task) {
@@ -39,7 +39,7 @@ import org.jetbrains.annotations.Nullable;
/**
* @author spleaner
*/
public class CompileStepBeforeRun implements BeforeRunTaskProvider<CompileStepBeforeRun.MakeBeforeRunTask> {
public class CompileStepBeforeRun extends BeforeRunTaskProvider<CompileStepBeforeRun.MakeBeforeRunTask> {
public static final Key<MakeBeforeRunTask> ID = Key.create("Make");
private static final Key<RunConfiguration> RUN_CONFIGURATION = Key.create("RUN_CONFIGURATION");
@@ -64,7 +64,8 @@ public class CompileStepBeforeRun implements BeforeRunTaskProvider<CompileStepBe
: null;
}
public void configureTask(RunConfiguration runConfiguration, MakeBeforeRunTask task) {
public boolean configureTask(RunConfiguration runConfiguration, MakeBeforeRunTask task) {
return false;
}
public boolean executeTask(DataContext context, final RunConfiguration configuration, MakeBeforeRunTask task) {
@@ -26,26 +26,27 @@ import com.intellij.execution.configurations.RunConfiguration;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.util.Key;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.Nullable;
public interface BeforeRunTaskProvider<T extends BeforeRunTask> {
@NonNls ExtensionPointName<BeforeRunTaskProvider<BeforeRunTask>> EXTENSION_POINT_NAME = new ExtensionPointName<BeforeRunTaskProvider<BeforeRunTask>>("com.intellij.stepsBeforeRunProvider");
public abstract class BeforeRunTaskProvider<T extends BeforeRunTask> {
public static final ExtensionPointName<BeforeRunTaskProvider<BeforeRunTask>> EXTENSION_POINT_NAME = new ExtensionPointName<BeforeRunTaskProvider<BeforeRunTask>>("com.intellij.stepsBeforeRunProvider");
Key<T> getId();
public abstract Key<T> 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 <code>true</code> if task configuration is changed
*/
public abstract boolean configureTask(final RunConfiguration runConfiguration, T task);
public abstract boolean executeTask(DataContext context, RunConfiguration configuration, T task);
}
@@ -169,8 +169,10 @@ public class ConfigurationSettingsEditorWrapper extends SettingsEditor<RunnerAnd
myButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
provider.configureTask(runConfiguration, beforeRunTask);
myCheckBox.setText(provider.getDescription(runConfiguration, beforeRunTask));
if (provider.configureTask(runConfiguration, beforeRunTask)) {
myCheckBox.setText(provider.getDescription(runConfiguration, beforeRunTask));
fireEditorStateChanged();
}
}
});
}
@@ -31,7 +31,7 @@ import java.util.List;
* @author Eugene Zhuravlev
* Date: Sep 15, 2009
*/
public class UnknownBeforeRunTaskProvider implements BeforeRunTaskProvider<UnknownBeforeRunTaskProvider.UnknownTask>{
public class UnknownBeforeRunTaskProvider extends BeforeRunTaskProvider<UnknownBeforeRunTaskProvider.UnknownTask> {
private final Key<UnknownTask> myId;
public UnknownBeforeRunTaskProvider(String mirrorProviderName) {
@@ -46,7 +46,8 @@ public class UnknownBeforeRunTaskProvider implements BeforeRunTaskProvider<Unkno
return "Unknown task " + myId.toString();
}
public void configureTask(RunConfiguration runConfiguration, UnknownTask task) {
public boolean configureTask(RunConfiguration runConfiguration, UnknownTask task) {
return false;
}
public boolean executeTask(DataContext context, RunConfiguration configuration, UnknownTask task) {
@@ -33,7 +33,6 @@ import java.util.List;
public abstract class SettingsEditor<Settings> implements Disposable {
private List<SettingsEditorListener<Settings>> myListeners;
private UserActivityWatcher myWatcher;
private UserActivityListener myUserActivityListener;
private boolean myIsInUpdate = false;
private Factory<Settings> mySettingsFactory;
private CompositeSettingsEditor<Settings> myOwner;
@@ -112,12 +111,12 @@ public abstract class SettingsEditor<Settings> 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<Settings> listener) {
@@ -134,8 +133,8 @@ public abstract class SettingsEditor<Settings> 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);
}
}
}
@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
/**
* @author Vladislav.Kaznacheev
*/
public class AntBeforeRunTaskProvider implements BeforeRunTaskProvider<AntBeforeRunTask> {
public class AntBeforeRunTaskProvider extends BeforeRunTaskProvider<AntBeforeRunTask> {
public static final Key<AntBeforeRunTask> ID = Key.create("AntTarget");
private final Project myProject;
@@ -56,7 +56,7 @@ public class AntBeforeRunTaskProvider implements BeforeRunTaskProvider<AntBefore
return true;
}
public void configureTask(RunConfiguration runConfiguration, AntBeforeRunTask task) {
public boolean configureTask(RunConfiguration runConfiguration, AntBeforeRunTask task) {
AntBuildTarget buildTarget = findTargetToExecute(task);
final TargetChooserDialog dlg = new TargetChooserDialog(myProject, buildTarget);
dlg.show();
@@ -71,7 +71,9 @@ public class AntBeforeRunTaskProvider implements BeforeRunTaskProvider<AntBefore
task.setTargetName(buildTarget.getName());
}
}
return true;
}
return false;
}
public AntBeforeRunTask createTask(RunConfiguration runConfiguration) {
@@ -39,7 +39,7 @@ import org.jetbrains.idea.maven.utils.MavenLog;
import java.util.Collections;
public class MavenBeforeRunTasksProvider implements BeforeRunTaskProvider<MavenBeforeRunTask> {
public class MavenBeforeRunTasksProvider extends BeforeRunTaskProvider<MavenBeforeRunTask> {
public static final Key<MavenBeforeRunTask> TASK_ID = Key.create("Maven.BeforeRunTask");
private final Project myProject;
@@ -84,18 +84,19 @@ public class MavenBeforeRunTasksProvider implements BeforeRunTaskProvider<MavenB
return new MavenBeforeRunTask();
}
public void configureTask(RunConfiguration runConfiguration, MavenBeforeRunTask task) {
public boolean configureTask(RunConfiguration runConfiguration, MavenBeforeRunTask task) {
SelectMavenGoalDialog dialog = new SelectMavenGoalDialog(myProject,
task.getProjectPath(),
task.getGoal(),
TasksBundle.message("maven.tasks.select.goal.title"));
dialog.show();
if (!dialog.isOK()) return;
if (!dialog.isOK()) return false;
task.setProjectPath(dialog.getSelectedProjectPath());
task.setGoal(dialog.getSelectedGoal());
MavenTasksManager.getInstance(myProject).fireTasksChanged();
return true;
}
public boolean executeTask(final DataContext context, RunConfiguration configuration, final MavenBeforeRunTask task) {
+1 -1
View File
@@ -907,7 +907,7 @@
<favoriteNodeProvider implementation="com.intellij.ide.favoritesTreeView.PsiPackageFavoriteNodeProvider"/>
<stepsBeforeRunProvider implementation="com.intellij.compiler.options.CompileStepBeforeRun" id="compileBeforeRun"/>
<stepsBeforeRunProvider implementation="com.intellij.packaging.impl.run.BuildArtifactsBeforeRun" order="after compileBeforeRun"/>
<stepsBeforeRunProvider implementation="com.intellij.packaging.impl.run.BuildArtifactsBeforeRunTaskProvider" order="after compileBeforeRun"/>
<programRunner implementation="com.intellij.execution.impl.DefaultJavaProgramRunner"/>
<programRunner implementation="com.intellij.debugger.impl.GenericDebuggerRunner" order="last"/>