diff --git a/plugins/android-jps-plugin/src/KotlinAndroidJpsPlugin.kt b/plugins/android-jps-plugin/src/KotlinAndroidJpsPlugin.kt index 16b43dd0123..c10f887bcb7 100644 --- a/plugins/android-jps-plugin/src/KotlinAndroidJpsPlugin.kt +++ b/plugins/android-jps-plugin/src/KotlinAndroidJpsPlugin.kt @@ -27,6 +27,8 @@ import org.jetbrains.kotlin.android.AndroidCommandLineProcessor import org.jetbrains.jet.utils.PathUtil public class KotlinAndroidJpsPlugin : KotlinJpsCompilerArgumentsProvider { + private val jarFileName = "android-compiler-plugin.jar" + override fun getExtraArguments(moduleBuildTarget: ModuleBuildTarget, context: CompileContext): List { val module = moduleBuildTarget.getModule() return listOf( @@ -36,8 +38,16 @@ public class KotlinAndroidJpsPlugin : KotlinJpsCompilerArgumentsProvider { } override fun getClasspath(moduleBuildTarget: ModuleBuildTarget, context: CompileContext): List { + val inJar = PathUtil.getJarPathForClass(javaClass).isFile() return listOf( - File(PathUtil.getJarPathForClass(javaClass).getParentFile().getParentFile(), "android-compiler-plugin.jar").getAbsolutePath() + if (inJar) { + val libDirectory = PathUtil.getJarPathForClass(javaClass).getParentFile().getParentFile() + File(libDirectory, jarFileName).getAbsolutePath() + } else { + // We're in tests now (in out/production/android-jps-plugin) + val kotlinProjectDirectory = PathUtil.getJarPathForClass(javaClass).getParentFile().getParentFile().getParentFile() + File(kotlinProjectDirectory, "dist/kotlinc/lib/$jarFileName").getAbsolutePath() + } ) }