Add prefix information for Java source root (KT-9167 in progress)
#KT-9167 In Progress
This commit is contained in:
committed by
Nikolay Krasko
parent
77138ecdb7
commit
c0739ef53c
+5
-4
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.kotlin.cli.common.modules
|
||||
|
||||
import org.jetbrains.kotlin.modules.Module
|
||||
import org.jetbrains.kotlin.modules.JavaRootPath
|
||||
import java.util.*
|
||||
|
||||
public class ModuleBuilder(
|
||||
@@ -26,7 +27,7 @@ public class ModuleBuilder(
|
||||
) : Module {
|
||||
private val sourceFiles = ArrayList<String>()
|
||||
private val classpathRoots = ArrayList<String>()
|
||||
private val javaSourceRoots = ArrayList<String>()
|
||||
private val javaSourceRoots = ArrayList<JavaRootPath>()
|
||||
|
||||
public fun addSourceFiles(pattern: String) {
|
||||
sourceFiles.add(pattern)
|
||||
@@ -36,12 +37,12 @@ public class ModuleBuilder(
|
||||
classpathRoots.add(name)
|
||||
}
|
||||
|
||||
public fun addJavaSourceRoot(name: String) {
|
||||
javaSourceRoots.add(name)
|
||||
public fun addJavaSourceRoot(rootPath: JavaRootPath) {
|
||||
javaSourceRoots.add(rootPath)
|
||||
}
|
||||
|
||||
override fun getOutputDirectory(): String = outputDir
|
||||
override fun getJavaSourceRoots(): List<String> = javaSourceRoots
|
||||
override fun getJavaSourceRoots(): List<JavaRootPath> = javaSourceRoots
|
||||
override fun getSourceFiles(): List<String> = sourceFiles
|
||||
override fun getClasspathRoots(): List<String> = classpathRoots
|
||||
override fun getModuleName(): String = name
|
||||
|
||||
+11
-1
@@ -19,9 +19,11 @@ 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.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector;
|
||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollectorUtil;
|
||||
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil;
|
||||
import org.jetbrains.kotlin.modules.JavaRootPath;
|
||||
import org.jetbrains.kotlin.modules.Module;
|
||||
import org.xml.sax.Attributes;
|
||||
import org.xml.sax.SAXException;
|
||||
@@ -47,6 +49,7 @@ public class ModuleXmlParser {
|
||||
public static final String OUTPUT_DIR = "outputDir";
|
||||
public static final String SOURCES = "sources";
|
||||
public static final String JAVA_SOURCE_ROOTS = "javaSourceRoots";
|
||||
public static final String JAVA_SOURCE_PACKAGE_PREFIX = "packagePrefix";
|
||||
public static final String PATH = "path";
|
||||
public static final String CLASSPATH = "classpath";
|
||||
|
||||
@@ -165,7 +168,8 @@ public class ModuleXmlParser {
|
||||
}
|
||||
else if (JAVA_SOURCE_ROOTS.equalsIgnoreCase(qName)) {
|
||||
String path = getAttribute(attributes, PATH, qName);
|
||||
moduleBuilder.addJavaSourceRoot(path);
|
||||
String packagePrefix = getNullableAttribute(attributes, JAVA_SOURCE_PACKAGE_PREFIX);
|
||||
moduleBuilder.addJavaSourceRoot(new JavaRootPath(path, packagePrefix));
|
||||
}
|
||||
else {
|
||||
throw createError(qName);
|
||||
@@ -189,6 +193,12 @@ public class ModuleXmlParser {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static String getNullableAttribute(Attributes attributes, String qName) throws SAXException {
|
||||
return attributes.getValue(qName);
|
||||
}
|
||||
|
||||
|
||||
private static SAXException createError(String qName) throws SAXException {
|
||||
return new SAXException("Unexpected tag: " + qName);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user