在Julia中,有没有一种好的方法来维护针对不同版本的软件包的多个版本?

8

目前,Julia有两个相关的版本:最新稳定的0.3版本和正在开发中的0.4版本(有夜间构建)。

是否有一种良好的方法来同时拥有Julia 0.3和0.4版本的同一软件包,以处理Julia版本之间发生的语法和其他更改?

例如,METADATA上的软件包是否可以采用以下选项之一:

  • 安装Julia 0.3分支和Julia 0.4分支
  • 在相关部分为Julia 0.3或0.4设置代码标志
1个回答

5
除了耐心之外,没有什么能阻止您为两个Julia版本维护软件包。例如,您可以将软件包GitHub存储库的master分支设置为适用于Julia 0.4的版本,并维护一个单独的julia03分支以适用于Julia 0.3。
在METADATA中,您需要维护两个“系列”的发布,例如0.1.x系列将全部指向julia03分支上的提交,而0.2.x系列将全部指向master上的提交。所有这些发布都将在其REQUIRE/requires中拥有适当的行(一个中是“julia 0.3 0.4-”,另一个中是“julia 0.4”)。
另一种思考方法是每次标记主要版本时都在软件包中创建一个分支。例如,JuMP有一个release06分支,我们可以将小修复程序回退到0.6系列的发布中,同时在master上开发新功能。

最后, Compat.jl有许多有用的工具,使代码能在Julia 0.3和Julia 0.4上运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接