Skip to content

Bazel rules for interacting with YAML files ๐Ÿ’š

Notifications You must be signed in to change notification settings

calebfroese/rules_yaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

rules_yaml

This project provides Bazel rules for operating with YAML.

Setup

In your WORKSPACE file, include the following snippets. This will tell Bazel to fetch the YAML rules archive, extract it, and prepare it for use in your application.

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_yaml",
    sha256 = "<see github releases page for checksum>",
    url = "https://github.com/calebfroese/rules_yaml/archive/0.0.1.zip",
)

load("@rules_yaml//:defs.bzl", "yaml_repositories")

# This sets up the dependencies for rules_yaml
yaml_repositories()

Usage

You can pull elements into new YAML files using the yaml_excerpt rule.

# Extract elements nested under the path into a new file
yaml_excerpt(
    name = "first_car_info",
    src = "template.yml",
    path = "config.properties.cars[0].Details",
)
# Which can then be passed in to other rules as ":first_car_info"