[Gradle, JS] Reduce KotlinJsTest configuration cache footprint
#KT-49095 Fixed
This commit is contained in:
committed by
Space
parent
6ccfd974fa
commit
f9d4e0639c
+12
-5
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
|||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.karma.KotlinKarma
|
import org.jetbrains.kotlin.gradle.targets.js.testing.karma.KotlinKarma
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.mocha.KotlinMocha
|
import org.jetbrains.kotlin.gradle.targets.js.testing.mocha.KotlinMocha
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTest
|
import org.jetbrains.kotlin.gradle.tasks.KotlinTest
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.getValue
|
||||||
import org.jetbrains.kotlin.gradle.utils.newFileProperty
|
import org.jetbrains.kotlin.gradle.utils.newFileProperty
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@@ -32,8 +33,14 @@ constructor(
|
|||||||
) :
|
) :
|
||||||
KotlinTest(),
|
KotlinTest(),
|
||||||
RequiresNpmDependencies {
|
RequiresNpmDependencies {
|
||||||
private val nodeJs= NodeJsRootPlugin.apply(project.rootProject)
|
@Transient
|
||||||
private val npmProject = compilation.npmProject
|
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
|
||||||
|
|
||||||
|
private val npmResolutionManager by project.provider { nodeJs.npmResolutionManager }
|
||||||
|
|
||||||
|
private val nodeExecutable by project.provider { nodeJs.requireConfigured().nodeExecutable }
|
||||||
|
|
||||||
|
private val npmProjectDir by project.provider { compilation.npmProject.dir }
|
||||||
|
|
||||||
private val projectPath = project.path
|
private val projectPath = project.path
|
||||||
|
|
||||||
@@ -144,14 +151,14 @@ constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun executeTests() {
|
override fun executeTests() {
|
||||||
nodeJs.npmResolutionManager.checkRequiredDependencies(task = this, services = services, logger = logger, projectPath = projectPath)
|
npmResolutionManager.checkRequiredDependencies(task = this, services = services, logger = logger, projectPath = projectPath)
|
||||||
super.executeTests()
|
super.executeTests()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createTestExecutionSpec(): TCServiceMessagesTestExecutionSpec {
|
override fun createTestExecutionSpec(): TCServiceMessagesTestExecutionSpec {
|
||||||
val forkOptions = DefaultProcessForkOptions(fileResolver)
|
val forkOptions = DefaultProcessForkOptions(fileResolver)
|
||||||
forkOptions.workingDir = npmProject.dir
|
forkOptions.workingDir = npmProjectDir
|
||||||
forkOptions.executable = nodeJs.requireConfigured().nodeExecutable
|
forkOptions.executable = nodeExecutable
|
||||||
|
|
||||||
val nodeJsArgs = mutableListOf<String>()
|
val nodeJsArgs = mutableListOf<String>()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user