相关疑难解决方法(0)

如何在androidTest范围内使用kapt

有没有办法使用kapt作为androidtest范围?目前我正在从com.neenbedankt.gradle.plugins android-apt迁移到kapt - 这工作正常 - 但我不知道如何为androidTest范围做到这一点 - 所以替换:

apt "com.github.hotchemi:permissionsdispatcher-processor:$permissiondispatcher_version"
apt "com.google.dagger:dagger-compiler:$dagger_version"
Run Code Online (Sandbox Code Playgroud)

kapt "com.github.hotchemi:permissionsdispatcher-processor:$permissiondispatcher_version"
kapt "com.google.dagger:dagger-compiler:$dagger_version"
Run Code Online (Sandbox Code Playgroud)

工作正常 - 但我发现无法迁移:

androidTestApt "com.google.dagger:dagger-compiler:$dagger_version"
Run Code Online (Sandbox Code Playgroud)

android apt annotations kotlin kapt

23
推荐指数
1
解决办法
2710
查看次数

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

拥有一个带有 Gradle 设置的 Kotlin 项目:

apply plugin: 'kotlin'
apply plugin: 'kotlin-kapt'

dependencies {
    kapt 'org.openjdk.jmh:jmh-generator-annprocess:1.18'
    ...
}
Run Code Online (Sandbox Code Playgroud)

将基准放在src/main/kotlin 下可以正常工作。

但是当我为 JMH 添加自定义源集时:

sourceSets {
    jmh {
        compileClasspath += sourceSets.test.runtimeClasspath
        runtimeClasspath += sourceSets.test.runtimeClasspath
    }
}
Run Code Online (Sandbox Code Playgroud)

并将基准测试从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)
Run Code Online (Sandbox Code Playgroud)

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

kaptGenerateStubsJmhKotlin UP-TO-DATE
Skipping task ':kaptJmhKotlin' as it has no source files and no …
Run Code Online (Sandbox Code Playgroud)

gradle kotlin jmh kapt

2
推荐指数
1
解决办法
1081
查看次数

标签 统计

kapt ×2

kotlin ×2

android ×1

annotations ×1

apt ×1

gradle ×1

jmh ×1