Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.6 KiB
51 lines
1.6 KiB
#!/bin/bash |
|
# Adapted from https://github.com/googleapis/google-cloud-python/blob/main/.kokoro/publish-docs.sh |
|
|
|
set -eo pipefail |
|
|
|
# Disable buffering, so that the logs stream through. |
|
export PYTHONUNBUFFERED=1 |
|
|
|
cd github/protobuf/python |
|
|
|
# install package |
|
sudo apt-get update |
|
sudo apt-get -y install software-properties-common |
|
sudo add-apt-repository universe |
|
sudo apt-get update |
|
sudo apt-get -y install unzip |
|
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.0-rc1/protoc-21.0-rc-1-linux-x86_64.zip |
|
unzip protoc-21.0-rc-1-linux-x86_64.zip bin/protoc |
|
mv bin/protoc ../src/protoc |
|
python3 -m venv venv |
|
source venv/bin/activate |
|
python setup.py install |
|
|
|
# install docs dependencies |
|
python -m pip install -r docs/requirements.txt |
|
|
|
# build docs |
|
cd docs |
|
make html |
|
cd .. |
|
deactivate |
|
|
|
python3 -m pip install protobuf==4.21.0rc1 gcp-docuploader |
|
|
|
# install a json parser |
|
sudo apt-get -y install jq |
|
|
|
# create metadata |
|
python3 -m docuploader create-metadata \ |
|
--name=$(jq --raw-output '.name // empty' .repo-metadata.json) \ |
|
--version=$(python3 setup.py --version) \ |
|
--language=$(jq --raw-output '.language // empty' .repo-metadata.json) \ |
|
--distribution-name=$(python3 setup.py --name) \ |
|
--product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \ |
|
--github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \ |
|
--issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json) |
|
|
|
cat docs.metadata |
|
|
|
# upload docs |
|
python3 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket docs-staging
|
|
|