Mike Kruskal
01fe22219a
* Expose language-specific naming utilities in Bazel for downstream code generators * Expose language generators without exposing implementation details * Update cmake configs * Revert "Expose language generators without exposing implementation details" This reverts commit b073d9b4ebf28b825a6340ea0dfc60f1e43ae4c1. * Give gRPC privileged access to our python generator * Naming cleanup * Add linkage for public names.h helpers * Fixing build/merge issues * Fix extension docstring |
2 years ago | |
---|---|---|
.. | ||
BUILD.bazel | Open up visibility for some compiler internals (#10608) | 2 years ago |
README.md | Add source distribution packaging rules (#9835) | 3 years ago |
build_systems.bzl | Remove all autotools usage (#10132) | 2 years ago |
cc_dist_library.bzl | [Bazel/C++] Augment `cc_dist_library` to generate lists of source files (#10026) | 3 years ago |
README.md
Protobuf packaging
This directory contains Bazel rules for building packaging and distribution artifacts.
Everything in this directory should be considered internal and subject to change.
Protocol compiler binary packaging
The protocol compiler is used in binary form in various places. There are rules
which package it, along with commonly used .proto
files, for distribution.
Source distribution packaging
Protobuf releases include source distributions, sliced by target language (C++,
Java, etc.). There are rules in this package to define those source archives.
These depend upon pkg_files
rules elsewhere in the repo to get the contents.
The source distribution files should include the outputs from autogen.sh
, but
this isn't something we can reliably do from Bazel. To produce fully functioning
source distributions, run autogen.sh
before building the archives (this
populates the necessary files directly into the source tree).
C++ runtime binary distribution
The cc_dist_library
rule creates composite libraries from several other
cc_library
targets. Bazel uses a "fine-grained" library model, where each
cc_library
produces its own library artifacts, without transitive
dependencies. The cc_dist_library
rule combines several other libraries
together, creating a single library that may be suitable for distribution.