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

How do I download Buck remote files in a Homebrew formula?

我正在尝试编写一个 formula for my Java project. I am using 来构建项目,这需要从 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 下载失败:

Unable to download: mvn:com.google.guava:guava:jar:21.0

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

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

我的错误是在我的项目文件夹中有一个 .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