Есть ли способ получить прямой доступ к встроенным типам языка starlark в Bazel?
Например, есть ли способ вызвать конструктор класса File для создания его экземпляра?
1 ответ
Решение
Обычно это просто зависит от того, что вы хотите. Некоторые вещи, такие как File, вы должны пройти через API, например, чтобы создать объект файла в функции правила, вы должны использоватьctx.actions.declare_file(filename)
См. Примеры: https://docs.bazel.build/versions/master/skylark/lib/actions.html
Другие вещи, которые вы можете создать напрямую, например depset
имеет depset()
. См. Глобальные функции здесь https://docs.bazel.build/versions/master/skylark/lib/skylark-overview.html