如何在Java中解析build.gradle文件?

7

我需要在Java中解析gradle build.gradle文件,并列出其依赖项(作为Group:Artifact:Version列表)在依赖项块中提到的所有内容。

这个问题的最佳解决方案是什么?

build.gradle如下所示,

apply plugin: 'java-library'

repositories {
    jcenter()
}

dependencies {
    compileOnly group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'
    compile group: 'com.google.code.findbugs', name: 'annotations' , version: '3.0.0'
    compile "com.google.code.gson:gson:2.8.5"
    compile "org.owasp:dependency-check-gradle:4.0.1"
    compile 'org.apache.httpcomponents:httpclient:4.5.7'
    api 'org.apache.commons:commons-math3:3.6.1'
    implementation 'com.google.guava:guava:21.0'
    testImplementation 'junit:junit:4.12'
}

Gradle本身就是用Groovy编写的,你可以从中调用Java代码。为什么需要解析build.gradle文件呢? - andras
1
我的需求是扫描一个位置,如果发现其中有任何Gradle项目,则在JSON中显示项目的所有依赖关系。扫描逻辑用Java编写。 - Sharanya M.
1个回答

1
创建一个自定义的Gradle任务,将所有依赖项列入文件中。 将此任务钩到构建过程的最开始。 从Java中读取该文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接