diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleBuilder.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleBuilder.kt index dac8638d8d1..8ffaec65c4d 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleBuilder.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleBuilder.kt @@ -17,7 +17,7 @@ package org.jetbrains.kotlin.cli.common.modules import org.jetbrains.kotlin.modules.Module -import java.util.ArrayList +import java.util.* public class ModuleBuilder( private val name: String, @@ -53,4 +53,3 @@ public class ModuleBuilder( override fun getModuleName(): String = name override fun getModuleType(): String = type } - diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleXmlParser.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleXmlParser.java index 7450d5e7964..c84ab2f0c5c 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleXmlParser.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/modules/ModuleXmlParser.java @@ -19,7 +19,6 @@ package org.jetbrains.kotlin.cli.common.modules; import com.intellij.openapi.util.io.StreamUtil; import com.intellij.util.SmartList; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; import org.jetbrains.kotlin.cli.common.messages.MessageCollectorUtil; import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil; @@ -43,6 +42,8 @@ public class ModuleXmlParser { public static final String MODULE = "module"; public static final String NAME = "name"; public static final String TYPE = "type"; + public static final String TYPE_PRODUCTION = "java-production"; + public static final String TYPE_TEST = "java-test"; public static final String OUTPUT_DIR = "outputDir"; public static final String SOURCES = "sources"; public static final String JAVA_SOURCE_ROOTS = "javaSourceRoots"; @@ -127,24 +128,15 @@ public class ModuleXmlParser { throw createError(qName); } + String moduleType = getAttribute(attributes, TYPE, qName); + assert(TYPE_PRODUCTION.equals(moduleType) || TYPE_TEST.equals(moduleType)): "Unknown module type: " + moduleType; setCurrentState(new InsideModule( getAttribute(attributes, NAME, qName), getAttribute(attributes, OUTPUT_DIR, qName), - getType(attributes, qName) + moduleType )); } - @NotNull - private String getType(@NotNull Attributes attributes, @NotNull String tag) { - String value = attributes.getValue(TYPE); - - assert value != null && - (JavaModuleBuildTargetType.PRODUCTION.getTypeId().equals(value) || - JavaModuleBuildTargetType.TEST.getTypeId().equals(value)): "Unknown value of module type: " + value; - - return value; - } - @Override public void endElement(String uri, @NotNull String localName, @NotNull String qName) throws SAXException { if (MODULE.equalsIgnoreCase(qName) || MODULES.equalsIgnoreCase(qName)) { diff --git a/compiler/testData/cli/jvm/duplicateSourcesInModule.xml b/compiler/testData/cli/jvm/duplicateSourcesInModule.xml index dc8dadb8564..ce4f16a0fdc 100644 --- a/compiler/testData/cli/jvm/duplicateSourcesInModule.xml +++ b/compiler/testData/cli/jvm/duplicateSourcesInModule.xml @@ -1,5 +1,5 @@ - + diff --git a/compiler/testData/modules.xml/allOnce.txt b/compiler/testData/modules.xml/allOnce.txt index 231963fc373..50aeaa64fc1 100644 --- a/compiler/testData/modules.xml/allOnce.txt +++ b/compiler/testData/modules.xml/allOnce.txt @@ -1,4 +1,5 @@ name + type=java-production outputDir=out sources=[foo] classpath=[bar] diff --git a/compiler/testData/modules.xml/allOnce.xml b/compiler/testData/modules.xml/allOnce.xml index b6a96ba2299..8398e19e9af 100644 --- a/compiler/testData/modules.xml/allOnce.xml +++ b/compiler/testData/modules.xml/allOnce.xml @@ -1,5 +1,5 @@ - + diff --git a/compiler/testData/modules.xml/comments.txt b/compiler/testData/modules.xml/comments.txt index f4b4c196ffd..d543f639837 100644 --- a/compiler/testData/modules.xml/comments.txt +++ b/compiler/testData/modules.xml/comments.txt @@ -1,4 +1,5 @@ name + type=java-production outputDir=out sources=[foo, foo1, foo2] classpath=[bar1, bar2] diff --git a/compiler/testData/modules.xml/comments.xml b/compiler/testData/modules.xml/comments.xml index 22fb6f6fe59..3670646a176 100644 --- a/compiler/testData/modules.xml/comments.xml +++ b/compiler/testData/modules.xml/comments.xml @@ -1,5 +1,5 @@ - + diff --git a/compiler/testData/modules.xml/emptyModule.txt b/compiler/testData/modules.xml/emptyModule.txt index b4f8d590376..cdc74a4ff43 100644 --- a/compiler/testData/modules.xml/emptyModule.txt +++ b/compiler/testData/modules.xml/emptyModule.txt @@ -1,4 +1,5 @@ name + type=java-production outputDir=out sources=[] classpath=[] diff --git a/compiler/testData/modules.xml/emptyModule.xml b/compiler/testData/modules.xml/emptyModule.xml index b51b8c22e89..228729b804a 100644 --- a/compiler/testData/modules.xml/emptyModule.xml +++ b/compiler/testData/modules.xml/emptyModule.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/compiler/testData/modules.xml/manyTimes.txt b/compiler/testData/modules.xml/manyTimes.txt index 1ef4faf3440..93fd7b2f9bc 100644 --- a/compiler/testData/modules.xml/manyTimes.txt +++ b/compiler/testData/modules.xml/manyTimes.txt @@ -1,4 +1,5 @@ name + type=java-production outputDir=out sources=[foo, foo1, foo2] classpath=[bar, bar1, bar2] diff --git a/compiler/testData/modules.xml/manyTimes.xml b/compiler/testData/modules.xml/manyTimes.xml index 833c18fb775..755f1a5e887 100644 --- a/compiler/testData/modules.xml/manyTimes.xml +++ b/compiler/testData/modules.xml/manyTimes.xml @@ -1,5 +1,5 @@ - + diff --git a/compiler/testData/modules.xml/onlySources.txt b/compiler/testData/modules.xml/onlySources.txt index f1d54734816..0e97c200e3d 100644 --- a/compiler/testData/modules.xml/onlySources.txt +++ b/compiler/testData/modules.xml/onlySources.txt @@ -1,4 +1,5 @@ name + type=java-production outputDir=out sources=[foo] classpath=[] diff --git a/compiler/testData/modules.xml/onlySources.xml b/compiler/testData/modules.xml/onlySources.xml index 4ebe1df47c8..cb78de7c412 100644 --- a/compiler/testData/modules.xml/onlySources.xml +++ b/compiler/testData/modules.xml/onlySources.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/compiler/testData/modules.xml/twoModules.txt b/compiler/testData/modules.xml/twoModules.txt index 0fa9e2cfff3..1716852b35e 100644 --- a/compiler/testData/modules.xml/twoModules.txt +++ b/compiler/testData/modules.xml/twoModules.txt @@ -1,9 +1,11 @@ name + type=java-production outputDir=out sources=[foo, foo1, foo2] classpath=[bar, bar1, bar2] annotations=[baz, baz1, baz2] name2 + type=java-production outputDir=out2 sources=[2foo, 2foo1, 2foo2] classpath=[2bar, 2bar1, 2bar2] diff --git a/compiler/testData/modules.xml/twoModules.xml b/compiler/testData/modules.xml/twoModules.xml index 9b23938c5f4..8edb5979c00 100644 --- a/compiler/testData/modules.xml/twoModules.xml +++ b/compiler/testData/modules.xml/twoModules.xml @@ -1,5 +1,5 @@ - + @@ -10,7 +10,7 @@ - + diff --git a/compiler/testData/modules.xml/typeTestModule.txt b/compiler/testData/modules.xml/typeTestModule.txt new file mode 100644 index 00000000000..c3b7dab328a --- /dev/null +++ b/compiler/testData/modules.xml/typeTestModule.txt @@ -0,0 +1,6 @@ +name + type=java-test + outputDir=out + sources=[] + classpath=[] + annotations=[] diff --git a/compiler/testData/modules.xml/typeTestModule.xml b/compiler/testData/modules.xml/typeTestModule.xml new file mode 100644 index 00000000000..f0c3ccc1573 --- /dev/null +++ b/compiler/testData/modules.xml/typeTestModule.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/modules/xml/ModuleXmlParserTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/modules/xml/ModuleXmlParserTestGenerated.java index ba502c2b80d..0771fc21f2f 100644 --- a/compiler/tests/org/jetbrains/kotlin/modules/xml/ModuleXmlParserTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/modules/xml/ModuleXmlParserTestGenerated.java @@ -76,4 +76,10 @@ public class ModuleXmlParserTestGenerated extends AbstractModuleXmlParserTest { String fileName = JetTestUtils.navigationMetadata("compiler/testData/modules.xml/twoModules.xml"); doTest(fileName); } + + @TestMetadata("typeTestModule.xml") + public void testTypeTestModule() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/modules.xml/typeTestModule.xml"); + doTest(fileName); + } } diff --git a/idea/testData/modules.xml/basic.xml b/idea/testData/modules.xml/basic.xml index 3db3a06e253..792ec9e6da1 100644 --- a/idea/testData/modules.xml/basic.xml +++ b/idea/testData/modules.xml/basic.xml @@ -1,6 +1,6 @@ - + diff --git a/idea/testData/modules.xml/filtered.xml b/idea/testData/modules.xml/filtered.xml index 30ba6ca4746..cd565dc28dc 100644 --- a/idea/testData/modules.xml/filtered.xml +++ b/idea/testData/modules.xml/filtered.xml @@ -1,6 +1,6 @@ - + diff --git a/idea/testData/modules.xml/multiple.xml b/idea/testData/modules.xml/multiple.xml index f2097e8b7fb..3a1c0e4bc4d 100644 --- a/idea/testData/modules.xml/multiple.xml +++ b/idea/testData/modules.xml/multiple.xml @@ -1,6 +1,6 @@ - + @@ -12,7 +12,7 @@ - + diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt index af284a9b271..6a6a749a614 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.kt @@ -31,7 +31,6 @@ import org.jetbrains.jps.builders.BuildResult import org.jetbrains.jps.builders.CompileScopeTestBuilder import org.jetbrains.jps.builders.JpsBuildTestCase import org.jetbrains.jps.builders.TestProjectBuilderLogger -import org.jetbrains.jps.builders.impl.BuildDataPathsImpl import org.jetbrains.jps.builders.logging.BuildLoggingManager import org.jetbrains.jps.incremental.BuilderRegistry import org.jetbrains.jps.incremental.IncProjectBuilder @@ -52,10 +51,7 @@ import org.jetbrains.org.objectweb.asm.MethodVisitor import org.jetbrains.org.objectweb.asm.Opcodes import org.junit.Assert import java.io.* -import java.util.Arrays -import java.util.Collections -import java.util.HashSet -import java.util.TreeSet +import java.util.* import java.util.regex.Pattern import java.util.zip.ZipOutputStream import kotlin.test.* @@ -539,15 +535,6 @@ public class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() { makeAll().assertSuccessful() } - public fun testDoNotCreateUselessKotlinIncrementalCaches() { - initProject() - makeAll().assertSuccessful() - - val storageRoot = BuildDataPathsImpl(myDataStorageRoot).getDataStorageRoot() - assertTrue(File(storageRoot, "targets/java-test/kotlinProject/kotlin").exists()) - assertFalse(File(storageRoot, "targets/java-production/kotlinProject/kotlin").exists()) - } - public fun testCancelLongKotlinCompilation() { generateLongKotlinFile("Foo.kt", "foo", "Foo") initProject()