从Java中读取build.gradle文件



我想分析我的组织项目的build.gradle,主要是为了创建一个sonarqube插件,报告依赖项的使用或不存在。

sonarqube插件将用Java编写,输入将是.gradle文件。

例如:


sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile "joda-time:joda-time:2.2"
testCompile "junit:junit:4.12"
}

例如,我想在list.class 中获得依赖项列表

知道吗?,如何用Java解释.gradle文件?

  1. 从java调用gradle。我从这个答案中得到了代码如何从java代码中运行渐变任务
  2. 使用dependencies任务

我建议你这样做,这样你就不必在gradle中的任何版本文件更改时处理维护代码的艰巨任务。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class Main
{
private static String PATH_TO_GRADLE_PROJECT = "./";
private static String GRADLEW_EXECUTABLE = "gradlew.bat";
private static String BALNK = " ";
private static String GRADLE_TASK = "dependencies";
public static void main(String[] args)
{
String command = PATH_TO_GRADLE_PROJECT + GRADLEW_EXECUTABLE + BALNK + GRADLE_TASK;
try
{
Runtime.getRuntime().exec(command);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}

最新更新