7

我有一个使用 sbt 0.11.3 构建的多项目结构。我想集中我的依赖版本、项目版本、工件、shell 提示等内容。这对我的发布管理和版本控制计划非常有帮助。所以我创建了一个插件并将我的全局配置放在那里。我的项目从 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 回答