2016-04-06 53 views
0

我有一個使用gradle作爲構建工具的項目。作爲項目源代碼的一部分,有一個工具可以生成此應用程序所需的配置文件。配置生成器工具是一個帶有主要方法的Java類,以便它可以從Java或命令行運行。從項目中調用構建工具的Gradle任務

我想添加一個gradle任務,該任務在編譯並打開jar之後調用配置生成器。

  • 什麼是建議的構建工具,這是項目的一部分的gradle方式?
  • 在我的gradle任務中,如何設置類路徑,以便可以使用類路徑上的項目依賴關係調用配置生成器,而不僅僅是gradle JVM的類路徑?
+1

您可以使用JavaExec調用任意Java代碼。 https://docs.gradle.org/current/dsl/org.gradle.api.tasks.JavaExec.html – RaGe

回答

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 
相關問題