Skip to content

Commit 5eadd00

Browse files
committed
Update README.md
Changes for moving to aspect-build org
1 parent af3c7c4 commit 5eadd00

File tree

4 files changed

+12
-20
lines changed

4 files changed

+12
-20
lines changed

.bcr/config.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# See https://github.com/bazel-contrib/publish-to-bcr#a-note-on-release-automation
2-
# for guidance about whether to uncomment this section:
3-
#
4-
# fixedReleaser:
5-
# login: alexeagle
6-
1+
fixedReleaser:
2+
login: alexeagle
3+

.bcr/metadata.template.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
2-
"homepage": "https://github.com/alexeagle/toolchains_protoc",
2+
"homepage": "https://github.com/aspect-build/toolchains_protoc",
33
"maintainers": [
44
{
55
"email": "[email protected]",
66
"github": "alexeagle",
77
"name": "Alex Eagle"
88
}
99
],
10-
"repository": ["github:alexeagle/toolchains_protoc"],
10+
"repository": ["github:aspect-build/toolchains_protoc"],
1111
"versions": [],
1212
"yanked_versions": {}
1313
}

.github/workflows/release_prep.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ http_archive(
3535
name = "toolchains_protoc",
3636
sha256 = "${SHA}",
3737
strip_prefix = "${PREFIX}",
38-
url = "https://github.com/alexeagle/toolchains_protoc/releases/download/${TAG}/${ARCHIVE}",
38+
url = "https://github.com/aspect-build/toolchains_protoc/releases/download/${TAG}/${ARCHIVE}",
3939
)
4040
EOF
4141

README.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,23 @@ _#NeverCompileProtocAgain_
44

55
Using Protocol Buffers with Bazel has always been difficult.
66

7+
- Compiling protoc from source requires a functional C++ toolchain, which is a burden for projects that have no C++ code.
8+
Also, Bazel does not ship with a hermetic toolchain, so you may have a handful of developers whose Bazel build is broken.
79
- Nearly every Bazel user has waited for `protoc` to compile from sources many, MANY times.
810
This universally slows down builds, especially due to issues like https://github.com/bazelbuild/bazel/issues/7095 where it is observed to be easily cache-busted.
911
- The versioning of the protobuf module on Bazel Central Registry has fallen behind and contains many patches.
1012
As of mid-March 2024 there are [7 patches](https://github.com/bazelbuild/bazel-central-registry/tree/main/modules/protobuf/23.1/patches)
1113
which essentially constitute a fork of the protobuf repo specifically for publishing to BCR.
1214
- Relying on the protobuf runtime for each language from the `@com_google_protobuf` repo forces you to use
1315
the same version of the runtime for all languages in a monorepo, and matching protoc.
16+
This makes it difficult to migrate to a monorepo, allowing some applications to move from their separate repo without changing their
17+
dependency versions.
1418

1519
The key observations:
1620

1721
- `protoc` has always been distributed as pre-built binaries on https://github.com/protocolbuffers/protobuf/releases
1822
- That distribution includes the "well known types" such as `timestamp.proto`
19-
- The protobuf runtimes for each language are distributed to the appropriate package manager.
23+
- The protobuf runtimes for each language are distributed to the appropriate package manager such as npm or PyPI.
2024

2125
Bazel 7 introduced `--incompatible_enable_proto_toolchain_resolution` to allow us fetch `protoc` rather than re-build it!
2226
That flag ALSO decouples how each language rule locates the runtime.
@@ -47,15 +51,6 @@ As with many other tools such as Swagger and GraphQL, the Bazel community is sel
4751
This toolchain shows that there's no need to treat Bazel as a “special” build system vs. all the others that protobuf users rely on.
4852
https://protobuf.dev/reference/ is sufficient documentation for everyone.
4953

50-
### Why a separate Bazel module?
51-
52-
This belongs in rules_proto, see
53-
54-
- https://github.com/bazelbuild/rules_proto/pull/205
55-
- https://github.com/bazelbuild/rules_proto/pull/206
56-
57-
Getting reviews from Googlers is hard so let's not wait for them.
58-
5954
## Installation
6055

6156
Make sure your `.bazelrc` contains
@@ -66,4 +61,4 @@ common --incompatible_enable_proto_toolchain_resolution
6661
```
6762

6863
Follow instructions from the release you wish to use:
69-
<https://github.com/alexeagle/toolchains_protoc/releases>
64+
<https://github.com/aspect-build/toolchains_protoc/releases>

0 commit comments

Comments
 (0)