1 package com
.intellij
.idea
;
3 import com
.intellij
.ide
.plugins
.IdeaPluginDescriptor
;
4 import com
.intellij
.ide
.plugins
.PluginManager
;
5 import com
.intellij
.openapi
.actionSystem
.DataProvider
;
6 import com
.intellij
.openapi
.application
.Result
;
7 import com
.intellij
.openapi
.application
.WriteAction
;
8 import com
.intellij
.openapi
.application
.ex
.ApplicationEx
;
9 import com
.intellij
.openapi
.application
.ex
.ApplicationManagerEx
;
10 import com
.intellij
.openapi
.application
.impl
.PluginsFacade
;
11 import com
.intellij
.openapi
.extensions
.PluginId
;
12 import org
.jetbrains
.annotations
.Nullable
;
14 public class IdeaTestApplication
extends CommandLineApplication
{
15 private DataProvider myDataContext
;
17 private IdeaTestApplication() {
18 super(false, true, true);
20 PluginsFacade
.INSTANCE
= new PluginsFacade() {
21 public IdeaPluginDescriptor
getPlugin(PluginId id
) {
22 return PluginManager
.getPlugin(id
);
25 public IdeaPluginDescriptor
[] getPlugins() {
26 return PluginManager
.getPlugins();
31 public void setDataProvider(DataProvider dataContext
) {
32 myDataContext
= dataContext
;
35 public Object
getData(String dataId
) {
36 return myDataContext
== null ?
null : myDataContext
.getData(dataId
);
39 public static synchronized IdeaTestApplication
getInstance(@Nullable final String configPath
) {
40 if (ourInstance
== null) {
41 new IdeaTestApplication();
42 PluginsFacade
.INSTANCE
.getPlugins(); //initialization
43 final ApplicationEx app
= ApplicationManagerEx
.getApplicationEx();
45 protected void run(Result result
) throws Throwable
{
50 return (IdeaTestApplication
)ourInstance
;
53 public static boolean isInitialized() {
54 return ourInstance
!= null;