gpt4 book ai didi

java - Gradle 多项目 - OpenClover

转载 作者:行者123 更新时间:2023-11-30 07:51:22 25 4
gpt4 key购买 nike

我正在尝试将 Open Clover 集成到我的 Gradle 构建过程中,并遵循以下指南:

当我将它添加到我的 build.gradle 时 - 我收到以下错误:

* * What went wrong:
A problem occurred evaluating root project 'Enjin-Coin-Java-SDK'.
> Could not find method cloverCompile() for arguments [org.openclover:clover:4.2.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler..

我的build.gradle文件如下:

buildscript {
repositories {
mavenCentral()
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'org.openclover:clover:4.2.0'
}
}

plugins {
id 'com.github.johnrengelman.shadow' version '1.2.4'
id 'java'
}

sourceSets {
clover {
java {
srcDir "$buildDir/sources-instr"
}
}
}

apply from: 'gradle/util.gradle'

subprojects {
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow'

group = 'com.myproject'
version = '0.0.1-SNAPSHOT'

idea {
module {
scopes.PROVIDED.plus += [configurations.shadow]
}
}

tasks.build.dependsOn(shadowJar)
artifacts.archives shadowJar

tasks.withType(AbstractCompile) {
classpath += configurations.shadow
}

ext {
mockito = '2.9.0'
junit = '4.12'
powermock = '1.7.3'
}

repositories {
mavenLocal()
mavenCentral()
}

dependencies {
// testCompile dependencies
testCompile group: 'org.mockito', name: 'mockito-core', version: mockito
testCompile group: 'junit', name: 'junit', version: junit
testCompile group: 'org.powermock', name: 'powermock-api-mockito2', version: powermock
testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: powermock
cloverCompile 'org.openclover:clover:4.2.0'
}



jar {
archiveName = "${project.name}-slim.jar"
}

shadowJar {
archiveName = "${project.name}.jar"
}

install {
repositories.mavenInstaller {
pom.artifactId = "sdk-${project.name}"
}
}
}

configurations {
cloverRuntime
cloverRuntime.extendsFrom cloverCompile
}

task cloverInstr() {
inputs.files sourceSets.main.allJava
outputs.dir "$buildDir/sources-instr"

doFirst {
def argsList = ["--initstring", "${buildDir}/clover/clover.db", "-d", "${buildDir}/sources-instr"]
argsList.addAll(inputs.files.files.collect({ file ->
file.absolutePath
}))
String[] args = argsList.toArray()

com.atlassian.clover.CloverInstr.mainImpl(args)
}
}

cloverClasses.dependsOn cloverInstr

test {
def cloverClasspath = configurations.testRuntime + configurations.cloverRuntime + sourceSets.test.output + sourceSets.clover.output
classpath = cloverClasspath
}

task cloverReport {
inputs.dir "${buildDir}/clover"
outputs.dir "${reportsDir}/clover"
onlyIf {
file("${buildDir}/clover/clover.db").exists()
}
doFirst {
def argsList = ["--initstring", "${buildDir}/clover/clover.db",
"-o", "${reportsDir}/clover"]
String[] args = argsList.toArray()
com.atlassian.clover.reporters.html.HtmlReporter.runReport(args)
}
}

util.gradle的内容如下

ext.scriptFile = {
String fileName ->
return new File(new File(rootDir, 'gradle'), fileName)
}

任何人都可以提供任何帮助来解决这个问题吗?

最佳答案

使用以下脚本将 clover 集成到您的项目中:

buildscript {
repositories {
mavenCentral()
maven { url 'https://plugins.gradle.org/m2/' }
jcenter()
}
}

plugins {
id 'com.github.johnrengelman.shadow' version '1.2.4'
id "com.bmuschko.clover" version "2.1.3"
}

apply from: 'gradle/util.gradle'

subprojects {
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'com.bmuschko.clover'

group = 'com.myproject'
version = '0.0.1-SNAPSHOT'

idea {
module {
scopes.PROVIDED.plus += [configurations.shadow]
}
}

tasks.build.dependsOn(shadowJar)
artifacts.archives shadowJar

tasks.withType(AbstractCompile) {
classpath += configurations.shadow
}

ext {
mockito = '2.9.0'
junit = '4.12'
powermock = '1.7.3'
}

repositories {
mavenLocal()
mavenCentral()
}

dependencies {
// testCompile dependencies
testCompile group: 'org.mockito', name: 'mockito-core', version: mockito
testCompile group: 'junit', name: 'junit', version: junit
testCompile group: 'org.powermock', name: 'powermock-api-mockito2', version: powermock
testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: powermock
clover 'org.openclover:clover:4.2.0'
}

jar {
archiveName = "${project.name}-slim.jar"
}

shadowJar {
archiveName = "${project.name}.jar"
}

install {
repositories.mavenInstaller {
pom.artifactId = "sdk-${project.name}"
}
}
}

如果有现成可用的插件,则无需手动集成。

关于java - Gradle 多项目 - OpenClover,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com