Clone external run configurations using serialization.

This allows to capture extensions (e.g. coverage) configuration.
This commit is contained in:
Nikita Skvortsov
2017-09-05 11:41:45 +03:00
parent 4ed40920da
commit 0e7118f5de
@@ -114,9 +114,18 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase i
@Override
public ExternalSystemRunConfiguration clone() {
ExternalSystemRunConfiguration result = (ExternalSystemRunConfiguration)super.clone();
result.mySettings = mySettings.clone();
return result;
final Element element = new Element("toClone");
try {
writeExternal(element);
RunConfiguration configuration = getFactory().createTemplateConfiguration(getProject());
configuration.setName(getName());
configuration.readExternal(element);
return (ExternalSystemRunConfiguration)configuration;
}
catch (InvalidDataException | WriteExternalException e) {
LOG.error(e);
return null;
}
}
@Override