0

コンパイラ プラグインのコードを反復処理して、( 経由でpublishLocal) コンパイルするたびにコンパイラ プラグインをローカルのアイビー リポジトリに公開し、このプラグインへの依存関係が 経由で定義されている他のプロジェクトを実行していますaddCompilerPlugin。コンパイラ プラグインを開発するためのより簡潔な方法はありますか?

もちろん、この 2 つをマルチプロジェクト ビルド定義に集約することもできます。しかし、プラグインコードを反復するためのより軽量なプラクティスを学ぶのは良いことかもしれません...

そのためのライブラリに変換せずに、少なくともコンパイラプラグインに依存できますか? 許可されている構文から、addCompilerPlugin単なるクラス ファイルに依存するのではなく、ライブラリを作成して追加する必要があるように見えます (?)。

4

1 に答える 1

2

「テスト」コンパイラを作成する scapegoat プラグインで私が何をしているかを見てください。これを使用して、単体テストの形式でコード スニペットをコンパイルします。

このようにして、外部に公開する必要なく、通常どおりにコードを記述してテストを実行できます。

https://github.com/sksamuel/scalac-scapegoat-plugin/blob/master/src/test/scala/com/sksamuel/scapegoat/PluginRunner.scala

于 2015-07-06T00:27:37.717 に答える