0
如何使用simple build tool (sbt) 0.10.0生成基於ANTLR3語法的任何類型的源代碼?使用SBT 0.10.0與ANTLR3生成源代碼
我想我必須爲這樣的事情使用插件,如果我想在同一個項目或同一個父項目的子項目中使用生成的代碼。有沒有現有的SBT 0.10插件? ...或者也許另一個解決方案,而不使用插件?
如何使用simple build tool (sbt) 0.10.0生成基於ANTLR3語法的任何類型的源代碼?使用SBT 0.10.0與ANTLR3生成源代碼
我想我必須爲這樣的事情使用插件,如果我想在同一個項目或同一個父項目的子項目中使用生成的代碼。有沒有現有的SBT 0.10插件? ...或者也許另一個解決方案,而不使用插件?
你不需要使用插件。
首先,您需要將antlr定義爲依賴項。然後,你將需要根據此頁面來定義你的源生成任務:
https://github.com/harrah/xsbt/wiki/Common-Tasks
你的任務定義是要看起來像這樣:
sourceGenerators in Compile <+= sourceManaged in Compile map { dir =>
<code to generate source from grammar files>
}
凡代碼來生成源會用您的文件創建一個新的org.antlr.Tool
對象作爲構造函數的參數。一旦創建了Tool
對象,然後調用process
方法,並且應該生成源代碼。
謝謝。我會檢查我是否會得到這個工作:) – Steffen 2011-06-17 13:12:24
@steffen我很好奇這是如何工作的,這是一個在黑暗中拍攝的基礎,它取得了ANTLR與Gradle合作的成果(http://www.gradle。組織/)。 – ironchefpython 2011-06-17 15:01:36
這實際上是要走的路。與此同時,我開發了一個插件,使其更具可重用性。它可以在我的github頁面上找到,並鏈接到「官方」插件列表https://github.com/harrah/xsbt/wiki/sbt-0.10-plugins-list。再次感謝指針。 – Steffen 2011-12-10 00:18:20