2017-10-16 7 views
0

私はFlyWayを使ってsbtプロジェクトを持っています。特定のプロジェクトからの進化のみを実行しているため、ほとんどのプロジェクトでは無効になっています。SBT AutoPluginsは競合していないはずです

lazy val master = project 
    .disablePlugins(FlywayPlugin) 
    .aggregate(common) 
    .dependsOn(common) 

プロジェクトが正常に動作します:

は、だから私はこのようなものを持っています。それは、コンパイル作品、テストが合格など

今私はトワールを追加したいので、私は(もちろんplugins.sbtに加えて)次の操作を行います。

lazy val master = project 
    .enablePlugins(SbtTwirl) 
    .disablePlugins(FlywayPlugin) 
    .aggregate(common) 
    .dependsOn(common) 

そして、私はこのエラーで終わる:

[error] sbt.AutoPluginException: Error determining plugins for project 'master' in /opt/app/master: 
[error] Contradiction in selected plugins. These plugins were both included and excluded: org.flywaydb.sbt.FlywayPlugin 
[error] Use 'last' for the full log. 

FlyWayについて何も変更していないため、私は実際にはわかりません。

何が原因でしょうか?

答えて

1

これは既知の問題です。 FlywayPluginはすべての(サブ)プロジェクトで自動的に有効になり、無効にしようとすると競合が発生します。

sbt/sbt#1926を参照してください。引用@jsuereth:flyway/flyway#1329自動的にそれを有効にしない示唆:

Yeah, this is a known issue in our logic system (and the translation of enablement/disablement into it). I'm working on a mechanism to fix it.

PRs welcome if you have time.

もフライウェイ・リポジトリ内の未解決の問題があります。しかし、これまでのところ解決策や回避策はありません。

関連する問題