2017-02-15 57 views
1

我想寫一個公式爲我的Java項目。我使用建工程,需要一些jar文件從Maven的下載。如何使用Homebrew公式下載Buck遠程文件?

例如,我BUCK文件有:

remote_file(
    name = 'guava-jar', 
    out = 'guava-21.0.jar', 
    url = 'mvn:com.google.guava:guava:jar:21.0', 
    sha1 = '3a3d111be1be1b745edfa7d91678a12d7ed38709', 
) 

prebuilt_jar(
    name = 'guava', 
    source_jar = ':guava-jar', 
    binary_jar = ':guava-jar', 
    javadoc_url = 'https://google.github.io/guava/releases/21.0/api/docs/', 
) 

在我的公式我有一個行獲取這些罐子:

system 'buck fetch :my-project' 

然而,罐子的下載失敗:

無法下載:MVN:com.google.guava:番石榴:罐子:21.0

是自制應用一些限制我的命令(例如阻止網絡請求)?

如何從Maven的拉自制配方中的文件?

回答

1

我的錯誤是,在我的項目文件夾我有一個.buckconfig,但在自制領域,我沒有。這意味着Maven URL設置不正確,導致下載失敗。

解決的辦法是增加一個額外的步驟,我家釀公式生成.buckconfig

buckconfig = File.new('.buckconfig', 'w') 
buckconfig.puts("[download]\n" + 
    "maven_repo = http://repo.maven.apache.org/maven2/\n" + 
    "in_build = true\n") 
buckconfig.close 
+0

或者你可以把.buckconfig到源代碼控制,因爲現在我們有.buckconfig.local – sdgfsdh