有没有人在将gradle-clover-plugin与Grails 3集成方面取得任何成功?我与build.gradle最接近的是:
clover {
additionalSourceDirs = [new File("src/main/groovy"), new File("grails-app")] as Set
additionalTestDirs = [new File("src/test/groovy/"), new File("src/integration-test/groovy")] as Set
includes = ['/*.groovy', '/.java']
testIncludes = ['/Spec.java']
report {
html = true
xml = true
}
}
grails test-app:
[clover-clean] Clover Version 3.2.0, built on October 21 2013 (build-908)
[clover-clean] Loaded from: C:\Users\abc3\.gradle\caches\modules-2\files-2.1\com.cenqua.clover\clover\3.2.0\e09feecf14644d92003ab037c30e483cf86b3e82\clover-3.2.0.jar
[clover-clean] Clover: Commercial License registered to Abc Inc.
[clover-setup] Clover Version 3.2.0, built on October 21 2013 (build-908)
[clover-setup] Loaded from: C:\Users\abc3\.gradle\caches\modules-2\files-2.1\com.cenqua.clover\clover\3.2.0\e09feecf14644d92003ab037c30e483cf86b3e82\clover-3.2.0.jar
[clover-setup] Clover: Commercial License registered to Abc Inc.
[clover-setup] Clover is enabled with initstring 'C:\Users\abc3\MyApp\build/.clover/clover.db-test'
[javac] : warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] : warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[copy] Copied 2 empty directories to 2 empty directories under C:\Users\abc3\MyApp\build\classes\main
[copy] Copied 2 empty directories to 2 empty directories under C:\Users\abc3\MyApp\build\classes\test
[move] Moving 14 files to C:\Users\abc3\MyApp\build\classes
[move] Moved 3 empty directories to 1 empty directory under C:\Users\abc3\MyApp\build\classes
[move] Moving 4 files to C:\Users\abc3\MyApp\build\classes
[move] Moved 3 empty directories to 1 empty directory under C:\Users\abc3\MyApp\build\classes
:compileIntegrationTestJava UP-TO-DATE
:compileIntegrationTestGroovy UP-TO-DATE
:processIntegrationTestResources UP-TO-DATE
:integrationTestClasses UP-TO-DATE
:integrationTest UP-TO-DATE
:mergeTestReports UP-TO-DATE
Clover似乎正在运行,但我没有得到任何报告。
在C:\ Users \ abc3 \ MyApp \ build / .clover中没有创建任何内容;我没有.clover目录。
有什么想法吗?
由于
标记
答案 0 :(得分:2)
我已经将Gradle-Clover-Plugin用于Grails 3.2.4应用程序(使用Gradle 3.0包装器)。它正在运行,我在build.gradle
文件中所做的只是:
首先添加类路径依赖项:
buildscript {
dependencies {
classpath 'com.bmuschko:gradle-clover-plugin:2.1.0'
}
}
然后应用插件:
apply plugin: 'com.bmuschko.clover'
然后添加三叶草依赖:
dependencies {
clover 'org.openclover:clover:4.2.0'
}
然后添加一些配置:
clover {
// Although Clover is now open source the plugin
// still expects to find the license file.
// Any file will work.
licenseLocation = File.createTempFile('clover', '.license').absolutePath
// This is neededed to see which tests targeted code
// In this particular project I'm only using Spock
// specifications
testIncludes = ['**/*Spec.groovy']
// I would like to have both html and xml report
report {
html = true
xml = true
}
}
最后执行:
./gradlew cloverGenerateReport
答案 1 :(得分:1)
我可以使用grails 3.3.2和gradle 4.4,但这是一项繁琐的工作。这就是我所做的:
<强> gradle.properties 强>
grailsVersion=3.3.2
gormVersion=6.1.8.RELEASE
gradleWrapperVersion=4.4
org.gradle.jvmargs=-Xms256m -Xmx2048m
<强>的build.gradle 强>
apply plugin: 'java'
apply plugin: 'com.bmuschko.clover'
dependencies {
clover 'org.openclover:clover:4.2.0'
...
compile 'org.codehaus.groovy:groovy-all:2.4.7'
...
}
sourceSets.main.output.classesDir = new File(buildDir, "classes/main")
integrationTest.testClassesDirs = sourceSets.integrationTest.output.classesDirs
clover {
licenseLocation = File.createTempFile('clover', '.license').absolutePath
excludes = ['**/Application.groovy',
'**/BootStrap.groovy',
'**/UrlMappings.groovy',
'**/*GrailsPlugin.groovy',
'**/*Mock.groovy',
]
testIncludes = ['**/*Spec.groovy']
report {
html = true
xml = true
}
}
我希望它会对你有所帮助。
答案 2 :(得分:0)
grails-clover-plugin与Grails 1和2一起使用,它们基于Gant。 Grails 3基于Gradle,因此插件不兼容。
对于Grails 3,我尝试在Gradle构建脚本中编写Clover-Gradle集成,而不是尝试采用grails-clover-plugin。
请查看最近在此页面上发布的代码段:
https://confluence.atlassian.com/display/CLOVER/Gradle+Clover+Plugin