Kotlin Ultimate: Add "Build" action to JS run configurations

#KT-20522 Fixed
This commit is contained in:
Alexey Sedunov
2018-01-22 12:54:53 +03:00
parent 8ffb205f1c
commit 80887a84ca
7 changed files with 35 additions and 5 deletions
@@ -21,13 +21,17 @@ import com.intellij.openapi.roots.CompilerModuleExtension
import org.jetbrains.jps.util.JpsPathUtil
import org.jetbrains.kotlin.idea.facet.KotlinFacet
import org.jetbrains.kotlin.idea.facet.implementingModules
import org.jetbrains.kotlin.idea.framework.isGradleModule
import org.jetbrains.kotlin.idea.project.TargetPlatformDetector
import org.jetbrains.kotlin.js.resolve.JsPlatform
import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.plugins.gradle.settings.GradleSystemRunningSettings
val Module.jsTestOutputFilePath: String?
get() {
(KotlinFacet.get(this)?.configuration?.settings?.testOutputPath)?.let { return it }
if (!shouldUseJpsOutput) {
(KotlinFacet.get(this)?.configuration?.settings?.testOutputPath)?.let { return it }
}
val compilerExtension = CompilerModuleExtension.getInstance(this)
val outputDir = compilerExtension?.compilerOutputUrlForTests ?: return null
@@ -38,4 +42,7 @@ fun Module.jsOrJsImpl() = when (TargetPlatformDetector.getPlatform(this)) {
is TargetPlatform.Common -> implementingModules.firstOrNull { TargetPlatformDetector.getPlatform(it) is JsPlatform }
is JsPlatform -> this
else -> null
}
}
val Module.shouldUseJpsOutput: Boolean
get() = !(isGradleModule() && GradleSystemRunningSettings.getInstance().isUseGradleAwareMake)