Рецепты Конана (conanfile.py
) могут быть реализованы для получения любой ветви, фиксации, тега или загрузки архива .zip. Что невозможно, так это создать произвольный рецепт, реализованный другими для того, чтобы делать что-то иное, чем он делает, потому что это противоречит всей цели управления версиями и воспроизводимости.
Когда imgui/1.76
находится в conanfile
(либо .txt, либо .py), он загружает пакет im gui, существующий в ConanCenter , подробности в im gui пакете и полный рецепт может быть найденный в 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
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
, чтобы создать пакеты для s pecifi c коммиты, теги или ветки (вероятно, было бы рекомендовано изменить version
, чтобы отличать пакет от официальной версии выпуска). Также рекомендуется создавать пакеты под username/channel
, например imgui/version@myteam/stable
, чтобы отличать его от ConanCenter. Artifactory CE также полностью бесплатен и может использоваться для размещения ваших собственных пакетов в частном порядке.