私は提供されたantlr文法ファイルからパーサとレクサーコードを生成するためにsbtプラグインを書いています。私のgithubページhttp://github.com/stefri/sbt-antlrでコードをダウンロードできます。また、sbtプラグインリストhttps://github.com/harrah/xsbt/wiki/sbt-0.10-plugins-listにもリストされています。最新のスナップショットはANTLR 3.3を使用し、sbt 0.11.xシリーズ用の私のgithub Mavenリポジトリから入手できます。別のANTLRバージョンが必要な場合は、変更と再構築が簡単ですが、私はまだ設定オプションに取り組んでいます。
使い方は非常に簡単です、ちょうどそのsrc/main/antlr3
であなたのANTLR3文法ファイルを配置./project/plugins/build.sbt
resolvers += "stefri" at "http://stefri.github.com/repo/snapshots"
addSbtPlugin("com.github.stefri" % "sbt-antlr" % "0.2-SNAPSHOT")
でのプラグインと私のMavenのリポジトリが含まれます。次のビルドには が含まれます。
あなたはシンプルな構成のアプローチを使用している場合例えば、あなたはまた、プラグインの設定プロジェクトの設定でsbtantlr.SbtAntlrPlugin.antlrSettings
が含まれていることを確認しますが、あなたのbuild.sbt
ファイルに次の行
seq(sbtantlr.SbtAntlrPlugin.antlrSettings: _*)
を追加します。注意:sbt-antlr
は、文法ファイルが変更されていない限り、ソースコードを一度だけ生成します。 Javaソースファイルを再生成しません。
生成されたJavaファイルは、target/scala-2.9.1/src_managed/main/antlr3
に吐き出されるので、IDEのビルドパスにそのパスを必ず挿入してください。プラグインはまだ進行中ですが、すでに文法ではうまくいきます。
申し訳ありませんが、これを見つけるには時間がかかります。私はMakefileのアプローチから離れることを熱望しています...しかし、私はそれがsezにステップをgrokできません あなたのプロジェクト設定にプラグインの設定sbtantlr.SbtAntlrPlugin.antlrSettingsも含めることを確認してください 上記の例build.sbtがありますか? – wing
ビルドファイルに設定を追加する方法について、私の答えにいくつかの情報を追加しました。フルビルド設定を使用している場合は、そこに追加する必要がありますが、方法は独自のビルドファイルに依存するため、一般的な方法で記述するのは難しいです。 – Steffen
@SteffenありがとうございますJavaソース生成のターゲットディレクトリを変更する方法を教えてください私はいくつかのパッケージで生成されたファイルを生成したい –