JS: always generate metadata while compiling from idea
Original commit: 977b743f3d
This commit is contained in:
@@ -64,18 +64,19 @@ public class KotlinCompilerRunner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void runK2JsCompiler(
|
public static void runK2JsCompiler(
|
||||||
CommonCompilerArguments commonArguments,
|
@NotNull CommonCompilerArguments commonArguments,
|
||||||
K2JSCompilerArguments k2jsArguments,
|
@NotNull K2JSCompilerArguments k2jsArguments,
|
||||||
CompilerSettings compilerSettings,
|
@NotNull CompilerSettings compilerSettings,
|
||||||
MessageCollector messageCollector,
|
@NotNull MessageCollector messageCollector,
|
||||||
CompilerEnvironment environment,
|
@NotNull CompilerEnvironment environment,
|
||||||
OutputItemsCollector collector,
|
@NotNull OutputItemsCollector collector,
|
||||||
Collection<File> sourceFiles,
|
@NotNull Collection<File> sourceFiles,
|
||||||
List<String> libraryFiles,
|
@NotNull List<String> libraryFiles,
|
||||||
File outputFile
|
@NotNull File outputFile,
|
||||||
|
@Nullable File metaInfoFile
|
||||||
) {
|
) {
|
||||||
K2JSCompilerArguments arguments = mergeBeans(commonArguments, k2jsArguments);
|
K2JSCompilerArguments arguments = mergeBeans(commonArguments, k2jsArguments);
|
||||||
setupK2JsArguments(outputFile, sourceFiles, libraryFiles, arguments);
|
setupK2JsArguments(outputFile, metaInfoFile, sourceFiles, libraryFiles, arguments);
|
||||||
|
|
||||||
runCompiler(K2JS_COMPILER, arguments, compilerSettings.getAdditionalArguments(), messageCollector, collector, environment);
|
runCompiler(K2JS_COMPILER, arguments, compilerSettings.getAdditionalArguments(), messageCollector, collector, environment);
|
||||||
}
|
}
|
||||||
@@ -189,10 +190,11 @@ public class KotlinCompilerRunner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void setupK2JsArguments(
|
private static void setupK2JsArguments(
|
||||||
File outputFile,
|
@NotNull File outputFile,
|
||||||
Collection<File> sourceFiles,
|
@Nullable File metaInfoFile,
|
||||||
List<String> libraryFiles,
|
@NotNull Collection<File> sourceFiles,
|
||||||
K2JSCompilerArguments settings
|
@NotNull List<String> libraryFiles,
|
||||||
|
@NotNull K2JSCompilerArguments settings
|
||||||
) {
|
) {
|
||||||
settings.noStdlib = true;
|
settings.noStdlib = true;
|
||||||
settings.freeArgs = ContainerUtil.map(sourceFiles, new Function<File, String>() {
|
settings.freeArgs = ContainerUtil.map(sourceFiles, new Function<File, String>() {
|
||||||
@@ -202,6 +204,11 @@ public class KotlinCompilerRunner {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
settings.outputFile = outputFile.getPath();
|
settings.outputFile = outputFile.getPath();
|
||||||
|
|
||||||
|
if (metaInfoFile != null) {
|
||||||
|
settings.metaInfo = metaInfoFile.getPath();
|
||||||
|
}
|
||||||
|
|
||||||
settings.libraryFiles = ArrayUtil.toStringArray(libraryFiles);
|
settings.libraryFiles = ArrayUtil.toStringArray(libraryFiles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -382,12 +382,14 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
|
|
||||||
val outputDir = KotlinBuilderModuleScriptGenerator.getOutputDirSafe(representativeTarget)
|
val outputDir = KotlinBuilderModuleScriptGenerator.getOutputDirSafe(representativeTarget)
|
||||||
|
|
||||||
val outputFile = File(outputDir, representativeTarget.getModule().getName() + ".js")
|
val moduleName = representativeTarget.getModule().getName()
|
||||||
|
val outputFile = File(outputDir, "$moduleName.js")
|
||||||
|
val metaInfoFile = File(outputDir, "$moduleName.meta.js")
|
||||||
val libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget)
|
val libraryFiles = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget)
|
||||||
val compilerSettings = JpsKotlinCompilerSettings.getCompilerSettings(project)
|
val compilerSettings = JpsKotlinCompilerSettings.getCompilerSettings(project)
|
||||||
val k2JsArguments = JpsKotlinCompilerSettings.getK2JsCompilerArguments(project)
|
val k2JsArguments = JpsKotlinCompilerSettings.getK2JsCompilerArguments(project)
|
||||||
|
|
||||||
runK2JsCompiler(commonArguments, k2JsArguments, compilerSettings, messageCollector, environment, outputItemCollector, sourceFiles, libraryFiles, outputFile)
|
runK2JsCompiler(commonArguments, k2JsArguments, compilerSettings, messageCollector, environment, outputItemCollector, sourceFiles, libraryFiles, outputFile, metaInfoFile)
|
||||||
return outputItemCollector
|
return outputItemCollector
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user