Gradle任务,用于从项目中调用构建工具

时间:2016-04-06 14:38:25

标签: gradle

我有一个使用gradle作为构建工具的项目。作为项目源代码的一部分,有一个工具可以生成此应用程序所需的配置文件。配置生成器工具是一个带有main方法的Java类,因此可以从Java或命令行运行。

我想添加一个gradle任务,在编译和jar之后调用它。

  • 调用构建工具的推荐gradle方法是什么?
  • 在我的gradle任务中,如何设置类路径,以便可以使用类路径上的项目依赖项调用配置生成器,而不仅仅是gradle JVM的类路径?

1 个答案:

答案 0 :(得分:0)

这是我用来执行配置工具并将标准写入文件的gradle任务:

task generateConfig(type: JavaExec) {
    dependsOn jar
    main = 'com.example.ConfigGeneratorMain'
    classpath configurations.runtime, jar.archivePath
    doFirst {
        def outputFile = new File(project.buildDir, 'resources/generated/config.json')
        outputFile.mkdirs()
        outputFile.delete()
        outputFile.createNewFile()
        standardOutput = new FileOutputStream(outputFile)
    }
}
assemble.dependsOn generateConfig