Writing incrementalCache attribute to <modules> element of xml module script

This commit is contained in:
Evgeny Gerashchenko
2014-06-18 17:05:49 +04:00
parent 06cafe7f12
commit f6129732a2
18 changed files with 141 additions and 76 deletions
@@ -16,6 +16,9 @@
package org.jetbrains.jet.compiler.runner;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.util.Collection;
import java.util.List;
@@ -25,7 +28,6 @@ public interface KotlinModuleDescriptionBuilder {
KotlinModuleDescriptionBuilder addModule(
String moduleName,
String outputDir,
String incrementalCacheDir,
DependencyProvider dependencyProvider,
List<File> sourceFiles,
boolean tests,
@@ -17,6 +17,6 @@
package org.jetbrains.jet.compiler.runner;
public interface KotlinModuleDescriptionBuilderFactory {
KotlinModuleDescriptionBuilder create();
KotlinModuleDescriptionBuilder create(String incrementalCacheDir);
String getFileExtension();
}
@@ -32,7 +32,7 @@ public class KotlinModuleScriptBuilderFactory implements KotlinModuleDescription
private KotlinModuleScriptBuilderFactory() {}
@Override
public KotlinModuleDescriptionBuilder create() {
public KotlinModuleDescriptionBuilder create(String incrementalCacheDir) {
return new Builder();
}
@@ -54,7 +54,6 @@ public class KotlinModuleScriptBuilderFactory implements KotlinModuleDescription
public KotlinModuleDescriptionBuilder addModule(
String moduleName,
String outputDir,
String incrementalCacheDir,
DependencyProvider dependencyProvider,
List<File> sourceFiles,
boolean tests,
@@ -36,8 +36,8 @@ public class KotlinModuleXmlBuilderFactory implements KotlinModuleDescriptionBui
private KotlinModuleXmlBuilderFactory() {}
@Override
public KotlinModuleDescriptionBuilder create() {
return new Builder();
public KotlinModuleDescriptionBuilder create(String incrementalCacheDir) {
return new Builder(incrementalCacheDir);
}
@Override
@@ -50,15 +50,19 @@ public class KotlinModuleXmlBuilderFactory implements KotlinModuleDescriptionBui
private final Printer p = new Printer(xml);
private boolean done = false;
{
openTag(p, MODULES);
public Builder(String incrementalCacheDir) {
if (incrementalCacheDir == null) {
openTag(p, MODULES);
}
else {
openTag(p, MODULES + " " + INCREMENTAL_CACHE + "=\"" + getEscapedPath(new File(incrementalCacheDir)) + "\"");
}
}
@Override
public KotlinModuleDescriptionBuilder addModule(
String moduleName,
String outputDir,
String incrementalCacheDir,
DependencyProvider dependencyProvider,
List<File> sourceFiles,
boolean tests,
@@ -75,9 +79,8 @@ public class KotlinModuleXmlBuilderFactory implements KotlinModuleDescriptionBui
p.println("<", MODULE, " ",
NAME, "=\"", escapeXml(moduleName), "\" ",
OUTPUT_DIR, "=\"", getEscapedPath(new File(outputDir)), "\"",
incrementalCacheDir != null ? " " + INCREMENTAL_CACHE + "=\"" + getEscapedPath(new File(incrementalCacheDir)) + "\" " : "",
">");
OUTPUT_DIR, "=\"", getEscapedPath(new File(outputDir)), "\">"
);
p.pushIndent();
for (File sourceFile : sourceFiles) {