【问题标题】:How to parse a build.gradle file in java?如何在 java 中解析 build.gradle 文件?
【发布时间】:2019-08-17 19:24:15
【问题描述】:

我需要在 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 文件?
  • 我的要求是扫描一个位置,如果在其中找到任何 gradle 项目,则在 json 中显示该项目的所有依赖项。扫描逻辑在 java 中。

标签: java parsing gradle build.gradle


【解决方案1】:
  1. 创建自定义 gradle 任务以将所有依赖项列出到文件中。
  2. 将此任务与构建过程的最开始挂钩。
  3. 从 java 中读取该文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 2023-03-18
    • 2017-07-27
    相关资源
    最近更新 更多