柯南软件包管理器中可以使用github分支吗?

时间:2020-07-11 23:53:09

标签: git conan imgui

我想使用imguis对接分支。我试图找出的问题是使用柯南软件包管理器,是否可能要求一个特定的分支,还是我需要编写一个自定义脚本来针对软件包中的特定分支?我可以获取主要的imgui程序包,但在定位分支机构上找不到任何内容。

我当前正在使用cmake和conanfile.txt。

这是我目前的conanfile.txt

[requires]
imgui/1.76

1 个答案:

答案 0 :(得分:2)

柯南食谱(conanfile.py)可以实现为获取任何分支,提交,标记或下载.zip存档。不可能制作一个任意的食​​谱,由其他人实施以执行它所要做的另一件事,因为它违背了版本控制和可复制性的整个目的。

imgui/1.76位于conanfile(。txt或.py)中时,它将获取ConanCenter中存在的imgui程序包,imgui package和完整的食谱可以在conan-center-index github存储库中找到,该存储库用于在ConanCenter中构建所有软件包

在该配方中,sources()方法实现为:

def source(self):
   tools.get(**self.conan_data["sources"][self.version])
   extracted_dir = self.name + "-" + self.version
   os.rename(extracted_dir, self._source_subfolder)

conan_data属性是来自conandata.yml file

的数据
sources:
  "1.74":
    url: "https://github.com/ocornut/imgui/archive/v1.74.tar.gz"
    sha256: "2f5f2b789edb00260aa71f03189da5f21cf4b5617c4fbba709e9fbcfc76a2f1e"
  "1.75":
    url: "https://github.com/ocornut/imgui/archive/v1.75.tar.gz"
    sha256: "1023227fae4cf9c8032f56afcaea8902e9bfaad6d9094d6e48fb8f3903c7b866"
  "1.76":
    url: "https://github.com/ocornut/imgui/archive/v1.76.tar.gz"
    sha256: "e482dda81330d38c87bd81597cacaa89f05e20ed2c4c4a93a64322e97565f6dc"
  "1.77":
    url: "https://github.com/ocornut/imgui/archive/v1.77.tar.gz"
    sha256: "c0dae830025d4a1a169df97409709f40d9dfa19f8fc96b550052224cbb238fa8"

用于配方的来源是与该版本相对应的发行版,并且当您使用软件包时,不能更改。

可以复制/分叉配方,使其适应需求,例如更改source()方法或更改conandata.yml文件,以创建用于特定提交,标记或分支(可能建议更改version,以使软件包与正式发行版有所区别)。还建议在username/channel下创建软件包,例如imgui/version@myteam/stable,以使其与ConanCenter有所区别。 Artifactory CE也是完全免费的,可用于私下托管您自己的软件包。