Skip to content

Commit 126c003

Browse files
author
Abduqodiri Qurbonzoda
committed
[Plugin] Replace deprecated WorkerExecutor.submit with WorkQueue.submit
1 parent 476524f commit 126c003

File tree

2 files changed

+28
-16
lines changed

2 files changed

+28
-16
lines changed

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,15 @@ open class JmhBytecodeGeneratorTask
3131

3232
@TaskAction
3333
fun generate() {
34-
workerExecutor.submit(JmhBytecodeGeneratorWorker::class.java) { config ->
35-
config.isolationMode = IsolationMode.PROCESS
36-
config.classpath = runtimeClasspath
37-
config.params(inputClassesDirs.files, inputCompileClasspath.files, outputSourcesDir, outputResourcesDir)
34+
val workQueue = workerExecutor.processIsolation { workerSpec ->
35+
workerSpec.classpath.setFrom(runtimeClasspath.files)
3836
}
39-
workerExecutor.await()
37+
workQueue.submit(JmhBytecodeGeneratorWorker::class.java) { workParameters ->
38+
workParameters.inputClasses.setFrom(inputClassesDirs.files)
39+
workParameters.inputClasspath.setFrom(inputCompileClasspath.files)
40+
workParameters.outputSourceDirectory.set(outputSourcesDir)
41+
workParameters.outputResourceDirectory.set(outputResourcesDir)
42+
}
43+
workQueue.await()
4044
}
4145
}

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

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,32 @@
1515
*/
1616
package kotlinx.benchmark.gradle
1717

18+
import org.gradle.api.file.DirectoryProperty
19+
import org.gradle.api.file.ConfigurableFileCollection
20+
import org.gradle.workers.WorkAction
21+
import org.gradle.workers.WorkParameters
1822
import org.openjdk.jmh.annotations.*
1923
import org.openjdk.jmh.generators.core.*
2024
import org.openjdk.jmh.generators.reflection.*
2125
import org.openjdk.jmh.util.*
2226
import java.io.*
2327
import java.net.*
2428
import java.util.*
25-
import javax.inject.*
2629

27-
class JmhBytecodeGeneratorWorker
28-
@Inject constructor(
29-
private val inputClasses: Set<File>,
30-
private val inputClasspath: Set<File>,
31-
private val outputSourceDirectory: File,
32-
private val outputResourceDirectory: File
33-
) : Runnable {
30+
abstract class JmhBytecodeGeneratorWorker : WorkAction<JmhBytecodeGeneratorWorkParameters> {
3431

3532
companion object {
3633
private const val classSuffix = ".class"
3734
}
3835

39-
override fun run() {
36+
private val outputSourceDirectory: File get() = parameters.outputSourceDirectory.get().asFile
37+
private val outputResourceDirectory: File get() = parameters.outputResourceDirectory.get().asFile
38+
39+
override fun execute() {
4040
cleanup(outputSourceDirectory)
4141
cleanup(outputResourceDirectory)
4242

43-
val urls = (inputClasses + inputClasspath).map { it.toURI().toURL() }.toTypedArray()
43+
val urls = (parameters.inputClasses + parameters.inputClasspath).map { it.toURI().toURL() }.toTypedArray()
4444

4545
// Include compiled bytecode on classpath, in case we need to
4646
// resolve the cross-class dependencies
@@ -75,7 +75,7 @@ class JmhBytecodeGeneratorWorker
7575
val destination = FileSystemDestination(outputResourceDirectory, outputSourceDirectory)
7676

7777
val allFiles = HashMap<File, Collection<File>>(urls.size)
78-
for (directory in inputClasses) {
78+
for (directory in parameters.inputClasses) {
7979
val classes = FileUtils.getClasses(directory)
8080
allFiles[directory] = classes
8181
}
@@ -110,3 +110,11 @@ class JmhBytecodeGeneratorWorker
110110
}
111111
}
112112
}
113+
114+
115+
interface JmhBytecodeGeneratorWorkParameters : WorkParameters {
116+
val inputClasses: ConfigurableFileCollection
117+
val inputClasspath: ConfigurableFileCollection
118+
val outputSourceDirectory: DirectoryProperty
119+
val outputResourceDirectory: DirectoryProperty
120+
}

0 commit comments

Comments
 (0)