0
我試圖用柯南將一些文件和可執行文件一起打包用於版本控制,但是在看了柯南文檔之後,我仍然不清楚如何做到這一點,或者如果柯南甚至是合適的工具爲了工作。創建柯南包的麻煩
基本上我想打包3個.dll文件,一個配置文件和2個可執行文件(我寫的OpenSSL和.exe需要所有上述依賴關係)。我想要在桌面上本地打包的所有東西。如果有誰在科南經歷過可以指向我正確的方向,將不勝感激。謝謝!!
我試圖用柯南將一些文件和可執行文件一起打包用於版本控制,但是在看了柯南文檔之後,我仍然不清楚如何做到這一點,或者如果柯南甚至是合適的工具爲了工作。創建柯南包的麻煩
基本上我想打包3個.dll文件,一個配置文件和2個可執行文件(我寫的OpenSSL和.exe需要所有上述依賴關係)。我想要在桌面上本地打包的所有東西。如果有誰在科南經歷過可以指向我正確的方向,將不勝感激。謝謝!!
您通常不希望在版本控制中檢查二進制文件,庫和可執行文件,但將它們託管在其他位置,如文件服務器。如果您使用的是柯南,則可以使用現有的conan.io免費服務作爲公共軟件包,OSS conan_server用於私有軟件包或Artifactory的本地託管。
如果你的神器只是生活在您的桌面上,在一個已知的文件夾,所有你需要做的就是實現類似的包配方如下build()
方法:
def build(self):
shutil.copytree("C:/Path/to/folder/with/files", ".")
def package(self):
# make sure files are now copied into the package
self.copy("*.lib", dst="lib", src="files")
self.copy("*.dll", dst="bin", src="files")
self.copy("*.conf", dst="", src="files")
如果你只是提供了一個包對於一個給定的配置,我會在configure()
清楚地輸出這個包的潛在消費者不兼容性添加一個檢查:
class MyRecipe(ConanFile):
settings = "os", "compiler", "arch", "build_type"
def configure(self):
if self.settings.os != "Windows" or self.settings.arch != "x86_64" or \
self.settings.build_type != "Release" or ... :
raise Exception("This package does not support this configuration")
感謝drodri,這使得事情更清晰。 – Stefan