如何在Homebrew公式中下载Buck远程文件?

时间:2017-02-15 22:37:17

标签: java maven homebrew buck

我正在尝试为我的Java项目编写公式。我正在使用来构建项目,这需要从Maven下载一些jar文件。

例如,我的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'

然而,下载的jar失败了:

  

无法下载:mvn:com.google.guava:guava:jar:21.0

Homebrew是否对我的命令应用了一些限制(例如阻止Web请求)?

如何在Homebrew公式中从Maven中提取文件?

1 个答案:

答案 0 :(得分:1)

我的错误是在我的项目文件夹中我有.buckconfig,但在Homebrew区域我没有。这意味着未正确设置Maven URL,导致下载失败。

解决方案是在我的Homebrew公式中添加额外的步骤,生成.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