Remove all kjsm files before writing new ones
This commit is contained in:
@@ -27,6 +27,8 @@ import com.intellij.util.SmartList;
|
|||||||
import com.intellij.util.containers.HashMap;
|
import com.intellij.util.containers.HashMap;
|
||||||
import kotlin.collections.ArraysKt;
|
import kotlin.collections.ArraysKt;
|
||||||
import kotlin.collections.CollectionsKt;
|
import kotlin.collections.CollectionsKt;
|
||||||
|
import kotlin.io.FilesKt;
|
||||||
|
import kotlin.sequences.SequencesKt;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
||||||
@@ -64,11 +66,9 @@ import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
|||||||
import org.jetbrains.kotlin.js.sourceMap.SourceFilePathResolver;
|
import org.jetbrains.kotlin.js.sourceMap.SourceFilePathResolver;
|
||||||
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus;
|
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
|
import org.jetbrains.kotlin.serialization.js.KotlinJavascriptSerializationUtil;
|
||||||
import org.jetbrains.kotlin.serialization.js.ModuleKind;
|
import org.jetbrains.kotlin.serialization.js.ModuleKind;
|
||||||
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
|
import org.jetbrains.kotlin.utils.*;
|
||||||
import org.jetbrains.kotlin.utils.KotlinPaths;
|
|
||||||
import org.jetbrains.kotlin.utils.PathUtil;
|
|
||||||
import org.jetbrains.kotlin.utils.StringsKt;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -297,12 +297,23 @@ public class K2JSCompiler extends CLICompiler<K2JSCompilerArguments> {
|
|||||||
|
|
||||||
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled();
|
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled();
|
||||||
|
|
||||||
|
if (config.getConfiguration().getBoolean(JSConfigurationKeys.META_INFO)) {
|
||||||
|
removeKjsmFilesFromOutput(outputDir);
|
||||||
|
}
|
||||||
OutputUtilsKt.writeAll(outputFiles, outputDir, messageCollector,
|
OutputUtilsKt.writeAll(outputFiles, outputDir, messageCollector,
|
||||||
configuration.getBoolean(CommonConfigurationKeys.REPORT_OUTPUT_FILES));
|
configuration.getBoolean(CommonConfigurationKeys.REPORT_OUTPUT_FILES));
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void removeKjsmFilesFromOutput(File outputDir) {
|
||||||
|
for (File file : SequencesKt.toList(FilesKt.walkTopDown(outputDir))) {
|
||||||
|
if (file.isFile() && file.getPath().endsWith(KotlinJavascriptSerializationUtil.INSTANCE.getCLASS_METADATA_FILE_EXTENSION())) {
|
||||||
|
file.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void checkDuplicateSourceFileNames(
|
private static void checkDuplicateSourceFileNames(
|
||||||
@NotNull MessageCollector log,
|
@NotNull MessageCollector log,
|
||||||
@NotNull List<KtFile> sourceFiles,
|
@NotNull List<KtFile> sourceFiles,
|
||||||
|
|||||||
Reference in New Issue
Block a user