Buck-файл, объединяющий несколько Buck-файлов

Я структурировал свой код следующим образом:

BUCK
component A
  src
  test
  BUCK
component B
  src
  test
  BUCK

Смотрите пример здесь.

Файл 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 ответ

Решение

В вашем файле.buckconfig добавьте следующее:

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

Вы можете указать только одну цель в каждом псевдониме, но это может быть та, которая объединяет подзадачи, которые вас интересуют.

Чтобы запустить все тесты, используйте buck test --all

Другие вопросы по тегам