| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/bin/bash
- set -e
- PACKAGE_DIR="."
- echo "building package to generate type files"
- OUT_DIR=$(cargo build --message-format=json | jq -r 'select(.reason == "build-script-executed") | .out_dir' | grep "pyth-lazer-publisher-sdk")
- echo "using output directory: ${OUT_DIR}"
- echo "copying files from protobuf output to package directory"
- cp -r "${OUT_DIR}/protobuf" "${PACKAGE_DIR}/src/"
- echo "deleting build.rs file"
- rm -f "${PACKAGE_DIR}/build.rs"
- echo "updating lib.rs to export local protobuf files"
- python3 -c "
- import re
- def replace_mod_protobuf(file_path):
- with open(file_path, 'r') as f:
- content = f.read()
- pattern = re.compile(r'mod\s+protobuf\s*\{.*?\}', re.DOTALL)
- replacement = 'mod protobuf;'
- new_content = pattern.sub(replacement, content)
- with open(file_path, 'w') as f:
- f.write(new_content)
- replace_mod_protobuf('${PACKAGE_DIR}/src/lib.rs')
- "
- echo "publishing package"
- cargo publish --token ${CARGO_REGISTRY_TOKEN} --allow-dirty
|