プロジェクトのPOMファイルで、あるMavenプラグインを別のMavenプラグインに自動的に置き換えることが可能かどうか知っていますか?
コンテキストは、Scala コンパイラ プラグインを使用して Scala ビルドをインターセプトしようとしているということです。そのために、Scala コンパイラ プラグインをscalac
コマンドラインから (つまり、POM ファイル内ではなく) 引数として指定できるようにしたいと考えています。これは、最新バージョンの Scala Maven プラグイン (scala- maven -plugin として知られている) をそのaddScalacArgs
フラグを使用して使用することで可能です。 .html . ただし、古いバージョンのプラグイン (maven-scala-plugin として知られている) では不可能であり、さまざまな POM ファイルすべてに引数を追加する必要があります (大規模な 3 番目のプラグインを扱う場合、魅力的な提案ではありません)。パーティ企画)。
私の考えでは、プラグインの古いバージョンを POM ファイルの新しいバージョンに自動的に置き換えることができれば、それを使用できaddScalacArgs
、すべてがうまくいくと思います。おそらく、これを行うコードを作成することはできますが (明らかに、手動で実行しても、引数を追加するよりも優れているとは言えません)、サポートされている Maven の使用例のように思えます。
具体的には、このプラグインを置き換えようとしています:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
...
</plugin>
これで:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
...
</plugin>