我们正在开发两个包dep
和proj
。 dep
和proj
的开发是并行发生的 - 即proj
的特定版本取决于dep
的特定版本。由于每次提交手动更新dep
的版本都很繁琐,因此我们使用的是-SNAPSHOT
机制({1}}版本0.5-SNAPSHOT
取决于proj
{ {1}})。这远非理想,我们没有信息来构建0.4-SNAPSHOT
的旧提交。
我已经尝试了dep
,但这打破了发布proj
- 该套餐不再包含对RootProject
的依赖。
理想情况下,这就是我想要的:
proj
直接通过dep
proj
的来源
dep
能够从git-submodule
的项目文件中提取相关信息。proj
的开发版本包括从我没有dep
。如果dep
很难,那么当针对包装指定的依赖项与git-submodule不匹配时,我会满足3
大声抱怨。
如果有帮助,这些是项目:
2
:(开发分支)https://github.com/kframework/kale sbt
:(开发分支)https://github.com/kframework/kore 答案 0 :(得分:2)
向后工作:
3
:可以使用sbt-dynver实现,并将构建配置为在每次提交/推送时发布。如果要发布到bintray,sbt-release-early可以简化此过程。
2
:proj
可以依赖于使用提交范围的dep
开发版本,例如org % dep % 1.0.+
- 但是这会使构建的可重现性降低,因为没有为给定的提交指定确切的依赖关系并且可以增加解析时间
1
:您可以将dep
项目保留为RootProject
proj
以简化并行开发,同时设置发布任务以确保{{1}首先发布。