From 8623fba01ba8ac7ff675738e71ae62f8351eea71 Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Tue, 22 May 2012 00:02:56 +0400 Subject: [PATCH] cli: store unused arguments --- .../jetbrains/jet/buildtools/core/BytecodeCompiler.java | 5 +++-- .../cli/src/org/jetbrains/jet/cli/common/CLICompiler.java | 2 +- .../org/jetbrains/jet/cli/common/CompilerArguments.java | 2 ++ .../cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java | 8 +++++++- .../jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java | 6 ++++-- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java b/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java index 8127a45ad66..9c5164fe887 100644 --- a/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java +++ b/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java @@ -27,6 +27,7 @@ import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.io.File; import java.util.ArrayList; +import java.util.Collections; import java.util.List; @@ -96,7 +97,7 @@ public class BytecodeCompiler { */ public void sourcesToDir ( @NotNull String src, @NotNull String output, @Nullable String stdlib, @Nullable String[] classpath ) { try { - boolean success = KotlinToJVMBytecodeCompiler.compileBunchOfSources(env(stdlib, classpath), src, null, output, true + boolean success = KotlinToJVMBytecodeCompiler.compileBunchOfSources(env(stdlib, classpath), Collections.singletonList(src), null, output, true /* Last arg is ignored anyway */); if ( ! success ) { throw new CompileEnvironmentException( errorMessage( src, false )); @@ -119,7 +120,7 @@ public class BytecodeCompiler { */ public void sourcesToJar ( @NotNull String src, @NotNull String jar, boolean includeRuntime, @Nullable String stdlib, @Nullable String[] classpath ) { try { - boolean success = KotlinToJVMBytecodeCompiler.compileBunchOfSources(env(stdlib, classpath), src, jar, null, includeRuntime); + boolean success = KotlinToJVMBytecodeCompiler.compileBunchOfSources(env(stdlib, classpath), Collections.singletonList(src), jar, null, includeRuntime); if ( ! success ) { throw new CompileEnvironmentException( errorMessage( src, false )); } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java index 313fb21f255..4d860102f73 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/common/CLICompiler.java @@ -49,7 +49,7 @@ public abstract class CLICompiler freeArgs; + public abstract boolean isHelp(); public abstract boolean isTags(); public abstract boolean isVersion(); diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java index f98291f6e9e..8bc51c5d4d4 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/K2JVMCompiler.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.cli.jvm; import com.google.common.base.Splitter; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import com.intellij.openapi.Disposable; import com.intellij.util.ArrayUtil; import com.intellij.util.Function; @@ -124,8 +125,13 @@ public class K2JVMCompiler extends CLICompiler sources = Lists.newArrayList(); + if (arguments.src != null) { + sources.add(arguments.src); + } + sources.addAll(arguments.freeArgs); noErrors = KotlinToJVMBytecodeCompiler.compileBunchOfSources(configuration, - arguments.src, arguments.jar, arguments.outputDir, + sources, arguments.jar, arguments.outputDir, arguments.includeRuntime); } } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java index e21c5525b64..41c44335dca 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.java @@ -159,8 +159,10 @@ public class KotlinToJVMBytecodeCompiler { public static boolean compileBunchOfSources( K2JVMCompileEnvironmentConfiguration configuration, - String sourceFileOrDir, String jar, String outputDir, boolean includeRuntime) { - configuration.getEnvironment().addSources(sourceFileOrDir); + List sourceFilesOrDirs, String jar, String outputDir, boolean includeRuntime) { + for (String sourceFileOrDir : sourceFilesOrDirs) { + configuration.getEnvironment().addSources(sourceFileOrDir); + } return compileBunchOfSources(configuration, jar, outputDir, includeRuntime); }