[ide starter extended] build tools overridden version for internal use

GitOrigin-RevId: facb382d9e01a2aeee1828a21ddc56c2096bbd91
This commit is contained in:
Nikita Kudrin
2022-05-31 15:04:58 +00:00
committed by intellij-monorepo-bot
parent 13dff8d4e9
commit 245024233c
5 changed files with 23 additions and 25 deletions
@@ -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)
}
@@ -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
}
@@ -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<IDETestContext, MavenBuildTool>().invoke(testContext)
}
val gradle: GradleBuildTool
get() = di.direct.newInstance {
factory<IDETestContext, GradleBuildTool>().invoke(testContext)
}
}
@@ -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<IDETestContext, MavenBuildTool> { testContext: IDETestContext -> MavenBuildTool(testContext) }
bindFactory<IDETestContext, GradleBuildTool> { testContext: IDETestContext -> GradleBuildTool(testContext) }
bindFactory<IDETestContext, BuildToolProvider> { testContext: IDETestContext -> BuildToolDefaultProvider(testContext) }
}
@@ -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<IDETestContext, PluginConfigurator>().invoke(this@IDETestContext) }
val buildTools: BuildToolResolver by lazy { BuildToolResolver(this) }
val buildTools: BuildToolProvider by di.newInstance { factory<IDETestContext, BuildToolProvider>().invoke(this@IDETestContext) }
fun addVMOptionsPatch(patchVMOptions: VMOptions.() -> VMOptions): IDETestContext {
this.patchVMOptions = this.patchVMOptions.andThen(patchVMOptions)