protobuf-rules-gen 项目使用教程
protobuf-rules-gen 项目使用教程
protobuf-rules-genThis is an experimental protoc plugin that generates Firebase Rules for Cloud Firestore based on Google’s Protocol Buffer format. This allows you to easily validate your data in a platform independent manner.项目地址:https://gitcode.com/gh_mirrors/pr/protobuf-rules-gen
1. 项目的目录结构及介绍
protobuf-rules-gen/
├── BUILD
├── README.md
├── WORKSPACE
├── example_usage.sh
├── integration_test.py
├── bazel/
│ ├── defs.bzl
│ └── repositories.bzl
├── src/
│ ├── firebase_rules_options.proto
│ └── ...
└── ...
BUILD: Bazel 构建文件,用于定义项目的构建规则。README.md: 项目说明文档,包含项目的基本介绍和使用方法。WORKSPACE: Bazel 工作区文件,用于定义外部依赖。example_usage.sh: 示例脚本,展示如何使用该插件生成 Firebase Rules。integration_test.py: 集成测试脚本,用于测试插件的生成规则功能。bazel/: 包含 Bazel 相关的定义文件。
defs.bzl: 定义了生成规则的 Bazel 规则。repositories.bzl: 定义了项目的依赖仓库。 src/: 包含项目的源代码和协议文件。
firebase_rules_options.proto: 定义了 Firebase Rules 的选项。
2. 项目的启动文件介绍
项目的启动文件是 example_usage.sh
,这是一个示例脚本,展示了如何使用 protoc
工具和 protobuf-rules-gen
插件生成 Firebase Rules。
#!/bin/bash
# 下载并安装最新版本的 protoc
# 将插件二进制文件放在 $PATH 中或使用 --plugin=protoc-gen-firebase_rules=/path/to/protoc-gen-firebase_rules 选项
# 使用 --firebase_rules_out=/directory 标志输出生成的 firestore rules 文件
# 如果导入 "firebase_rules_options.proto",需要添加 --proto_path=/directory 标志
protoc --plugin=protoc-gen-firebase_rules=/path/to/protoc-gen-firebase_rules
--firebase_rules_out=./output
--proto_path=./src
your_protobuf_file.proto
3. 项目的配置文件介绍
项目的配置文件主要是 BUILD
和 WORKSPACE
文件。
BUILD 文件
BUILD
文件定义了项目的构建规则,包括如何生成 Firebase Rules 文件。
load("@proto_gen_firebase_rules//bazel:defs.bzl", "firestore_rules_proto_library", "firestore_rules_binary")
firestore_rules_proto_library(
name = "my_rules",
srcs = ["my_protobuf_file.proto"],
)
firestore_rules_binary(
name = "my_rules_binary",
deps = [":my_rules"],
)
WORKSPACE 文件
WORKSPACE
文件定义了项目的外部依赖。
load("@proto_gen_firebase_rules//bazel:repositories.bzl", "protobuf_rules_gen_repositories")
protobuf_rules_gen_repositories()
通过这些配置文件,可以定义和生成所需的 Firebase Rules 文件,并进行项目的构建和测试。
protobuf-rules-genThis is an experimental protoc plugin that generates Firebase Rules for Cloud Firestore based on Google’s Protocol Buffer format. This allows you to easily validate your data in a platform independent manner.项目地址:https://gitcode.com/gh_mirrors/pr/protobuf-rules-gen