Kotlin的gradle插件不适用于自定义源集(JMH)

拥有Gradle设置的Kotlin项目:

apply plugin: 'kotlin' apply plugin: 'kotlin-kapt' dependencies { kapt 'org.openjdk.jmh:jmh-generator-annprocess:1.18' ... } 

把基准放在src / main / kotlin下工作没有问题。

但是当我为JMH添加一个自定义的源代码集:

 sourceSets { jmh { compileClasspath += sourceSets.test.runtimeClasspath runtimeClasspath += sourceSets.test.runtimeClasspath } } 

并将src / main / kotlin的基准测试移至src / jmh / kotlin ,执行基准测试失败:

 Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList at org.openjdk.jmh.runner.AbstractResourceReader.getReaders(AbstractResourceReader.java:98) at org.openjdk.jmh.runner.BenchmarkList.find(BenchmarkList.java:122) at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:256) at org.openjdk.jmh.runner.Runner.run(Runner.java:206) at org.openjdk.jmh.Main.main(Main.java:71) 

它看起来像kaptJmhKotlin没有做任何事情:

 kaptGenerateStubsJmhKotlin UP-TO-DATE Skipping task ':kaptJmhKotlin' as it has no source files and no previous output files. :kaptJmhKotlin NO-SOURCE :compileJmhKotlin 

任何想法如何解决这个问题?