我在下面有 gradle 代码,但我不知道如何避免 JavaExec
产生的巨大输出任务。我没有找到 JavaExec
的任何选项为了它。如果有人知道更好的忽略它的方法,请分享。
def getStubOutput() {
return new FileOutputStream(new File("${buildDir}/temp"))
}
configure(project(':jradius:dictionary-min')) {
evaluationDependsOn(':jradius')
sourceSets {
main {
java {
srcDir "${projectDir}/target/dictionary-src"
}
}
}
dependencies {
compile project(':jradius:core')
}
task genSources(type: JavaExec) {
main = 'net.jradius.freeradius.RadiusDictionary'
classpath configurations.all
args = ["net.jradius.dictionary", "${projectDir}/../freeradius/dict-min", "${projectDir}/target/dictionary-src"]
maxHeapSize = "800m"
standardOutput = getStubOutput()
}
jar {
archiveName = "jradius-dictionary-min-1.1.5-SNAPSHOT.jar"
}
genSources.dependsOn ':jradius:cloneJradius'
compileJava.dependsOn genSources
}
最佳答案
我只是使用一个在其 write
中什么都不做的虚拟输出流方法:
def dummyOutputStream = new OutputStream() {
@Override
public void write(int b) {}
}
exec {
executable = name
standardOutput = dummyOutputStream
errorOutput = dummyOutputStream
ignoreExitValue = true
}
关于gradle - 抑制 Gradle 的 JavaExec 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658300/