diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolDefaultProvider.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolDefaultProvider.kt new file mode 100644 index 000000000000..9ed2bc82fd4f --- /dev/null +++ b/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolDefaultProvider.kt @@ -0,0 +1,9 @@ +package com.intellij.ide.starter.build.tool + +import com.intellij.ide.starter.ide.IDETestContext + +open class BuildToolDefaultProvider(testContext: IDETestContext) : BuildToolProvider(testContext) { + override val maven: MavenBuildTool = MavenBuildTool(testContext) + + override val gradle: GradleBuildTool = GradleBuildTool(testContext) +} \ No newline at end of file diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolProvider.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolProvider.kt new file mode 100644 index 000000000000..7046377fe06f --- /dev/null +++ b/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolProvider.kt @@ -0,0 +1,9 @@ +package com.intellij.ide.starter.build.tool + +import com.intellij.ide.starter.ide.IDETestContext + +abstract class BuildToolProvider(val testContext: IDETestContext) { + abstract val maven: MavenBuildTool + + abstract val gradle: GradleBuildTool +} \ No newline at end of file diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolResolver.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolResolver.kt deleted file mode 100644 index b34c17b66d14..000000000000 --- a/tools/intellij.ide.starter/src/com/intellij/ide/starter/build/tool/BuildToolResolver.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.intellij.ide.starter.build.tool - -import com.intellij.ide.starter.di.di -import com.intellij.ide.starter.ide.IDETestContext -import org.kodein.di.direct -import org.kodein.di.factory -import org.kodein.di.newInstance - -class BuildToolResolver(val testContext: IDETestContext) { - val maven: MavenBuildTool - get() = di.direct.newInstance { - factory().invoke(testContext) - } - - val gradle: GradleBuildTool - get() = di.direct.newInstance { - factory().invoke(testContext) - } -} \ No newline at end of file diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/di/diContainer.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/di/diContainer.kt index eb03732770d9..e1a3bcaf31c2 100644 --- a/tools/intellij.ide.starter/src/com/intellij/ide/starter/di/diContainer.kt +++ b/tools/intellij.ide.starter/src/com/intellij/ide/starter/di/diContainer.kt @@ -1,7 +1,7 @@ package com.intellij.ide.starter.di -import com.intellij.ide.starter.build.tool.GradleBuildTool -import com.intellij.ide.starter.build.tool.MavenBuildTool +import com.intellij.ide.starter.build.tool.BuildToolDefaultProvider +import com.intellij.ide.starter.build.tool.BuildToolProvider import com.intellij.ide.starter.ci.CIServer import com.intellij.ide.starter.ci.NoCIServer import com.intellij.ide.starter.community.PublicIdeResolver @@ -41,6 +41,5 @@ var di = DI { SimpleInstaller() } } - bindFactory { testContext: IDETestContext -> MavenBuildTool(testContext) } - bindFactory { testContext: IDETestContext -> GradleBuildTool(testContext) } + bindFactory { testContext: IDETestContext -> BuildToolDefaultProvider(testContext) } } diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/ide/IDETestContext.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/ide/IDETestContext.kt index 2e1208dd0ee9..ef5081aef2c0 100644 --- a/tools/intellij.ide.starter/src/com/intellij/ide/starter/ide/IDETestContext.kt +++ b/tools/intellij.ide.starter/src/com/intellij/ide/starter/ide/IDETestContext.kt @@ -1,6 +1,6 @@ package com.intellij.ide.starter.ide -import com.intellij.ide.starter.build.tool.BuildToolResolver +import com.intellij.ide.starter.build.tool.BuildToolProvider import com.intellij.ide.starter.ci.CIServer import com.intellij.ide.starter.di.di import com.intellij.ide.starter.ide.command.MarshallableCommand @@ -44,7 +44,7 @@ data class IDETestContext( val pluginConfigurator: PluginConfigurator by di.newInstance { factory().invoke(this@IDETestContext) } - val buildTools: BuildToolResolver by lazy { BuildToolResolver(this) } + val buildTools: BuildToolProvider by di.newInstance { factory().invoke(this@IDETestContext) } fun addVMOptionsPatch(patchVMOptions: VMOptions.() -> VMOptions): IDETestContext { this.patchVMOptions = this.patchVMOptions.andThen(patchVMOptions)