Skip to content

Commit 4b51bb3

Browse files
committed
require opt-in for BenchmarkConfiguration & BenchmarkTarget constructors
1 parent e44eedd commit 4b51bb3

File tree

2 files changed

+32
-9
lines changed

2 files changed

+32
-9
lines changed

plugin/main/src/kotlinx/benchmark/gradle/BenchmarkConfiguration.kt

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
66
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation
77
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
88

9-
open class BenchmarkConfiguration(val extension: BenchmarksExtension, val name: String) {
9+
open class BenchmarkConfiguration
10+
@KotlinxBenchmarkPluginInternalApi
11+
constructor(
12+
val extension: BenchmarksExtension,
13+
val name: String,
14+
) {
1015
var iterations: Int? = null
1116
var warmups: Int? = null
1217
var iterationTime: Long? = null
@@ -47,24 +52,35 @@ open class BenchmarkConfiguration(val extension: BenchmarksExtension, val name:
4752
fun reportFileExt(): String = reportFormat?.toLowerCase() ?: "json"
4853
}
4954

50-
open class BenchmarkTarget(val extension: BenchmarksExtension, val name: String) {
55+
open class BenchmarkTarget
56+
@KotlinxBenchmarkPluginInternalApi
57+
constructor(
58+
val extension: BenchmarksExtension,
59+
val name: String,
60+
) {
5161
var workingDir: String? = null
5262
}
5363

54-
abstract class JvmBenchmarkTarget(
64+
abstract class JvmBenchmarkTarget
65+
@KotlinxBenchmarkPluginInternalApi
66+
constructor(
5567
extension: BenchmarksExtension,
5668
name: String
5769
) : BenchmarkTarget(extension, name) {
5870
var jmhVersion: String = (extension.project.findProperty("benchmarks_jmh_version") as? String) ?: "1.21"
5971
}
6072

61-
class JavaBenchmarkTarget(
73+
class JavaBenchmarkTarget
74+
@KotlinxBenchmarkPluginInternalApi
75+
constructor(
6276
extension: BenchmarksExtension,
6377
name: String,
6478
val sourceSet: SourceSet
6579
) : JvmBenchmarkTarget(extension, name)
6680

67-
open class KotlinJvmBenchmarkTarget(
81+
open class KotlinJvmBenchmarkTarget
82+
@KotlinxBenchmarkPluginInternalApi
83+
constructor(
6884
extension: BenchmarksExtension,
6985
name: String,
7086
val compilation: KotlinJvmCompilation
@@ -75,21 +91,27 @@ enum class JsBenchmarksExecutor {
7591
BuiltIn
7692
}
7793

78-
class JsBenchmarkTarget(
94+
class JsBenchmarkTarget
95+
@KotlinxBenchmarkPluginInternalApi
96+
constructor(
7997
extension: BenchmarksExtension,
8098
name: String,
8199
val compilation: KotlinJsIrCompilation
82100
) : BenchmarkTarget(extension, name) {
83101
var jsBenchmarksExecutor: JsBenchmarksExecutor = JsBenchmarksExecutor.BenchmarkJs
84102
}
85103

86-
class WasmBenchmarkTarget(
104+
class WasmBenchmarkTarget
105+
@KotlinxBenchmarkPluginInternalApi
106+
constructor(
87107
extension: BenchmarksExtension,
88108
name: String,
89109
val compilation: KotlinJsIrCompilation
90110
) : BenchmarkTarget(extension, name)
91111

92-
class NativeBenchmarkTarget(
112+
class NativeBenchmarkTarget
113+
@KotlinxBenchmarkPluginInternalApi
114+
constructor(
93115
extension: BenchmarksExtension,
94116
name: String,
95117
val compilation: KotlinNativeCompilation

plugin/main/src/kotlinx/benchmark/gradle/BenchmarksPlugin.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package kotlinx.benchmark.gradle
22

33
import kotlinx.benchmark.gradle.internal.KotlinxBenchmarkPluginInternalApi
44
import org.gradle.api.*
5-
import org.gradle.util.*
5+
import org.gradle.util.GradleVersion
66

77
@Suppress("unused")
88
abstract class BenchmarksPlugin
@@ -11,6 +11,7 @@ constructor() : Plugin<Project> {
1111

1212
companion object {
1313
const val PLUGIN_ID = "org.jetbrains.kotlinx.benchmark"
14+
1415
// This value is overridden by `overridePluginVersion` task during release builds.
1516
const val PLUGIN_VERSION = "0.5.0-SNAPSHOT"
1617

0 commit comments

Comments
 (0)