Buck文件聚合多个Buck文件

时间:2014-11-26 10:59:52

标签: buck

我按以下方式构建了代码:

BUCK
component A
  src
  test
  BUCK
component B
  src
  test
  BUCK

查看示例here

每个组件的BUCK文件如下所示:

java_library(
  name = 'selendroid-standalone',
  srcs = glob(['src/**/*.java']),
  visibility = [ 'PUBLIC' ],
  deps = [
    ...
  ],
  resources = [
    '//apps/selendroid-server-apk:selendroid-server-apk',
  ],
)

java_test(
  name = 'selendroid-standalone-tests',
  srcs = glob(['test/**/*.java']),
  deps = [
     ...
  ],
)

java_binary(
  name = 'selendroid-standalone-bin',
  deps = [ 
    ':selendroid-standalone',
  ],  
)

project_config(
  src_target = ':selendroid-standalone',
  src_roots = [ 'src' ],
  test_target = ':selendroid-standalone-tests',
  test_roots = ['test','test-resources'],
)

我希望能够做到:

$ buck build selendroid   # This should build everything
$ buck test selendroid    # This should test everything

我的问题是:顶级BUCK文件应该是什么样的?

1 个答案:

答案 0 :(得分:5)

在.buckconfig文件中,添加以下内容:

  [alias]
  selendroid = //path/to/some:target

您只能在每个别名中指定一个目标,但这可以是聚合您关注的子目标的目标。

要运行所有测试,请使用buck test --all