diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/JvmSourceRoot.kt b/build/src/org/jetbrains/kotlin/build/JvmSourceRoot.kt similarity index 94% rename from jps-plugin/src/org/jetbrains/kotlin/jps/build/JvmSourceRoot.kt rename to build/src/org/jetbrains/kotlin/build/JvmSourceRoot.kt index 6dba446f049..0c0a503a3c8 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/JvmSourceRoot.kt +++ b/build/src/org/jetbrains/kotlin/build/JvmSourceRoot.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.jetbrains.kotlin.jps.build +package org.jetbrains.kotlin.build import java.io.File diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollector.java b/build/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollector.java similarity index 100% rename from jps-plugin/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollector.java rename to build/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollector.java diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollectorImpl.java b/build/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollectorImpl.java similarity index 100% rename from jps-plugin/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollectorImpl.java rename to build/src/org/jetbrains/kotlin/compilerRunner/OutputItemsCollectorImpl.java diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/SimpleOutputItem.java b/build/src/org/jetbrains/kotlin/compilerRunner/SimpleOutputItem.java similarity index 100% rename from jps-plugin/src/org/jetbrains/kotlin/compilerRunner/SimpleOutputItem.java rename to build/src/org/jetbrains/kotlin/compilerRunner/SimpleOutputItem.java diff --git a/jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.kt b/build/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.kt similarity index 84% rename from jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.kt rename to build/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.kt index 41f90832c4f..864b73c286e 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.kt +++ b/build/src/org/jetbrains/kotlin/modules/KotlinModuleXmlBuilder.kt @@ -18,10 +18,9 @@ package org.jetbrains.kotlin.modules import com.intellij.openapi.util.io.FileUtil.toSystemIndependentName import com.intellij.openapi.util.text.StringUtil.escapeXml -import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType +import org.jetbrains.kotlin.build.JvmSourceRoot import org.jetbrains.kotlin.cli.common.modules.ModuleXmlParser.* import org.jetbrains.kotlin.config.IncrementalCompilation -import org.jetbrains.kotlin.jps.build.JvmSourceRoot import org.jetbrains.kotlin.utils.Printer import java.io.File @@ -37,24 +36,20 @@ class KotlinModuleXmlBuilder { fun addModule( moduleName: String, outputDir: String, - sourceFiles: List, - javaSourceRoots: List, - classpathRoots: Collection, - targetType: JavaModuleBuildTargetType, + sourceFiles: Iterable, + javaSourceRoots: Iterable, + classpathRoots: Iterable, + targetTypeId: String, + isTests: Boolean, directoriesToFilterOut: Set, - friendDirs: List): KotlinModuleXmlBuilder { + friendDirs: Iterable): KotlinModuleXmlBuilder { assert(!done) { "Already done" } - if (targetType.isTests) { - p.println("") - } - else { - p.println("") - } + p.println("") p.println("<", MODULE, " ", NAME, "=\"", escapeXml(moduleName), "\" ", - TYPE, "=\"", escapeXml(targetType.typeId), "\" ", + TYPE, "=\"", escapeXml(targetTypeId), "\" ", OUTPUT_DIR, "=\"", getEscapedPath(File(outputDir)), "\">") p.pushIndent() @@ -74,7 +69,7 @@ class KotlinModuleXmlBuilder { } private fun processClasspath( - files: Collection, + files: Iterable, directoriesToFilterOut: Set) { p.println("") for (file in files) { @@ -97,7 +92,7 @@ class KotlinModuleXmlBuilder { } } - private fun processJavaSourceRoots(roots: List) { + private fun processJavaSourceRoots(roots: Iterable) { p.println("") for (root in roots) { p.print("<") diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java index af6e1488181..f6afa1e7e14 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java +++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.java @@ -33,6 +33,7 @@ import org.jetbrains.jps.incremental.CompileContext; import org.jetbrains.jps.incremental.ModuleBuildTarget; import org.jetbrains.jps.incremental.ProjectBuildException; import org.jetbrains.jps.model.java.JpsJavaExtensionService; +import org.jetbrains.kotlin.build.JvmSourceRoot; import org.jetbrains.kotlin.config.IncrementalCompilation; import org.jetbrains.kotlin.modules.KotlinModuleXmlBuilder; @@ -89,7 +90,8 @@ public class KotlinBuilderModuleScriptGenerator { moduleSources, findSourceRoots(context, target), findClassPathRoots(target), - (JavaModuleBuildTargetType) targetType, + ((JavaModuleBuildTargetType) targetType).getTypeId(), + ((JavaModuleBuildTargetType) targetType).isTests(), // this excludes the output directories from the class path, to be removed for true incremental compilation outputDirs, friendDirs diff --git a/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt index 40f75a9b648..a3c1581b6b6 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jvm/compiler/ClasspathOrderTest.kt @@ -17,7 +17,7 @@ package org.jetbrains.kotlin.jvm.compiler import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType -import org.jetbrains.kotlin.jps.build.JvmSourceRoot +import org.jetbrains.kotlin.build.JvmSourceRoot import org.jetbrains.kotlin.modules.KotlinModuleXmlBuilder import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.MockLibraryUtil @@ -46,7 +46,8 @@ class ClasspathOrderTest : TestCaseWithTmpdir() { listOf(sourceDir), listOf(JvmSourceRoot(sourceDir)), listOf(PathUtil.getKotlinPathsForDistDirectory().runtimePath), - JavaModuleBuildTargetType.PRODUCTION, + JavaModuleBuildTargetType.PRODUCTION.typeId, + JavaModuleBuildTargetType.PRODUCTION.isTests, setOf(), emptyList() ).asText().toString() diff --git a/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java b/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java index a30b6c775ad..b8fedb9f6fd 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java +++ b/jps-plugin/test/org/jetbrains/kotlin/modules/KotlinModuleXmlGeneratorTest.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.modules; import junit.framework.TestCase; import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType; -import org.jetbrains.kotlin.jps.build.JvmSourceRoot; +import org.jetbrains.kotlin.build.JvmSourceRoot; import org.jetbrains.kotlin.test.KotlinTestUtils; import java.io.File; @@ -33,7 +33,8 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s1"), new File("s2")), Collections.singletonList(new JvmSourceRoot(new File("java"), null)), Arrays.asList(new File("cp1"), new File("cp2")), - JavaModuleBuildTargetType.PRODUCTION, + JavaModuleBuildTargetType.PRODUCTION.getTypeId(), + JavaModuleBuildTargetType.PRODUCTION.isTests(), Collections.emptySet(), Collections.emptyList() ).asText().toString(); @@ -47,7 +48,8 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s1"), new File("s2")), Collections.emptyList(), Arrays.asList(new File("cp1"), new File("cp2")), - JavaModuleBuildTargetType.PRODUCTION, + JavaModuleBuildTargetType.PRODUCTION.getTypeId(), + JavaModuleBuildTargetType.PRODUCTION.isTests(), Collections.singleton(new File("cp1")), Collections.emptyList() ).asText().toString(); @@ -62,7 +64,8 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s1"), new File("s2")), Collections.emptyList(), Arrays.asList(new File("cp1"), new File("cp2")), - JavaModuleBuildTargetType.PRODUCTION, + JavaModuleBuildTargetType.PRODUCTION.getTypeId(), + JavaModuleBuildTargetType.PRODUCTION.isTests(), Collections.singleton(new File("cp1")), Collections.emptyList() ); @@ -72,7 +75,8 @@ public class KotlinModuleXmlGeneratorTest extends TestCase { Arrays.asList(new File("s12"), new File("s22")), Collections.emptyList(), Arrays.asList(new File("cp12"), new File("cp22")), - JavaModuleBuildTargetType.TEST, + JavaModuleBuildTargetType.TEST.getTypeId(), + JavaModuleBuildTargetType.TEST.isTests(), Collections.singleton(new File("cp12")), Collections.emptyList() );