【发布时间】:2019-06-23 07:44:50
【问题描述】:
我的 gradle 项目需要为剩余的构建过程生成代码。应该生成代码的工具是一个 jar 文件,它也内置在同一个 gradle 项目中。
我想编写一个处理代码生成步骤的自定义任务。这个任务显然必须依赖于正在构建的 jar 文件,这很简单。
现在我想在自定义任务中访问我的 jar 文件中的类,我只是不知道如何告诉 gradle Parser 类可从构建的 jar 文件中获得。请参阅以下示例,了解我想在我的任务中执行的操作:
task generateCode(dependsOn: ':dmlproject:build') {
doLast {
DmlParser parser = new DmlParser();
parser.doStuff();
}
}
Gradle 不知道 DmlParser 类可以在 dmlproject jar 文件中找到,我如何告诉 gradle 在哪里可以找到它?这可能吗?
我知道在我至少构建一次 dmlproject 之前这是否根本不起作用,因为没有 jar 文件也没有 DmlParser 类。但是在第一次构建之后,应该可以使事情正常进行,不是吗?
编辑: 即使我不能引用构建在同一个项目中的 jar 文件中的类,我也想知道如何访问磁盘上的 jar 文件中的类,或者从 maven 存储库下载的类。
【问题讨论】:
标签: gradle bootstrapping