From bd486b1ac51f4bf142125d600fd0061326756fb3 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Tue, 22 Oct 2013 12:51:00 +0400 Subject: [PATCH] CLI & JPS: use List instead Set for libraries and decencies. Original commit: 4d68262b7f591afcfc0540cc753de89a6233052b --- .../jetbrains/jet/jps/build/JpsJsModuleUtils.java | 14 ++++++++------ .../org/jetbrains/jet/jps/build/KotlinBuilder.java | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/JpsJsModuleUtils.java b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/JpsJsModuleUtils.java index e1ece25113a..9e521435843 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/JpsJsModuleUtils.java +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/JpsJsModuleUtils.java @@ -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 getLibraryFilesAndDependencies(@NotNull ModuleBuildTarget target) { - Set result = new HashSet(); + static List getLibraryFilesAndDependencies(@NotNull ModuleBuildTarget target) { + List result = new ArrayList(); getLibraryFiles(target, result); getDependencyModulesAndSources(target, result); return result; } - static void getLibraryFiles(@NotNull ModuleBuildTarget target, @NotNull Set result) { + static void getLibraryFiles(@NotNull ModuleBuildTarget target, @NotNull List result) { Set 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 result) { + static void getDependencyModulesAndSources(@NotNull final ModuleBuildTarget target, @NotNull final List result) { JpsUtils.getAllDependencies(target).processModules(new Consumer() { @Override public void consume(JpsModule module) { diff --git a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java index 70e32c89e5e..30886961a3d 100644 --- a/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java +++ b/jps/jps-plugin/src/org/jetbrains/jet/jps/build/KotlinBuilder.java @@ -138,7 +138,7 @@ public class KotlinBuilder extends ModuleLevelBuilder { } File outputFile = new File(outputDir, representativeTarget.getModule().getName() + ".js"); - Set libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget); + List libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget); K2JSCompilerArguments k2JsSettings = JpsKotlinCompilerSettings.getK2JsSettings(project); runK2JsCompiler(commonSettings, k2JsSettings, messageCollector, environment, outputItemCollector, sourceFiles, libraryFiles, outputFile);