我有一个仅包含以下目录结构的源包:
src (directory containing source files)
conanfile.py
pkg 的配方conanfile.py
如下所示:(打包时复制所有内容)
from conans import ConanFile, CMake, tools
class PkgConan(ConanFile):
name = "pkg"
version = "0.0.1"
license = "License of pkg here"
url = "URL of pkg here"
description = "Description of pkg here"
settings = "os", "compiler", "build_type", "arch"
generators = "cmake"
def package(self):
self.copy("*")
def package_info(self):
self.cpp_info.libs = ["pkg"]
我的包被一个集成项目使用,该项目将 pkg 的源代码复制到其工作目录中。消费者的食谱conanfile.txt
如下所示:
[requires]
pkg/0.0.1@user/test
[imports]
., * -> ./packages/pkg
在集成项目中安装依赖项时,pkg 的源代码会按预期复制到使用者的工作目录中。
消费者的工作目录:
packages
pkg
src (directory containing pkg's source files)
conanfile.py
conanfile.txt
这是我的用例:使用gitpkg
进行版本控制并上传到 GitHub。我想在消费者的工作目录中拥有整个 git 存储库,而不仅仅是 pkg 的源。
预期消费者的工作目录:pkg
packages
pkg (repository cloned from GitHub)
.git
src
conanfile.py
conanfile.txt
???柯南是否可以在消费者的工作目录中克隆包存储库并签出正确的版本(例如,签出与所需版本相对应的提交/标签)而不是使用来自[imports] ., * -> ./packages/pkg
??? 例如,我在 中发现了一个错误pkg
,我想在消费者的上下文中更正它并提供错误修复。