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
@@ -1,13 +1,25 @@
// Android application written in Kotlin:
// - kind of big codebase
// - uses Kotlin compiler plugins and kapt
@file:BenchmarkProject(
name = "duckduckgo",
gitUrl = "https://github.com/duckduckgo/Android.git",
gitCommitSha = "659bd5aaac1fba922a6df9053daa2b7bcd610375"
)
import java.io.File
val stableReleasePatch = {
"duckduckgo-kotlin-1.6.10.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-1.6.10.patch").inputStream()
}
val currentReleasePatch = {
"duckduckgo-kotlin-current.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-current.patch")
.readText()
.run { replace("<kotlin_version>", currentKotlinVersion) }
.byteInputStream()
}
runAllBenchmarks(
suite {
scenario {
@@ -31,7 +43,7 @@ runAllBenchmarks(
}
},
mapOf(
"1.6.10" to "benchmarkScripts/files/duckduckgo-kotlin-1.6.10.patch",
"1.6.20" to "benchmarkScripts/files/duckduckgo-kotlin-current.patch"
"1.6.10" to stableReleasePatch,
"1.6.20" to currentReleasePatch
)
)
@@ -27,7 +27,7 @@ index 4497fd12..730df20a 100644
ext {
- kotlin_version = '1.5.10'
+ kotlin_version = '1.6.255-SNAPSHOT'
+ kotlin_version = '<kotlin_version>'
}
ext.spotless = "5.14.0"
- ext.anvil_version = "2.3.3"
@@ -67,7 +67,7 @@ index fae6ae6e..81cb692c 100644
version.io.reactivex.rxjava2..rxjava=2.2.9
-version.kotlin=1.5.31
+version.kotlin=1.6.255-SNAPSHOT
+version.kotlin=<kotlin_version>
version.kotlinx.coroutines=1.5.2