Scala Scoverage不为项目生成报告
试着按照指示去做。我的Scala Scoverage不为项目生成报告,scala,gradle,gradle-plugin,scoverage,Scala,Gradle,Gradle Plugin,Scoverage,试着按照指示去做。我的build.gradle看起来像这样(经过一些修剪): 当我运行/gradlew tests平均值时,尽管事情开始变得可疑 :davinci-server:compileScoverageJava UP-TO-DATE :davinci-server:compileScoverageScala :davinci-server:processScoverageResources UP-TO-DATE :davinci-server:scoverageClasses :davi
build.gradle
看起来像这样(经过一些修剪):
当我运行/gradlew tests平均值时
,尽管事情开始变得可疑
:davinci-server:compileScoverageJava UP-TO-DATE
:davinci-server:compileScoverageScala
:davinci-server:processScoverageResources UP-TO-DATE
:davinci-server:scoverageClasses
:davinci-server:compileTestScoverageJava UP-TO-DATE
:davinci-server:compileTestScoverageScala UP-TO-DATE
:davinci-server:processTestScoverageResources UP-TO-DATE
:davinci-server:testScoverageClasses UP-TO-DATE
:davinci-server:testScoverage UP-TO-DATE
由于这是我第一次运行任何与scoverage相关的任务,我不希望有这么多任务是最新的
scoverageClasses
任务似乎工作正常,它在davinci服务器/build/classes/scoverage
中放置了几个.class
文件。似乎没有生成任何报告,并且跳过了/gradlew reports平均值,因为仅任务如果为false
所以我运行了/gradlew--debug tests平均值,一开始我没有看到任何提示。也许你会在本节中看到一些有趣的内容,但我没有:
14:42:31.709 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :davinci-server:testScoverageClasses (Thread[Daemon worker Thread 40,5,main]) started.
14:42:31.709 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :davinci-server:testScoverageClasses
14:42:31.709 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':davinci-server:testScoverageClasses'
14:42:31.709 [INFO] [org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter] Skipping task ':davinci-server:testScoverageClasses' as it has no actions.
14:42:31.709 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':davinci-server:testScoverageClasses'
14:42:31.709 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :davinci-server:testScoverageClasses UP-TO-DATE
14:42:31.709 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :davinci-server:testScoverageClasses (Thread[Daemon worker Thread 40,5,main]) completed. Took 0.0 secs.
14:42:31.710 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :davinci-server:testScoverage (Thread[Daemon worker Thread 40,5,main]) started.
14:42:31.710 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :davinci-server:testScoverage
14:42:31.710 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':davinci-server:testScoverage'
14:42:31.710 [DEBUG] [org.scoverage.ScoverageExtension] classpath, testSourceSet.runtimeClasspath: file collection
14:42:31.710 [DEBUG] [org.scoverage.ScoverageExtension] testClassesDir, testSourceSet.output.classesDir: /Users/coryklein/domo/davinci/davinci-server/build/classes/testScoverage
14:42:31.710 [DEBUG] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Determining if task ':davinci-server:testScoverage' is up-to-date
14:42:31.710 [DEBUG] [org.scoverage.ScoverageExtension] testClassesDir, testSourceSet.output.classesDir: /Users/coryklein/domo/davinci/davinci-server/build/classes/testScoverage
14:42:31.712 [DEBUG] [org.scoverage.ScoverageExtension] classpath, testSourceSet.runtimeClasspath: file collection
// SNIP
14:42:31.967 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Skipping task ':davinci-server:testScoverage' as it is up-to-date (took 0.257 secs).
14:42:31.967 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':davinci-server:testScoverage'
14:42:31.967 [LIFECYCLE] [class org.gradle.TaskExecutionLogger] :davinci-server:testScoverage UP-TO-DATE
14:42:31.967 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :davinci-server:testScoverage (Thread[Daemon worker Thread 40,5,main]) completed. Took 0.257 secs.
但是,在调试输出的其他地方,我确实发现了这个gem:
14:42:31.116 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':davinci-server:compileScoverageJava'
14:42:31.116 [INFO] [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '/Users/coryklein/domo/davinci/davinci-server/src/scoverage/java', not found
14:42:31.116 [INFO] [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '/Users/coryklein/domo/davinci/davinci-server/src/main/java', not found
14:42:31.116 [INFO] [org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter] Skipping task ':davinci-server:compileScoverageJava' as it has no source files.
14:42:31.116 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':davinci-server:compileScoverageJava'
它看起来像是被跳过了compileScoverageJava
,因为它在davinci-server/src/scoverage/scala
中找不到任何源文件,但我一辈子都搞不懂它为什么会出现在那里:我的源代码在davinci-server/src/main/scala
中,gradle知道这一点,该死
我曾尝试编译自己版本的gradle scoverage
插件,该插件到处都是logger.debug
语句,但找不到src/scoverage
路径的来源,也找不到任何其他指示,说明scoverage不起作用的原因
有人知道我哪里出错了吗?Kust要注意的是,CompileScroverageJava被跳过了,因为您在src/main/java下没有java类,但在scala下没有java类,所以看起来还可以。我认为,您的scala类将由compileScoverageScala进行测试。您是否尝试过修改您的scala源代码以使其重新生成?
14:42:31.116 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':davinci-server:compileScoverageJava'
14:42:31.116 [INFO] [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '/Users/coryklein/domo/davinci/davinci-server/src/scoverage/java', not found
14:42:31.116 [INFO] [org.gradle.api.internal.file.collections.DirectoryFileTree] file or directory '/Users/coryklein/domo/davinci/davinci-server/src/main/java', not found
14:42:31.116 [INFO] [org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter] Skipping task ':davinci-server:compileScoverageJava' as it has no source files.
14:42:31.116 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':davinci-server:compileScoverageJava'