我想要在一大堆项目上建立导入日食。我知道,我们可以在settings.gradle
文件中包含我们要构建的项目。但是在我的工作区域有这个限制。
所以我想的是,而不是通过去每个项目进行gradle构建。我想用java程序自动执行此操作。
我尝试使用以下java程序执行基本的Windows命令执行:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Windows {
public static void main(String[] args) {
Windows obj = new Windows();
String output = obj.executeCommand("ipconfig");
System.out.println(output);
}
private String executeCommand(String command) {
StringBuffer output = new StringBuffer();
Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}
} catch (Exception e) {
e.printStackTrace();
}
return output.toString();
}
}
所以,在上面的程序中,如果我将命令设为gradle build
则不起作用
你能帮我解决这个问题吗?
答案 0 :(得分:0)
由于您已经在使用Gradle,为什么不在gradle中解决这个问题?
选项1:将所有内容放入multi-project build
选项2:从多个单独的版本中创建composite build
选项3:创建一个“超级”gradle构建,使用GradleBuild任务调用其他构建
apply plugin: 'base'
def buildDirs = ['dir1', 'dir2', 'dir3']
buildDirs.each { buildDir ->
Task task = tasks.create(name: "build${buildDir.capitialize()}", type: GradleBuild) {
dir = buildDir
tasks = ['build']
}
build.dependsOn task
}