Описание тега starlark

Starlark is a dialect of Python intended for use as a configuration language. Developed for the Bazel build tool and previously called Skylark.
3 ответа

Базель: genrule, который выводит каталог

Я только начинаю работать с Базелем. Поэтому я заранее прошу прощения за то, что не смог понять это. Я пытаюсь запустить команду, которая выводит кучу файлов в каталог и делает этот каталог доступным для последующих целей. У меня есть две разные поп…
28 июн '18 в 00:29
0 ответов

Можно ли получить доступ к аспекту из контекста другого аспекта?

Я хотел бы создать правило Базеля, которое принимает в качестве входных данных proto_library и java_proto_library. Он генерирует код Java на основе предоставленного прото, компилирует новый код с предоставленным java_deps и возвращает JavaInfo. Дере…
28 фев '19 в 19:04
1 ответ

Toolchain не загружает инструмент

Привет, я пытаюсь настроить набор инструментов для проекта Fn. Подход заключается в том, чтобы создать набор инструментов для каждого двоичного файла, доступного в GitHub, а затем теоретически использовать его в правиле. У меня есть общий пакет, кот…
31 янв '19 в 18:41
0 ответов

В Starlark, как мне сгенерировать файл, связанный с исполняемыми файлами?

В файле Starlark, который используется в Bazel, если я создаю файл с ctx.actions.declare_file()Есть ли какой-нибудь способ связать с ним зависимости /datafiles/runfiles? Например: Я могу создать и записать в файл: script_file = ctx.actions.declare_f…
27 мар '19 в 23:12
0 ответов

bazel config_settings на основе текущего имени рабочей области

Глядя на config_settings, я вижу варианты для настройки параметров --define флаги и платформа. В любом случае я могу иметь config_settings на основе текущего имени рабочей области? Что-то вроде: config_setting( name = "two_conditions", values = { "e…
08 апр '19 в 11:39
1 ответ

Как правильно загрузить скрипт Starlark в другой?

Я пытаюсь сделать очень простую реализацию с Starlark: greeting.bzl def greet(): print ("Hello World!") test.bzl load (":greeting.bzl", "greet") greet() И выполните это с: java -jar Starlark_deploy.jar test.bzl Результат вышеупомянутого вызова: file…
13 апр '19 в 14:44
1 ответ

Как мне реализовать local_archive() в старларке

Я хочу реализовать правило хранилища starlark, которое берет tar.gz из каталога WORKSPACE (я помещаю туда файлы в git LFS) и извлекает его, затем использует извлеченное содержимое как внешний репозиторий (то есть извлекает файл, затем делает эквивал…
27 июл '19 в 00:05
1 ответ

Разрешает ли bazel теоретически http-запросы в правилах построения bazel?

Есть ли возможность писать http запросы в старларке build правило или через какой-то исполняемый файл, вызываемый ctx.actions.run? Я знаю, что это можно сделать с помощью Базеля test (внутри тестовых бегунов), но можно ли это сделать на этапе сборки…
19 июн '19 в 00:14
1 ответ

Есть ли способ получить прямой доступ к встроенным типам языка starlark в Bazel?

Например, есть ли способ вызвать конструктор класса File для создания его экземпляра?
08 июн '20 в 23:45
0 ответов

Как правильно обрабатывать создание отчета о покрытии тестами (HTML) с помощью Bazel?

Цель Я хотел бы обработать весь процесс создания HTML-отчета с данными о тестовом покрытии через Bazel. Составные части Я понимаю, что для достижения своей цели необходимы следующие компоненты: Файл lcov .dat: предоставляет информацию о том, какие ч…
03 авг '20 в 16:03
1 ответ

Как написать правило теста Bazel, используя предоставленный инструмент, а не созданный на основе правил?

У меня есть тестовый инструмент (грубо говоря, инструмент сравнения), который принимает два входа и возвращает как результат (разницу между двумя входами), так и код возврата (0, если два входа совпадают, 1 в противном случае). Он построен в Котлине…
06 окт '19 в 04:39
1 ответ

Каков наиболее эффективный способ извлечения / сбора файлов из списка целей / поставщиков в Bazel?

Я пишу некоторые правила и изучаю Starlark по мере продвижения. Предположим, у меня есть собственный провайдер: ModularResources = provider( doc = "Modular resources", fields = { "artifactId": "Former Maven artifact id (don't ask me why)", "srcs": "…
22 янв '20 в 15:44
1 ответ

Bazel - Как прочитать строку из файла среды?

У меня есть несколько k8s_object правил в моем проекте, и я снабдил их одинаковыми cluster назовите так: k8s_object( name = "k8s_service", kind = "service", cluster = "gke_cents-ideas_europe-west3-b_cents-ideas", template = ":gateway.service.yaml", …
12 фев '20 в 17:18
1 ответ

Прочитать содержимое файла в WORKSPACE

Я использую container_pullв моем файле WORKSPACE. (Это часть правил докеров bazel)Вот как это выглядит: container_pull( name = "base-image", registry = "registry:9999", repository = "base-image", digest = "sha256:e6f44554a270025c578c0f91160d809735c2…
01 фев '20 в 11:40
2 ответа

Реализация предварительно скомпилированных заголовков Bazel C++

Я написал реализацию предварительно скомпилированных заголовочных файлов MSVC (PCH) для Bazel (2.0) и хотел бы получить некоторые отзывы о ней, так как мне она не нравится. Чтобы быстро резюмировать, что нужно сделать, чтобы PCH работал в MSVC: Ском…
0 ответов

Есть ли звездный эквивалент проверки python `__name__ == '__main__'?

Я пытаюсь протестировать некоторые файлы starlark, но библиотека, которую я пытаюсь проверить, содержит как макросы, которые я тестирую, так и некоторый код, который запускается, потому что это мой mainфайл. Есть ли способ заблокировать его через эк…
06 дек '19 в 08:08
0 ответов

Объявите функции компилятора, чтобы иметь дополнительные выходные артефакты в Bazel

Я пытаюсь создать покрытие кода для cc_binary цель без использования bazel coverage команда из-за некоторых требований. Когда я компилирую цель с помощью GCC -ftest-coverage а также -fprofile-arcs флаги, я получаю ожидаемое .gcnoпромежуточные файлы.…
07 июл '20 в 01:03
0 ответов

Получить базовый каталог для объявленных файлов

Иногда в моих правилах bazel мне нужно запустить инструмент, который создает кучу файлов, но записывает их в выходной каталог, и путь к каталогу должен использоваться в качестве аргумента. В итоге я получил следующий паттерн: out_dir = "{}_out".form…
10 окт '19 в 13:19
2 ответа

Базель Старларк: как я могу сгенерировать файл BUILD процедурно?

После загрузки архива через http_archive я хотел бы запустить сценарий для создания файла BUILD из структуры папок и файлов Cmake в нем (в настоящее время я делаю это вручную, и это достаточно просто, чтобы его можно было написать сценарием). Я не н…
12 авг '20 в 17:43
2 ответа

Как сделать в starlark дорожку из нитки?

Я пишу код проверки для правила сборки bazel, и мне нужно выполнить проверку пути. Мне нужно проверить, существует ли определенный файл в том же каталоге, что и файл BUILD. Я замечаю, что есть атрибут контекста build_file_path который указывает на ф…
28 май '20 в 19:51