Skip to content

pete-gillin-privitar/rules_proto

 
 

Repository files navigation

Protobuf Rules for Bazel

  • Postsubmit Build status
  • Postsubmit + Current Bazel Incompatible Flags Build status

This repository contains Starlark implementation of Protobuf rules in Bazel.

For the list of Proto rules, see the Bazel documentation.

Getting Started

To get started with rules_proto, add the following to your WORKSPACE file:

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

http_archive(
    name = "rules_proto",
    sha256 = "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
    strip_prefix = "rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313",
    urls = [
        "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
        "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
    ],
)
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
rules_proto_dependencies()
rules_proto_toolchains()

Then, in your BUILD files, import and use the rules:

load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
    ...
)

If you're migrating from the native proto rules to rules_proto, you can use the following buildifier command to automate the changes to your BUILD and .bzl files:

buildifier --lint=fix --warnings=native-proto <path/to/BUILD>

Contributing

Bazel and rules_proto are the work of many contributors. We appreciate your help!

To contribute, please read the contribution guidelines: CONTRIBUTING.md.

Note that the rules_proto use the GitHub issue tracker for bug reports and feature requests only.

For asking questions see:

About

Protocol buffer rules for Bazel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Starlark 72.3%
  • C++ 18.8%
  • Shell 8.9%