entrypoint.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/usr/bin/env bash
  2. # entrypoint.sh/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro).
  3. # This copyright was auto-generated on Wed Mar 27 22:05:54 UTC 2024
  4. PROTO_SRC_DIR=/proto_in
  5. PROTO_PYTHON_OUT_DIR=/proto_output/python
  6. PROTO_KOTLIN_OUT_DIR=/proto_output/kotlin
  7. function build_python() {
  8. rm -rf $PROTO_PYTHON_OUT_DIR/* && mkdir -p $PROTO_PYTHON_OUT_DIR
  9. echo
  10. echo "Building protobuf python files and stubs from .proto source files..."
  11. pushd $PROTO_SRC_DIR
  12. protoc --include_imports --descriptor_set_out=$PROTO_PYTHON_OUT_DIR/descriptors --python_out=$PROTO_PYTHON_OUT_DIR --mypy_out=$PROTO_PYTHON_OUT_DIR *
  13. popd
  14. pushd $PROTO_PYTHON_OUT_DIR
  15. echo
  16. echo "Converting relative imports to absolute..."
  17. protol -o . --in-place raw descriptors
  18. rm descriptors
  19. }
  20. function build_kotlin() {
  21. echo "Building kotlin protobuf files using pbandk..."
  22. export PATH=$PATH:/
  23. rm -rf $PROTO_KOTLIN_OUT_DIR/* && mkdir -p $PROTO_KOTLIN_OUT_DIR
  24. gosu user:user mkdir -p /home/user/temp
  25. # We can't run as root because pbank can't handle it: https://github.com/streem/pbandk/issues/73
  26. gosu user:user protoc --pbandk_out=kotlin_package=com.gopro.open_gopro.operations,visibility=internal:/home/user/temp -I $PROTO_SRC_DIR $PROTO_SRC_DIR/*
  27. mv /home/user/temp/com/gopro/open_gopro/operations/* $PROTO_KOTLIN_OUT_DIR
  28. set-kmp-scopes /kmp_manipulator_config.toml $PROTO_KOTLIN_OUT_DIR
  29. }
  30. build_python
  31. build_kotlin
  32. echo "Protobuf build complete!"