to use tests framework from plugins

This commit is contained in:
Anna Kozlova
2005-03-05 15:56:08 +03:00
parent 22bee6ea00
commit f14b88c8e4
3 changed files with 45 additions and 0 deletions
@@ -32,4 +32,17 @@ public interface ExtensionPoints {
* my.plugin.package.MyErrorHandler class must implement {@link com.intellij.openapi.diagnostic.ErrorReportSubmitter} abstract class.
*/
String ERROR_HANDLER = "com.intellij.errorHandler";
/**
* This extension point allows a plugin vendor to provide patches to junit run/debug configurations
* Extension declaration sample is as follows:
* <pre>
* &lt;extensions xmlns="com.intellij"&gt;
* &lt;junitPatcher implementation="my.plugin.package.MyJUnitPatcher"/&gt;
* &lt;/extensions&gt;
* </pre>
* my.plugin.package.MyJUnitPatcher class must implement {@link com.intellij.execution.JUnitPatcher} abstract class.
*/
String JUNIT_PATCHER = "com.intellij.junitPatcher";
}
@@ -0,0 +1,30 @@
package com.intellij.execution;
import com.intellij.execution.configurations.JavaParameters;
import com.intellij.openapi.extensions.PluginAware;
import com.intellij.openapi.extensions.PluginDescriptor;
/**
* User: anna
* Date: Mar 4, 2005
*/
public abstract class JUnitPatcher implements PluginAware {
private PluginDescriptor myPlugin;
/**
* Called by the framework. Allows to identify the plugin that provided this extension.
* @param plugin
*/
public void setPluginDescriptor(PluginDescriptor plugin) {
myPlugin = plugin;
}
/**
* @return plugin that provided this particular extension
*/
public PluginDescriptor getPluginDescriptor() {
return myPlugin;
}
public abstract void patchJavaParameters(JavaParameters javaParameters);
}
@@ -2,6 +2,7 @@ package com.intellij.ide.plugins;
import com.intellij.ExtensionPoints;
import com.intellij.diagnostic.ITNReporter;
import com.intellij.execution.JUnitPatcher;
import com.intellij.ide.plugins.cl.IdeaClassLoader;
import com.intellij.ide.plugins.cl.PluginClassLoader;
import com.intellij.ide.startup.StartupActionScriptManager;
@@ -139,6 +140,7 @@ public class PluginManager {
}, LoadingOrder.FIRST);
Extensions.getRootArea().registerExtensionPoint(ExtensionPoints.ERROR_HANDLER, ErrorReportSubmitter.class.getName());
Extensions.getRootArea().registerExtensionPoint(ExtensionPoints.JUNIT_PATCHER, JUnitPatcher.class.getName());
Extensions.getRootArea().getExtensionPoint(ExtensionPoints.ERROR_HANDLER).registerExtension(new ITNReporter());
}