在我的插件中,我需要从外部 JAR 执行静态引导方法来执行分析。目前我直接从代码中调用它MutationCoverageReport.main(arg)
,但这迫使我在我的插件中创建一个编译时依赖项,在执行插件时很难修改(选择不同的 JAR 版本)。
我想使用反射来调用它,并在 Gradle 代码中找到了一些示例,例如WorkerProcessBuilder
or JavaExecHandleBuilder
。不过它们在org.gradle.process.internal
包中,我不确定是否建议从外部插件中使用它。
问题。Gradle 插件从具有指定类路径的外部类运行任意 Java 方法的推荐方法是什么?
顺便说一句,我宁愿不使用Ant
任务,因为它是一个单独的项目和另一个抽象层,具有潜在的错误和限制。