gradle parallel exec命令行

时间:2017-07-26 11:24:21

标签: java gradle command-line parallel-processing

我们有一个grab项目,它将cobol编译为java。这是通过使用gradle任务中的参数(filename)调用的批处理文件进行的:

def compileSingleFile(String cblFileName) {
    exec {
        commandLine "${projectDir}/compileFile.bat"
        args "${cblFileName}"
        ignoreExitValue = true
    }
}

目前,我们遍历一个文件列表,每个文件都是在另一个文件之后编译的:

task ciBuild {
    dependsOn collectFiles
    doLast {
        cobolfiles.parallelStream().each {file ->
            if(file.toUpperCase().endsWith("CBL")) {
                compileSingleFile(file)
            }
        }
    }
}

是否有可能在gradle中以某种...线程池运行此任务?例如10个线程,每个线程编译另一个文件?直到列表为空?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

任务按顺序运行,不应该由您的代码显式调用。没有什么可以阻止您在countryStatesTables = { displayTableWithCountryStates: function (source, newForm) { var countryId = 237; var countryStates = this.getCountryStates(countryId, function(data){ console.log(countryStates); }); }, getCountryStates: function (countryId, callback) { if (countryId !== '' || countryId !== 'undefined') { $.get(balthazar.settings.logistics.getCountryStatesUrl.url + '/' + countryId, function (data) { console.log(data.data); //Response is ok, data is present callback(data.data); }); } } };

中运行project.exec(Closure)

例如:

doLast { }