2017-03-10 112 views
0

我試圖用柯南將一些文件和可執行文件一起打包用於版本控制,但是在看了柯南文檔之後,我仍然不清楚如何做到這一點,或者如果柯南甚至是合適的工具爲了工作。創建柯南包的麻煩

基本上我想打包3個.dll文件,一個配置文件和2個可執行文件(我寫的OpenSSL和.exe需要所有上述依賴關係)。我想要在桌面上本地打包的所有東西。如果有誰在科南經歷過可以指向我正確的方向,將不勝感激。謝謝!!

回答

1

您通常不希望在版本控制中檢查二進制文件,庫和可執行文件,但將它們託管在其他位置,如文件服務器。如果您使用的是柯南,則可以使用現有的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") 
+0

感謝drodri,這使得事情更清晰。 – Stefan