From 07234c74870c2de55fe0fb23e17bc3142a7d3f5b Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 27 Jun 2012 23:15:54 +0400 Subject: [PATCH] Added attaching external annotations via command-line parameter. --- .../cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java | 7 ++++++- .../jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java index 72b1544daf8..8aa5b4e8400 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java @@ -37,7 +37,6 @@ import org.jetbrains.jet.utils.PathUtil; import java.io.File; import java.io.PrintStream; -import java.util.Collections; import java.util.List; import static org.jetbrains.jet.cli.common.ExitCode.*; @@ -206,6 +205,12 @@ public class K2JVMCompiler extends CLICompiler classpath = getClasspath(arguments); CompileEnvironmentUtil.addToClasspath(configuration.getEnvironment(), Iterables.toArray(classpath, File.class)); } + + if (arguments.annotations != null) { + for (String root : Splitter.on(File.pathSeparatorChar).split(arguments.annotations)) { + JetCoreEnvironment.addExternalAnnotationsRoot(PathUtil.jarFileOrDirectoryToVirtualFile(new File(root))); + } + } } @NotNull diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java index 3240652c998..737e044e072 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java @@ -103,6 +103,10 @@ public class JetCoreEnvironment extends JavaCoreEnvironment { JetStandardLibrary.initialize(getProject()); } + public static void addExternalAnnotationsRoot(@NotNull VirtualFile root) { + ((CoreAnnotationsProvider) ExternalAnnotationsProvider.getInstance()).addExternalAnnotationsRoot(root); + } + public MockApplication getApplication() { return myApplication; }