CLI & JPS: use List instead Set for libraries and decencies.
This commit is contained in:
@@ -33,7 +33,6 @@ import org.jetbrains.jet.cli.common.messages.MessageCollectorUtil;
|
||||
import java.io.File;
|
||||
import java.io.PrintStream;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class KotlinCompilerRunner {
|
||||
private static final String K2JVM_COMPILER = "org.jetbrains.jet.cli.jvm.K2JVMCompiler";
|
||||
@@ -62,7 +61,7 @@ public class KotlinCompilerRunner {
|
||||
CompilerEnvironment environment,
|
||||
OutputItemsCollector collector,
|
||||
List<File> sourceFiles,
|
||||
Set<String> libraryFiles,
|
||||
List<String> libraryFiles,
|
||||
File outputFile
|
||||
) {
|
||||
K2JSCompilerArguments arguments = mergeBeans(commonArguments, k2jsArguments);
|
||||
@@ -147,7 +146,7 @@ public class KotlinCompilerRunner {
|
||||
private static void setupK2JsSettings(
|
||||
File outputFile,
|
||||
List<File> sourceFiles,
|
||||
Set<String> libraryFiles,
|
||||
List<String> libraryFiles,
|
||||
K2JSCompilerArguments settings
|
||||
) {
|
||||
setupCommonSettings(settings);
|
||||
|
||||
@@ -29,34 +29,36 @@ import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
class JpsJsModuleUtils {
|
||||
private JpsJsModuleUtils() {}
|
||||
|
||||
@NotNull
|
||||
static Set<String> getLibraryFilesAndDependencies(@NotNull ModuleBuildTarget target) {
|
||||
Set<String> result = new HashSet<String>();
|
||||
static List<String> getLibraryFilesAndDependencies(@NotNull ModuleBuildTarget target) {
|
||||
List<String> result = new ArrayList<String>();
|
||||
getLibraryFiles(target, result);
|
||||
getDependencyModulesAndSources(target, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
static void getLibraryFiles(@NotNull ModuleBuildTarget target, @NotNull Set<String> result) {
|
||||
static void getLibraryFiles(@NotNull ModuleBuildTarget target, @NotNull List<String> result) {
|
||||
Set<JpsLibrary> libraries = JpsUtils.getAllDependencies(target).getLibraries();
|
||||
for (JpsLibrary library : libraries) {
|
||||
for (JpsLibraryRoot root : library.getRoots(JpsOrderRootType.COMPILED)) {
|
||||
String path = JpsPathUtil.urlToOsPath(root.getUrl());
|
||||
// TODO: Do we need to add to dependency all libraries?
|
||||
if (LibraryUtils.isJsRuntimeLibrary(JpsPathUtil.urlToFile(path))) {
|
||||
if (LibraryUtils.isJsRuntimeLibrary(new File(path))) {
|
||||
result.add(path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void getDependencyModulesAndSources(@NotNull final ModuleBuildTarget target, @NotNull final Set<String> result) {
|
||||
static void getDependencyModulesAndSources(@NotNull final ModuleBuildTarget target, @NotNull final List<String> result) {
|
||||
JpsUtils.getAllDependencies(target).processModules(new Consumer<JpsModule>() {
|
||||
@Override
|
||||
public void consume(JpsModule module) {
|
||||
|
||||
@@ -138,7 +138,7 @@ public class KotlinBuilder extends ModuleLevelBuilder {
|
||||
}
|
||||
|
||||
File outputFile = new File(outputDir, representativeTarget.getModule().getName() + ".js");
|
||||
Set<String> libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget);
|
||||
List<String> libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget);
|
||||
K2JSCompilerArguments k2JsSettings = JpsKotlinCompilerSettings.getK2JsSettings(project);
|
||||
|
||||
runK2JsCompiler(commonSettings, k2JsSettings, messageCollector, environment, outputItemCollector, sourceFiles, libraryFiles, outputFile);
|
||||
|
||||
Reference in New Issue
Block a user