如何将分类器添加到依赖项并使用git分支名称发布?

时间:2014-07-23 03:21:04

标签: scala sbt

对于某个sbt / Scala / Play项目:

我想使用当前分支名称并将其添加为依赖项解析的分类器。如果它不是特定的分支,那么我想默认没有分类器。

repo也应该将其分支名称发布为分类器。

即。如果我在开发分支上,所有内部依赖关系应该使用分类器develop来解决,如果在任何其他分支上它应该解析而没有分类器。

同样对于publish,根据分支,我想在需要时添加分支名称。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题 我最终使用了上述方法,即使用:
def branch() = "git rev-parse --abbrev-ref HEAD" !!
在版本中:
version := branch + "-0.0.3-SNAPSHOT",

注意虽然你需要两个感叹号而不是一个(返回命令返回代码)。

现在我可以将它用作神器中的解析器(以及不同分支之间的区别)。

答案 1 :(得分:1)

如果def为使用ModuleID的{​​{1}}中的依赖项生成libraryDependencies,那该怎么办?

git rev-parse --abbrev-ref HEAD构建定义中使用以下内容作为一个温和的开始。使用build.sbt打印出添加了分支的依赖项。

show libraryDependencies

A GIT plugin for SBT也可能非常成功。