From 09d0780fe6aa7cd42f7aee3c0b3aae8aed8429bf Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Fri, 6 Jan 2012 21:22:55 +0400 Subject: [PATCH] developer option to exclude sources to compile stdlib --- build.xml | 1 + .../src/org/jetbrains/jet/compiler/CompileEnvironment.java | 6 ++++-- compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/build.xml b/build.xml index 952ccdd3dba..480951def0d 100644 --- a/build.xml +++ b/build.xml @@ -35,6 +35,7 @@ + diff --git a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 277273aa0ee..66c129f3ef9 100644 --- a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -337,10 +337,12 @@ public class CompileEnvironment { } } - public boolean compileBunchOfSources(String sourceFileOrDir, String jar, String outputDir, boolean includeRuntime) { + public boolean compileBunchOfSources(String sourceFileOrDir, String jar, String outputDir, boolean includeRuntime, boolean includeSources) { CompileSession session = new CompileSession(myEnvironment); session.addSources(sourceFileOrDir); - session.addStdLibSources(false); + if (includeSources) { + session.addStdLibSources(false); + } String mainClass = null; for (JetFile file : session.getSourceFileNamespaces()) { diff --git a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java index e752317b947..8daf27b6cf8 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java @@ -25,6 +25,8 @@ public class KotlinCompiler { public String module; @Argument(value = "includeRuntime", description = "include Kotlin runtime in to resulting jar") public boolean includeRuntime; + @Argument(value = "excludeStdlib", description = "do not load stdlib (to compile stdlib itself)") + public boolean excludeStdlib; } public static void main(String[] args) { @@ -59,7 +61,7 @@ public class KotlinCompiler { return; } else { - if (!environment.compileBunchOfSources(arguments.src, arguments.jar, arguments.outputDir, arguments.includeRuntime)) { + if (!environment.compileBunchOfSources(arguments.src, arguments.jar, arguments.outputDir, arguments.includeRuntime, !arguments.excludeStdlib)) { System.exit(1); return; }