Pass current Kotlin version to benchmark script

Allows using different current Kotlin versions in benchmark.
For example, SNAPSHOT version when current branch is master and
dev version on CI build.

^KT-49921 In Progress
This commit is contained in:
Yahor Berdnikau
2021-12-22 12:37:01 +01:00
parent ba201a249e
commit 10a1d2ca1d
5 changed files with 45 additions and 16 deletions
@@ -23,7 +23,8 @@ dependencies {
val service = project.extensions.getByType<JavaToolchainService>()
abstract class ScriptArgumentProvider @Inject constructor(
layout: ProjectLayout
layout: ProjectLayout,
private val releaseKotlinVersion: String
) : CommandLineArgumentProvider {
@get:Classpath
abstract val scriptClasspath: ConfigurableFileCollection
@@ -40,7 +41,8 @@ abstract class ScriptArgumentProvider @Inject constructor(
"-no-stdlib",
"-classpath", scriptClasspath.asFileTree.files.joinToString(separator = File.pathSeparator),
"-script", "benchmarkScripts/${script.get()}",
scriptOutputDirectories.get().asFile.absolutePath
scriptOutputDirectories.get().asFile.absolutePath,
releaseKotlinVersion
)
}
}
@@ -62,7 +64,7 @@ fun addBenchmarkTask(
classpath = compilerClasspath
mainClass.set("org.jetbrains.kotlin.cli.jvm.K2JVMCompiler")
val scriptArgs = objects.newInstance<ScriptArgumentProvider>()
val scriptArgs = objects.newInstance<ScriptArgumentProvider>(version)
scriptArgs.script.set(script)
scriptArgs.scriptClasspath.from(scriptsClasspath)
argumentProviders.add(scriptArgs)