7

私は sbt 0.11.3 でビルドするマルチプロジェクト構造を持っています。依存関係のバージョン、プロジェクトのバージョン、アーティファクト、シェル プロンプトなどを一元化したかったのです。リリース管理とバージョン管理に関する私の計画に非常に役立ちます。そこで、プラグインを作成し、そこにグローバル構成を配置しました。私のプロジェクトは github からそれを読み取り、プラグインとしてビルドします。すべてが素敵です。

./project/project/Build.scala

import sbt._

object PluginDef extends Build {
    override lazy val projects = Seq(root)
    lazy val root = Project("plugins", file(".")) dependsOn(versionPlugin)
    lazy val versionPlugin = uri("git://github.com/config.git") //changed the uri here
}

そのため、sbt はプラグインの最新バージョンがまだない場合はそれを取得します。そのバージョンを~/.sbt/staging/somehashcodeにキャッシュします。しかし、プラグインプロジェクトに変更があると、プロジェクトを更新できませんでした。必要に応じて手動で更新します。悲しいことに、20 人のチームでは、いくつかの問題を引き起こしています。

プラグインの更新を確認するにはどうすればよいですか?

4

1 に答える 1

7

私はこれを試していませんが、次の方法でうまくいくかもしれません。

さわやかなプラグイン

  1. sbt 0.12.1 にアップデートすると修正されますupdate
  2. 次にsbtシェルから:

    > reload plugins
    > update
    > reload return
    

特定のツリーを指定する

状況によっては、ソースの依存関係を特定の時点に修正すると役立つ場合があります。その場合は、コミット ハッシュまたはタグを として追加できます"git://github.com/config.git#hash"

于 2012-12-05T06:53:50.973 に答える