Plugin component registrar introduced

CompilerConfiguration moved to plugin-api
This commit is contained in:
Andrey Breslav
2014-09-22 14:08:26 +04:00
committed by Yan Zhulanow
parent dca186e94d
commit 35028227a0
4 changed files with 198 additions and 5 deletions
@@ -56,8 +56,6 @@ import kotlin.Function1;
import kotlin.Unit;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.TestOnly;
import org.jetbrains.jet.lang.resolve.android.AndroidUIXmlParser;
import org.jetbrains.jet.lang.resolve.android.CliAndroidUIXmlParser;
import org.jetbrains.kotlin.asJava.JavaElementFinder;
import org.jetbrains.kotlin.asJava.KotlinLightClassForPackage;
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport;
@@ -66,6 +64,7 @@ import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation;
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity;
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
import org.jetbrains.kotlin.cli.jvm.JVMConfigurationKeys;
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar;
import org.jetbrains.kotlin.config.CommonConfigurationKeys;
import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.idea.JetFileType;
@@ -295,10 +294,12 @@ public class JetCoreEnvironment {
configuration.getList(CommonConfigurationKeys.SCRIPT_DEFINITIONS_KEY)
);
String androidResPath = configuration.get(JVMConfigurationKeys.ANDROID_RES_PATH);
String androidManifest = configuration.get(JVMConfigurationKeys.ANDROID_MANIFEST);
project.registerService(AndroidUIXmlProcessor.class, new CliAndroidUIXmlProcessor(project, androidResPath, androidManifest));
project.registerService(VirtualFileFinderFactory.class, new CliVirtualFileFinderFactory(classPath));
for (ComponentRegistrar registrar : configuration.getList(ComponentRegistrar.PLUGIN_COMPONENT_REGISTRARS)) {
registrar.registerProjectComponents(project, configuration);
}
}
private static void registerProjectExtensionPoints(ExtensionsArea area) {