2017-03-10 31 views
1

我想用Gradle來操縱mysql數據庫。它會從文件系統讀取一些文件,分析它們並相應地填充數據庫。Gradle項目沒有項目類,但有一些buildscript可訪問的自定義類?

這樣的項目不會產生任何項目代碼,因爲所有的輸出都會轉到數據庫表中。另一方面,gradle腳本應該訪問一些自定義的java或groovy類來方便處理源數據。

這是一個可能的Gradle用法嗎?那麼,在哪裏可以放置gradle-accessible類?我不想有單獨的項目,爲這個項目生產JAR。我不想單個項目,所以Gradle首先編譯類並在腳本中使用它們。

這可能嗎?

回答

1

Gradle是可擴展的,所以你可以利用buildSrc這種情況。它的工作原理如下方式:

  • 沿項目build.gradlebuildSrc目錄自定義build.gradle

  • buildSrc/build.gradle

    可以定義腳本依賴自身,實現插件和任務

  • 最後你可以申請一個從buildSrcbuild.gradle的插件。

這是非常方便的,因爲例如, IntelliJ可以導入這樣的項目並提供代碼完成。

另一種方法是把所有必要的東西放在build.gradle本身。

這樣的buildSrc項目可以編譯爲jar,發佈並作爲插件提供,或者它可以是github上的一個單獨的項目,可以下載並用於操作數據。另外,不需要實現Plugin,你可以使用靜態方法,例如看看demo

相關問題