From 21516924531581d30432fbe5fe4dad06b2d28b11 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Mon, 22 Sep 2025 15:37:31 +0530 Subject: [PATCH 01/38] support python v2 --- .../workflows/release-older-version-sdks.yml | 37 +++++++++++++-- .gitignore | 6 ++- python/CI/generate-sdk.sh | 47 +++++++++++++++---- python/fds.protobuf.stach.v2/setup.py | 12 +++++ python/fds.protobuf.stach.v3/setup.py | 4 +- 5 files changed, 90 insertions(+), 16 deletions(-) create mode 100644 python/fds.protobuf.stach.v2/setup.py diff --git a/.github/workflows/release-older-version-sdks.yml b/.github/workflows/release-older-version-sdks.yml index 095ba5c..e05306d 100644 --- a/.github/workflows/release-older-version-sdks.yml +++ b/.github/workflows/release-older-version-sdks.yml @@ -6,12 +6,16 @@ env: MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD_2024OCT }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} JAVA_SDK_LOCATION_v1: "java/v1" - JAVA_SDK_LOCATION_v2: "java/v2" + JAVA_SDK_LOCATION_v2: "java/v2" + PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }} + PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + PYTHON_SDK_LOCATION_v2: "python/fds.protobuf.stach.v2" + on: workflow_dispatch: inputs: SDKs: - description: 'Which SDK to release? Options are "java-v1" and "java-v2"' + description: 'Which SDK to release? Options are "java-v1", "java-v2" and "python-v2"' required: true default: all @@ -68,4 +72,31 @@ jobs: - name: Publish to Apache Maven Central run: | cd ${{ env.JAVA_SDK_LOCATION_v2 }} - mvn -Psign-artifacts verify deploy \ No newline at end of file + mvn -Psign-artifacts verify deploy + + python-v2: + runs-on: ubuntu-latest + if: github.event_name == 'workflow_dispatch' + && github.event.inputs.SDKs == 'python-v2' + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python 3.7 + uses: actions/setup-python@v2 + with: + python-version: 3.7 + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + + - name: Build and publish to PyPI + env: + TWINE_USERNAME: ${{ env.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ env.PYPI_PASSWORD }} + run: | + cd ${{ env.PYTHON_SDK_LOCATION_v2 }} + python setup.py sdist bdist_wheel + twine upload dist/* --verbose diff --git a/.gitignore b/.gitignore index 3b54a65..75b284b 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,10 @@ node_modules/ js/node_modules/ python/fds.protobuf.stach/dist/*.* python/fds.protobuf.stach/fds.protobuf.stach.egg-info +python/fds.protobuf.stach.v2/dist/*.* +python/fds.protobuf.stach.v2/fds.protobuf.stach.v2.egg-info +python/fds.protobuf.stach.v3/dist/*.* +python/fds.protobuf.stach.v3/fds.protobuf.stach.v3.egg-info r/*.tar.gz r/.RData r/.Rhistory @@ -21,4 +25,4 @@ js/.yarn/* !js/.yarn/versions .DS_Store go/pkg/ -artifacts \ No newline at end of file +artifacts diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index bbeaf59..0ddd6c1 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -1,20 +1,47 @@ #!/bin/bash set -e +# --- Add these variables --- +GIT_REPO_URL="https://github.com/factset/stachschema.git" +LOCAL_SCHEMA_PATH="./tmp" +BRANCH_NAME="feat/sdks/support-versions" -SCHEMA_PATH=/schema # Location of Protobuf schema -BASE_PATH=/python/fds.protobuf.stach.v3 # Base location of Python generated classes -PACKAGE_PATH=fds/protobuf/stach/v3 +# Clone or update the repo +if [ -d "$LOCAL_SCHEMA_PATH/.git" ]; then + git -C "$LOCAL_SCHEMA_PATH" pull origin "$BRANCH_NAME" + git -C "$LOCAL_SCHEMA_PATH" checkout "$BRANCH_NAME" +else + if [ -d "$LOCAL_SCHEMA_PATH" ]; then + echo "Directory $LOCAL_SCHEMA_PATH exists but is not a git repo. Removing..." + rm -rf "$LOCAL_SCHEMA_PATH" + fi + git clone -b "$BRANCH_NAME" "$GIT_REPO_URL" "$LOCAL_SCHEMA_PATH" +fi -rm -f $BASE_PATH/$PACKAGE_PATH/**/*_pb2.py +SCHEMA_PATH="$LOCAL_SCHEMA_PATH/proto" # Location of Protobuf schema +BASE_PATH_V3=../fds.protobuf.stach.v3 # Base location of Python generated classes +BASE_PATH_V2=../fds.protobuf.stach.v2 # Base location of Python generated classes +PACKAGE_PATH_V3=v3/fds/protobuf/stach/v3 +PACKAGE_PATH_V2=v2/fds/protobuf/stach/v2 -echo Removed old generated code +# rm -f $BASE_PATH_V2/$PACKAGE_PATH_V2/**/*_pb2.py +# rm -f $BASE_PATH_V3/$PACKAGE_PATH_V3/**/*_pb2.py -PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH -iname "*.proto") -protoc --proto_path $SCHEMA_PATH --python_out $BASE_PATH $PROTOFILES +# echo Removed old generated code +mkdir -p "$BASE_PATH_V3" +mkdir -p "$BASE_PATH_V2" -for f in $(find $BASE_PATH/fds/protobuf/stach/v3 -type d -maxdepth 10); do - cd "$f" - touch __init__.py +PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH_V3 -iname "*.proto") +protoc --proto_path $SCHEMA_PATH/v3 --python_out $BASE_PATH_V3 $PROTOFILES + +for f in $(find $BASE_PATH_V3/fds/protobuf/stach/v3 -type d -maxdepth 10); do + touch "$f/__init__.py" +done; + +PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH_V2 -iname "*.proto") +protoc --proto_path $SCHEMA_PATH/v2 --python_out $BASE_PATH_V2 $PROTOFILES + +for f in $(find $BASE_PATH_V2/fds/protobuf/stach/v2 -type d -maxdepth 10); do + touch "$f/__init__.py" done; echo Produced new generated code diff --git a/python/fds.protobuf.stach.v2/setup.py b/python/fds.protobuf.stach.v2/setup.py new file mode 100644 index 0000000..46fea79 --- /dev/null +++ b/python/fds.protobuf.stach.v2/setup.py @@ -0,0 +1,12 @@ +from setuptools import setup, find_packages + +setup(name='fds.protobuf.stach.v2', + version='1.0.3', + description='Stach library in python', + url='', + author='analytics-reporting', + author_email='analytics.api.support@factset.com', + license='Apache License 2.0', + install_requires=["protobuf>=3.19.4"], + packages=find_packages(), + zip_safe=False) diff --git a/python/fds.protobuf.stach.v3/setup.py b/python/fds.protobuf.stach.v3/setup.py index 5dd352e..bd283c6 100644 --- a/python/fds.protobuf.stach.v3/setup.py +++ b/python/fds.protobuf.stach.v3/setup.py @@ -1,12 +1,12 @@ from setuptools import setup, find_packages setup(name='fds.protobuf.stach.v3', - version='1.0.0', + version='1.0.1', description='Stach library in python', url='', author='analytics-reporting', author_email='analytics.api.support@factset.com', license='Apache License 2.0', - install_requires=["protobuf==3.19.4"], + install_requires=["protobuf>=3.19.4"], packages=find_packages(), zip_safe=False) From 7a0fa06be5d0db874c70cb730c75bdb7e098c0e9 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Mon, 22 Sep 2025 15:42:17 +0530 Subject: [PATCH 02/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 0ddd6c1..22c310d 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -23,10 +23,10 @@ BASE_PATH_V2=../fds.protobuf.stach.v2 # Base location of Python generated classe PACKAGE_PATH_V3=v3/fds/protobuf/stach/v3 PACKAGE_PATH_V2=v2/fds/protobuf/stach/v2 -# rm -f $BASE_PATH_V2/$PACKAGE_PATH_V2/**/*_pb2.py -# rm -f $BASE_PATH_V3/$PACKAGE_PATH_V3/**/*_pb2.py - # echo Removed old generated code +rm -f $BASE_PATH_V2/$PACKAGE_PATH_V2/**/*_pb2.py +rm -f $BASE_PATH_V3/$PACKAGE_PATH_V3/**/*_pb2.py + mkdir -p "$BASE_PATH_V3" mkdir -p "$BASE_PATH_V2" From f88e3d95a29bca75c5606e610f6ccc8833b87c67 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Thu, 25 Sep 2025 09:50:48 +0530 Subject: [PATCH 03/38] Update docker-compose.generate.yml --- docker-compose.generate.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index c0dbdb2..b43e379 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -19,7 +19,9 @@ services: context: . dockerfile: python/Dockerfile.generate volumes: - - ${SCHEMA}/v3:/schema + - ${SCHEMA}/v1:/schema/v1 + - ${SCHEMA}/v2:/schema/v2 + - ${SCHEMA}/v3:/schema/v3 - ./python:/python generate_java: build: @@ -43,4 +45,4 @@ services: dockerfile: go/Dockerfile.generate volumes: - ${SCHEMA}/v3:/schema - - ./go:/golang \ No newline at end of file + - ./go:/golang From af69cf0688cd6963513dc3e84f94dd1d41a9c193 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 10:00:15 +0530 Subject: [PATCH 04/38] commenting out golang --- docker-compose.generate.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index b43e379..d283224 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -39,10 +39,10 @@ services: volumes: - ${SCHEMA}/v3:/schema - ./r:/r - generate_go: - build: - context: . - dockerfile: go/Dockerfile.generate - volumes: - - ${SCHEMA}/v3:/schema - - ./go:/golang + # generate_go: + # build: + # context: . + # dockerfile: go/Dockerfile.generate + # volumes: + # - ${SCHEMA}/v3:/schema + # - ./go:/golang From d4c5afd8997f9d06468dd261fbb4af9dd446db5b Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 10:41:31 +0530 Subject: [PATCH 05/38] fix 404 error --- docker-compose.generate.yml | 14 +++++++------- dotnet/Dockerfile.build | 4 ++-- dotnet/Dockerfile.generate | 2 +- go/Dockerfile.build | 4 ++-- go/Dockerfile.generate | 2 +- java/Dockerfile.build | 4 ++-- java/Dockerfile.generate | 4 ++-- python/Dockerfile.build | 4 ++-- python/Dockerfile.generate | 2 +- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index d283224..b43e379 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -39,10 +39,10 @@ services: volumes: - ${SCHEMA}/v3:/schema - ./r:/r - # generate_go: - # build: - # context: . - # dockerfile: go/Dockerfile.generate - # volumes: - # - ${SCHEMA}/v3:/schema - # - ./go:/golang + generate_go: + build: + context: . + dockerfile: go/Dockerfile.generate + volumes: + - ${SCHEMA}/v3:/schema + - ./go:/golang diff --git a/dotnet/Dockerfile.build b/dotnet/Dockerfile.build index 2688b8f..d832d7f 100644 --- a/dotnet/Dockerfile.build +++ b/dotnet/Dockerfile.build @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 +FROM mcr.microsoft.com/dotnet/core/sdk:6.0 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ @@ -9,4 +9,4 @@ COPY dotnet /src RUN /src/CI/build-sdk.sh -ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"] \ No newline at end of file +ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"] diff --git a/dotnet/Dockerfile.generate b/dotnet/Dockerfile.generate index f906412..d6ef122 100644 --- a/dotnet/Dockerfile.generate +++ b/dotnet/Dockerfile.generate @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:2.2 +FROM mcr.microsoft.com/dotnet/core/sdk:6.0 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ diff --git a/go/Dockerfile.build b/go/Dockerfile.build index 21d6458..5a89cd4 100644 --- a/go/Dockerfile.build +++ b/go/Dockerfile.build @@ -1,4 +1,4 @@ -FROM golang:1.14.6 +FROM golang:1.21 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ @@ -7,4 +7,4 @@ LABEL org.label-schema.license="Apache-2.0" \ COPY go /src -RUN /src/CI/build-sdk.sh \ No newline at end of file +RUN /src/CI/build-sdk.sh diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index f7e9fff..eb70e94 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -1,4 +1,4 @@ -FROM golang:1.14.6 +FROM golang:1.21-alpine LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ diff --git a/java/Dockerfile.build b/java/Dockerfile.build index 9688f76..e2a44c3 100644 --- a/java/Dockerfile.build +++ b/java/Dockerfile.build @@ -1,4 +1,4 @@ -FROM maven:3.6.3-jdk-8 +FROM maven:3.9-openjdk-17-slim LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ @@ -9,4 +9,4 @@ COPY java /src RUN /src/CI/build-sdk.sh -ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"] \ No newline at end of file +ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"] diff --git a/java/Dockerfile.generate b/java/Dockerfile.generate index a14814f..85ac89e 100644 --- a/java/Dockerfile.generate +++ b/java/Dockerfile.generate @@ -1,8 +1,8 @@ -FROM maven:3.6.3-jdk-8 +FROM maven:3.9-openjdk-17-slim LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ org.label-schema.description="To generate Java Stach package" \ maintainer="analytics.api.support@factset.com" -ENTRYPOINT ["bash", "/java/CI/generate-sdk.sh"] \ No newline at end of file +ENTRYPOINT ["bash", "/java/CI/generate-sdk.sh"] diff --git a/python/Dockerfile.build b/python/Dockerfile.build index 00d500a..ee8c385 100644 --- a/python/Dockerfile.build +++ b/python/Dockerfile.build @@ -1,4 +1,4 @@ -FROM python:3.8 +FROM python:3.9-slim LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ @@ -9,4 +9,4 @@ COPY python /src RUN /src/CI/build-sdk.sh -ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"] \ No newline at end of file +ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"] diff --git a/python/Dockerfile.generate b/python/Dockerfile.generate index d8d10f0..0ef462b 100644 --- a/python/Dockerfile.generate +++ b/python/Dockerfile.generate @@ -1,4 +1,4 @@ -FROM python:3.8 +FROM python:3.9-slim LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ From fc600cd23fdf2e5f03e4743fdee2e685d7e927dd Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 10:45:09 +0530 Subject: [PATCH 06/38] update dotnet scripts --- dotnet/Dockerfile.build | 2 +- dotnet/Dockerfile.generate | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dotnet/Dockerfile.build b/dotnet/Dockerfile.build index d832d7f..6f626c5 100644 --- a/dotnet/Dockerfile.build +++ b/dotnet/Dockerfile.build @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:6.0 +FROM mcr.microsoft.com/dotnet/sdk:6.0 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ diff --git a/dotnet/Dockerfile.generate b/dotnet/Dockerfile.generate index d6ef122..937f94a 100644 --- a/dotnet/Dockerfile.generate +++ b/dotnet/Dockerfile.generate @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/core/sdk:6.0 +FROM mcr.microsoft.com/dotnet/sdk:6.0 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ From 9c7294de93bc0d2ceea81de1630adfc9a1eb1d52 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 11:43:37 +0530 Subject: [PATCH 07/38] update java scripts --- java/Dockerfile.build | 2 +- java/Dockerfile.generate | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/Dockerfile.build b/java/Dockerfile.build index e2a44c3..a734a99 100644 --- a/java/Dockerfile.build +++ b/java/Dockerfile.build @@ -1,4 +1,4 @@ -FROM maven:3.9-openjdk-17-slim +FROM maven:3.9.6-eclipse-temurin-17 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ diff --git a/java/Dockerfile.generate b/java/Dockerfile.generate index 85ac89e..001ff61 100644 --- a/java/Dockerfile.generate +++ b/java/Dockerfile.generate @@ -1,4 +1,4 @@ -FROM maven:3.9-openjdk-17-slim +FROM maven:3.9.6-eclipse-temurin-17 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ From eb3b8bea6a5ca48c8cbeffa4b50b2c79ca48e57c Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 13:23:48 +0530 Subject: [PATCH 08/38] Update Dockerfile.generate --- python/Dockerfile.generate | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/Dockerfile.generate b/python/Dockerfile.generate index 0ef462b..c989215 100644 --- a/python/Dockerfile.generate +++ b/python/Dockerfile.generate @@ -6,7 +6,8 @@ LABEL org.label-schema.license="Apache-2.0" \ maintainer="analytics.api.support@factset.com" RUN apt-get update && \ - apt-get -y install unzip + apt-get -y install unzip curl && \ + rm -rf /var/lib/apt/lists/* ARG PROTOC_ZIP=protoc-3.19.4-linux-x86_64.zip RUN curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/$PROTOC_ZIP From 7d8154b558d4b32ba0dffb2b1a4a1234868c399c Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 13:37:01 +0530 Subject: [PATCH 09/38] Update Dockerfile.generate --- go/Dockerfile.generate | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index eb70e94..438c072 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -5,8 +5,7 @@ LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.description="To generate Go Stach package" \ maintainer="analytics.api.support@factset.com" -RUN apt-get update && \ - apt-get -y install unzip +RUN apk update && apk add curl unzip bash ARG PROTOC_ZIP=protoc-3.19.4-linux-x86_64.zip RUN curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/$PROTOC_ZIP From 698c23687b9f3b5c031a5521843a5c9a63862f57 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 13:46:44 +0530 Subject: [PATCH 10/38] Update Dockerfile.generate --- go/Dockerfile.generate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index 438c072..2feed8e 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -13,6 +13,6 @@ RUN unzip -o $PROTOC_ZIP -d /usr/local bin/protoc RUN unzip -o $PROTOC_ZIP -d /usr/local 'include/*' RUN rm -f $PROTOC_ZIP -RUN go get google.golang.org/protobuf/cmd/protoc-gen-go +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest ENTRYPOINT ["bash", "/golang/CI/generate-sdk.sh"] From 4910eb6f57f9b73b6fa437e88119560294c1d482 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 13:52:46 +0530 Subject: [PATCH 11/38] Update Dockerfile.generate --- go/Dockerfile.generate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index 2feed8e..e95b34a 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -13,6 +13,6 @@ RUN unzip -o $PROTOC_ZIP -d /usr/local bin/protoc RUN unzip -o $PROTOC_ZIP -d /usr/local 'include/*' RUN rm -f $PROTOC_ZIP -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@1.35.0 ENTRYPOINT ["bash", "/golang/CI/generate-sdk.sh"] From 462d9c99b02799422349c5124e39f81a3f48c141 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 14:00:42 +0530 Subject: [PATCH 12/38] Update Dockerfile.generate --- go/Dockerfile.generate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index e95b34a..432f95e 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -5,7 +5,7 @@ LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.description="To generate Go Stach package" \ maintainer="analytics.api.support@factset.com" -RUN apk update && apk add curl unzip bash +RUN apk update && apk add curl unzip bash git ARG PROTOC_ZIP=protoc-3.19.4-linux-x86_64.zip RUN curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/$PROTOC_ZIP From f3c56ee3295c23faaedf7c74c06503d159f012ed Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 14:44:48 +0530 Subject: [PATCH 13/38] Update Dockerfile.generate --- go/Dockerfile.generate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index 432f95e..2990c17 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -13,6 +13,6 @@ RUN unzip -o $PROTOC_ZIP -d /usr/local bin/protoc RUN unzip -o $PROTOC_ZIP -d /usr/local 'include/*' RUN rm -f $PROTOC_ZIP -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@1.35.0 +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@1.5.4 ENTRYPOINT ["bash", "/golang/CI/generate-sdk.sh"] From b50b7f74647cdb290f9ea7b40ec5fa887255b2f1 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 14:49:01 +0530 Subject: [PATCH 14/38] updating go scripts --- go/Dockerfile.build | 2 +- go/Dockerfile.generate | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go/Dockerfile.build b/go/Dockerfile.build index 5a89cd4..bc41bce 100644 --- a/go/Dockerfile.build +++ b/go/Dockerfile.build @@ -1,4 +1,4 @@ -FROM golang:1.21 +FROM golang:1.23 LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index 2990c17..9d8e582 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -1,4 +1,4 @@ -FROM golang:1.21-alpine +FROM golang:1.23-alpine LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ @@ -13,6 +13,6 @@ RUN unzip -o $PROTOC_ZIP -d /usr/local bin/protoc RUN unzip -o $PROTOC_ZIP -d /usr/local 'include/*' RUN rm -f $PROTOC_ZIP -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@1.5.4 +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest ENTRYPOINT ["bash", "/golang/CI/generate-sdk.sh"] From 7dc888cc0b62efe19576b419fa28cb4266e59e31 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 16:42:10 +0530 Subject: [PATCH 15/38] Update Dockerfile.generate --- python/Dockerfile.generate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/Dockerfile.generate b/python/Dockerfile.generate index c989215..d80281f 100644 --- a/python/Dockerfile.generate +++ b/python/Dockerfile.generate @@ -6,7 +6,7 @@ LABEL org.label-schema.license="Apache-2.0" \ maintainer="analytics.api.support@factset.com" RUN apt-get update && \ - apt-get -y install unzip curl && \ + apt-get -y install unzip curl git && \ rm -rf /var/lib/apt/lists/* ARG PROTOC_ZIP=protoc-3.19.4-linux-x86_64.zip From e468996a5edef15d5c83c60b98ce43503aad7c70 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 17:00:37 +0530 Subject: [PATCH 16/38] Update docker-compose.generate.yml --- docker-compose.generate.yml | 60 ++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index b43e379..cc180b5 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -1,12 +1,12 @@ version: '3' services: - generate_dotnet: - build: - context: . - dockerfile: dotnet/Dockerfile.generate - volumes: - - ${SCHEMA}/v3:/schema - - ./dotnet:/dotnet + # generate_dotnet: + # build: + # context: . + # dockerfile: dotnet/Dockerfile.generate + # volumes: + # - ${SCHEMA}/v3:/schema + # - ./dotnet:/dotnet # generate_js: # build: # context: . @@ -23,26 +23,26 @@ services: - ${SCHEMA}/v2:/schema/v2 - ${SCHEMA}/v3:/schema/v3 - ./python:/python - generate_java: - build: - context: . - dockerfile: java/Dockerfile.generate - volumes: - - ${SCHEMA}/v1:/schema/v1 - - ${SCHEMA}/v2:/schema/v2 - - ${SCHEMA}/v3:/schema/v3 - - ./java:/java - generate_r: - build: - context: . - dockerfile: r/Dockerfile.generate - volumes: - - ${SCHEMA}/v3:/schema - - ./r:/r - generate_go: - build: - context: . - dockerfile: go/Dockerfile.generate - volumes: - - ${SCHEMA}/v3:/schema - - ./go:/golang + # generate_java: + # build: + # context: . + # dockerfile: java/Dockerfile.generate + # volumes: + # - ${SCHEMA}/v1:/schema/v1 + # - ${SCHEMA}/v2:/schema/v2 + # - ${SCHEMA}/v3:/schema/v3 + # - ./java:/java + # generate_r: + # build: + # context: . + # dockerfile: r/Dockerfile.generate + # volumes: + # - ${SCHEMA}/v3:/schema + # - ./r:/r + # generate_go: + # build: + # context: . + # dockerfile: go/Dockerfile.generate + # volumes: + # - ${SCHEMA}/v3:/schema + # - ./go:/golang From 0342d973a6771ebc27964defb6c384d11b50f02d Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Wed, 1 Oct 2025 19:52:50 +0530 Subject: [PATCH 17/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 22c310d..04411e1 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -1,5 +1,8 @@ #!/bin/bash set -e + +export PATH="/usr/bin:$PATH" + # --- Add these variables --- GIT_REPO_URL="https://github.com/factset/stachschema.git" LOCAL_SCHEMA_PATH="./tmp" From 883e9b3609561305cbea148d27962e0f908034d8 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Fri, 3 Oct 2025 10:51:58 +0530 Subject: [PATCH 18/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 04411e1..2cab451 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -5,7 +5,7 @@ export PATH="/usr/bin:$PATH" # --- Add these variables --- GIT_REPO_URL="https://github.com/factset/stachschema.git" -LOCAL_SCHEMA_PATH="./tmp" +LOCAL_SCHEMA_PATH="/schema" BRANCH_NAME="feat/sdks/support-versions" # Clone or update the repo From 5cc76bfe5f627d92178aa082529c54fb6d6c9269 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Fri, 3 Oct 2025 12:26:20 +0530 Subject: [PATCH 19/38] Update docker-compose.generate.yml --- docker-compose.generate.yml | 46 ++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index cc180b5..d283224 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -1,12 +1,12 @@ version: '3' services: - # generate_dotnet: - # build: - # context: . - # dockerfile: dotnet/Dockerfile.generate - # volumes: - # - ${SCHEMA}/v3:/schema - # - ./dotnet:/dotnet + generate_dotnet: + build: + context: . + dockerfile: dotnet/Dockerfile.generate + volumes: + - ${SCHEMA}/v3:/schema + - ./dotnet:/dotnet # generate_js: # build: # context: . @@ -23,22 +23,22 @@ services: - ${SCHEMA}/v2:/schema/v2 - ${SCHEMA}/v3:/schema/v3 - ./python:/python - # generate_java: - # build: - # context: . - # dockerfile: java/Dockerfile.generate - # volumes: - # - ${SCHEMA}/v1:/schema/v1 - # - ${SCHEMA}/v2:/schema/v2 - # - ${SCHEMA}/v3:/schema/v3 - # - ./java:/java - # generate_r: - # build: - # context: . - # dockerfile: r/Dockerfile.generate - # volumes: - # - ${SCHEMA}/v3:/schema - # - ./r:/r + generate_java: + build: + context: . + dockerfile: java/Dockerfile.generate + volumes: + - ${SCHEMA}/v1:/schema/v1 + - ${SCHEMA}/v2:/schema/v2 + - ${SCHEMA}/v3:/schema/v3 + - ./java:/java + generate_r: + build: + context: . + dockerfile: r/Dockerfile.generate + volumes: + - ${SCHEMA}/v3:/schema + - ./r:/r # generate_go: # build: # context: . From 9f9fcb3509b52529d8d7147af9103f1aa163f1e0 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Fri, 3 Oct 2025 12:37:01 +0530 Subject: [PATCH 20/38] Update Dockerfile.generate --- python/Dockerfile.generate | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/Dockerfile.generate b/python/Dockerfile.generate index d80281f..4db5039 100644 --- a/python/Dockerfile.generate +++ b/python/Dockerfile.generate @@ -6,7 +6,7 @@ LABEL org.label-schema.license="Apache-2.0" \ maintainer="analytics.api.support@factset.com" RUN apt-get update && \ - apt-get -y install unzip curl git && \ + apt-get -y install unzip git curl && \ rm -rf /var/lib/apt/lists/* ARG PROTOC_ZIP=protoc-3.19.4-linux-x86_64.zip From bf8d5b129a4f63fe5c45f3a977fec8725a50daf5 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Fri, 3 Oct 2025 13:15:45 +0530 Subject: [PATCH 21/38] Update Dockerfile.generate --- python/Dockerfile.generate | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/Dockerfile.generate b/python/Dockerfile.generate index 4db5039..dc7c453 100644 --- a/python/Dockerfile.generate +++ b/python/Dockerfile.generate @@ -1,5 +1,7 @@ FROM python:3.9-slim +ARG CACHE_BUST=1 + LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ org.label-schema.description="To generate Python Stach package" \ From 427e446820efb332c3e876b530c64dcbc8a32a48 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Fri, 3 Oct 2025 14:04:02 +0530 Subject: [PATCH 22/38] Update docker-compose.generate.yml --- docker-compose.generate.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index d283224..4eee208 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -18,6 +18,8 @@ services: build: context: . dockerfile: python/Dockerfile.generate + args: + - CACHE_BUST=${RANDOM} volumes: - ${SCHEMA}/v1:/schema/v1 - ${SCHEMA}/v2:/schema/v2 From 03b6c803da1c78712909edf1d852c52d7a73c7c2 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Mon, 6 Oct 2025 10:45:21 +0530 Subject: [PATCH 23/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 2cab451..32492c0 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -8,17 +8,17 @@ GIT_REPO_URL="https://github.com/factset/stachschema.git" LOCAL_SCHEMA_PATH="/schema" BRANCH_NAME="feat/sdks/support-versions" -# Clone or update the repo -if [ -d "$LOCAL_SCHEMA_PATH/.git" ]; then - git -C "$LOCAL_SCHEMA_PATH" pull origin "$BRANCH_NAME" - git -C "$LOCAL_SCHEMA_PATH" checkout "$BRANCH_NAME" -else - if [ -d "$LOCAL_SCHEMA_PATH" ]; then - echo "Directory $LOCAL_SCHEMA_PATH exists but is not a git repo. Removing..." - rm -rf "$LOCAL_SCHEMA_PATH" - fi - git clone -b "$BRANCH_NAME" "$GIT_REPO_URL" "$LOCAL_SCHEMA_PATH" -fi +# # Clone or update the repo +# if [ -d "$LOCAL_SCHEMA_PATH/.git" ]; then +# git -C "$LOCAL_SCHEMA_PATH" pull origin "$BRANCH_NAME" +# git -C "$LOCAL_SCHEMA_PATH" checkout "$BRANCH_NAME" +# else +# if [ -d "$LOCAL_SCHEMA_PATH" ]; then +# echo "Directory $LOCAL_SCHEMA_PATH exists but is not a git repo. Removing..." +# rm -rf "$LOCAL_SCHEMA_PATH" +# fi +# git clone -b "$BRANCH_NAME" "$GIT_REPO_URL" "$LOCAL_SCHEMA_PATH" +# fi SCHEMA_PATH="$LOCAL_SCHEMA_PATH/proto" # Location of Protobuf schema BASE_PATH_V3=../fds.protobuf.stach.v3 # Base location of Python generated classes From 556008e5eca00ae0a7e1306c44c94c1b9cfb64fa Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Mon, 6 Oct 2025 11:54:54 +0530 Subject: [PATCH 24/38] Update docker-compose.generate.yml --- docker-compose.generate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index 4eee208..3a3d892 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -19,7 +19,7 @@ services: context: . dockerfile: python/Dockerfile.generate args: - - CACHE_BUST=${RANDOM} + - CACHE_BUST=${BUILD_DATE:-$(date +%s)} volumes: - ${SCHEMA}/v1:/schema/v1 - ${SCHEMA}/v2:/schema/v2 From 923b29a8f82e12c4aae95ad8f5cfb0946612b45b Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Mon, 6 Oct 2025 13:02:01 +0530 Subject: [PATCH 25/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 32492c0..31dc021 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -1,26 +1,7 @@ #!/bin/bash set -e -export PATH="/usr/bin:$PATH" - -# --- Add these variables --- -GIT_REPO_URL="https://github.com/factset/stachschema.git" -LOCAL_SCHEMA_PATH="/schema" -BRANCH_NAME="feat/sdks/support-versions" - -# # Clone or update the repo -# if [ -d "$LOCAL_SCHEMA_PATH/.git" ]; then -# git -C "$LOCAL_SCHEMA_PATH" pull origin "$BRANCH_NAME" -# git -C "$LOCAL_SCHEMA_PATH" checkout "$BRANCH_NAME" -# else -# if [ -d "$LOCAL_SCHEMA_PATH" ]; then -# echo "Directory $LOCAL_SCHEMA_PATH exists but is not a git repo. Removing..." -# rm -rf "$LOCAL_SCHEMA_PATH" -# fi -# git clone -b "$BRANCH_NAME" "$GIT_REPO_URL" "$LOCAL_SCHEMA_PATH" -# fi - -SCHEMA_PATH="$LOCAL_SCHEMA_PATH/proto" # Location of Protobuf schema +SCHEMA_PATH="/schema" # Location of Protobuf schema BASE_PATH_V3=../fds.protobuf.stach.v3 # Base location of Python generated classes BASE_PATH_V2=../fds.protobuf.stach.v2 # Base location of Python generated classes PACKAGE_PATH_V3=v3/fds/protobuf/stach/v3 From 8831d960cac1810a7c3597206f9cf99bf844538b Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Mon, 6 Oct 2025 16:45:32 +0530 Subject: [PATCH 26/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 31dc021..0a9eb04 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -1,9 +1,9 @@ #!/bin/bash set -e -SCHEMA_PATH="/schema" # Location of Protobuf schema -BASE_PATH_V3=../fds.protobuf.stach.v3 # Base location of Python generated classes -BASE_PATH_V2=../fds.protobuf.stach.v2 # Base location of Python generated classes +SCHEMA_PATH=/schema # Location of Protobuf schema +BASE_PATH_V3=/python/fds.protobuf.stach.v3 # Base location of Python generated classes +BASE_PATH_V2=/python/fds.protobuf.stach.v2 # Base location of Python generated classes PACKAGE_PATH_V3=v3/fds/protobuf/stach/v3 PACKAGE_PATH_V2=v2/fds/protobuf/stach/v2 From 89b3943e916609ff76560fd5b156617fe16a20cd Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 7 Oct 2025 12:02:16 +0530 Subject: [PATCH 27/38] Update generate-sdk.sh --- python/CI/generate-sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 0a9eb04..0f0392f 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -14,14 +14,14 @@ rm -f $BASE_PATH_V3/$PACKAGE_PATH_V3/**/*_pb2.py mkdir -p "$BASE_PATH_V3" mkdir -p "$BASE_PATH_V2" -PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH_V3 -iname "*.proto") +PROTOFILES=$(find $SCHEMA_PATH/v3 -iname "*.proto") protoc --proto_path $SCHEMA_PATH/v3 --python_out $BASE_PATH_V3 $PROTOFILES for f in $(find $BASE_PATH_V3/fds/protobuf/stach/v3 -type d -maxdepth 10); do touch "$f/__init__.py" done; -PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH_V2 -iname "*.proto") +PROTOFILES=$(find $SCHEMA_PATH/v2 -iname "*.proto") protoc --proto_path $SCHEMA_PATH/v2 --python_out $BASE_PATH_V2 $PROTOFILES for f in $(find $BASE_PATH_V2/fds/protobuf/stach/v2 -type d -maxdepth 10); do From af84090cb9b1ed19fe49890dbf1204f4c111f525 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Thu, 9 Oct 2025 10:50:55 +0530 Subject: [PATCH 28/38] clean up --- docker-compose.generate.yml | 16 +++++++--------- python/Dockerfile.generate | 2 -- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index 3a3d892..b43e379 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -18,8 +18,6 @@ services: build: context: . dockerfile: python/Dockerfile.generate - args: - - CACHE_BUST=${BUILD_DATE:-$(date +%s)} volumes: - ${SCHEMA}/v1:/schema/v1 - ${SCHEMA}/v2:/schema/v2 @@ -41,10 +39,10 @@ services: volumes: - ${SCHEMA}/v3:/schema - ./r:/r - # generate_go: - # build: - # context: . - # dockerfile: go/Dockerfile.generate - # volumes: - # - ${SCHEMA}/v3:/schema - # - ./go:/golang + generate_go: + build: + context: . + dockerfile: go/Dockerfile.generate + volumes: + - ${SCHEMA}/v3:/schema + - ./go:/golang diff --git a/python/Dockerfile.generate b/python/Dockerfile.generate index dc7c453..4db5039 100644 --- a/python/Dockerfile.generate +++ b/python/Dockerfile.generate @@ -1,7 +1,5 @@ FROM python:3.9-slim -ARG CACHE_BUST=1 - LABEL org.label-schema.license="Apache-2.0" \ org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \ org.label-schema.description="To generate Python Stach package" \ From 93ce80b00438fa2dc660b6be0b7a1e761a78752c Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Thu, 9 Oct 2025 11:16:45 +0530 Subject: [PATCH 29/38] Update generate-sdk.sh --- go/CI/generate-sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/CI/generate-sdk.sh b/go/CI/generate-sdk.sh index 2a48496..fa64745 100755 --- a/go/CI/generate-sdk.sh +++ b/go/CI/generate-sdk.sh @@ -11,8 +11,8 @@ rm -f $BASE_PATH/$PACKAGE_PATH/**/*.pb.go echo Removed old generated code -PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH -iname "*.proto") -protoc --proto_path $SCHEMA_PATH --go_out paths=source_relative:$BASE_PATH $PROTOFILES +PROTOFILES=$(find $SCHEMA_PATH/v3 -iname "*.proto") +protoc --proto_path $SCHEMA_PATH/v3 --go_out paths=source_relative:$BASE_PATH $PROTOFILES cd $BASE_PATH/$PACKAGE_PATH go mod init github.com/factset/stachschema-sdks/go/fds/protobuf/stach/v3 From bc468aac4e40a7f47df59cc522aacf5e9ca47a46 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Thu, 9 Oct 2025 14:26:39 +0530 Subject: [PATCH 30/38] Update generate-sdk.sh --- go/CI/generate-sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/go/CI/generate-sdk.sh b/go/CI/generate-sdk.sh index fa64745..da9f196 100755 --- a/go/CI/generate-sdk.sh +++ b/go/CI/generate-sdk.sh @@ -11,8 +11,8 @@ rm -f $BASE_PATH/$PACKAGE_PATH/**/*.pb.go echo Removed old generated code -PROTOFILES=$(find $SCHEMA_PATH/v3 -iname "*.proto") -protoc --proto_path $SCHEMA_PATH/v3 --go_out paths=source_relative:$BASE_PATH $PROTOFILES +PROTOFILES=$(find $SCHEMA_PATH -iname "*.proto") +protoc --proto_path $SCHEMA_PATH --go_out paths=source_relative:$BASE_PATH $PROTOFILES cd $BASE_PATH/$PACKAGE_PATH go mod init github.com/factset/stachschema-sdks/go/fds/protobuf/stach/v3 From 23b57feadc589591279eb2acab3d6edd28e29d1a Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Thu, 9 Oct 2025 15:18:44 +0530 Subject: [PATCH 31/38] Update Dockerfile.generate --- go/Dockerfile.generate | 2 ++ 1 file changed, 2 insertions(+) diff --git a/go/Dockerfile.generate b/go/Dockerfile.generate index 9d8e582..25b8d8e 100644 --- a/go/Dockerfile.generate +++ b/go/Dockerfile.generate @@ -13,6 +13,8 @@ RUN unzip -o $PROTOC_ZIP -d /usr/local bin/protoc RUN unzip -o $PROTOC_ZIP -d /usr/local 'include/*' RUN rm -f $PROTOC_ZIP +RUN chmod +x /usr/local/bin/protoc + RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@latest ENTRYPOINT ["bash", "/golang/CI/generate-sdk.sh"] From a43e8220b0489ba89341b2bfb9e27b1195ee5923 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Fri, 10 Oct 2025 15:57:24 +0530 Subject: [PATCH 32/38] Update docker-compose.generate.yml --- docker-compose.generate.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docker-compose.generate.yml b/docker-compose.generate.yml index b43e379..d283224 100644 --- a/docker-compose.generate.yml +++ b/docker-compose.generate.yml @@ -39,10 +39,10 @@ services: volumes: - ${SCHEMA}/v3:/schema - ./r:/r - generate_go: - build: - context: . - dockerfile: go/Dockerfile.generate - volumes: - - ${SCHEMA}/v3:/schema - - ./go:/golang + # generate_go: + # build: + # context: . + # dockerfile: go/Dockerfile.generate + # volumes: + # - ${SCHEMA}/v3:/schema + # - ./go:/golang From 43c12e995e7fc4c26f40dd37678c8db84b755a84 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 14 Oct 2025 11:33:20 +0530 Subject: [PATCH 33/38] addressing review comments --- java/CI/generate-sdk.sh | 18 +++++++----------- python/CI/generate-sdk.sh | 4 ++-- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/java/CI/generate-sdk.sh b/java/CI/generate-sdk.sh index e850008..c5954e9 100755 --- a/java/CI/generate-sdk.sh +++ b/java/CI/generate-sdk.sh @@ -8,8 +8,9 @@ BASE_PATH_v1=/java/v1 BASE_PATH_v2=/java/v2 BASE_PATH_v3=/java/v3 -rm -f $BASE_PATH/**/*.java - +for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do + find $BASE/$PACKAGE_PATH -name "*.java" ! -name "NullValues.java" -delete +done mkdir --parent $BASE_PATH_v1/$PACKAGE_PATH mkdir --parent $BASE_PATH_v2/$PACKAGE_PATH @@ -20,18 +21,13 @@ echo Removed old generated code # cd $BASE_PATH # mvn clean install -q -P generate-stach-schema -f pom.xml -cd $BASE_PATH_v1 -mvn clean install -q -P generate-stach-schema -f pom.xml +mvn -f $BASE_PATH_v1/pom.xml clean install -q -P generate-stach-schema echo Generated java stach v1 files -cd ../.. -cd $BASE_PATH_v2 -mvn clean install -q -P generate-stach-schema -f pom.xml +mvn -f $BASE_PATH_v2/pom.xml clean install -q -P generate-stach-schema echo Generated java stach v2 files -cd ../.. -cd $BASE_PATH_v3 -mvn clean install -q -P generate-stach-schema -f pom.xml +mvn -f $BASE_PATH_v3/pom.xml clean install -q -P generate-stach-schema echo Generated java stach v3 files -echo Produced new generated code \ No newline at end of file +echo Produced new generated code diff --git a/python/CI/generate-sdk.sh b/python/CI/generate-sdk.sh index 0f0392f..0a9eb04 100755 --- a/python/CI/generate-sdk.sh +++ b/python/CI/generate-sdk.sh @@ -14,14 +14,14 @@ rm -f $BASE_PATH_V3/$PACKAGE_PATH_V3/**/*_pb2.py mkdir -p "$BASE_PATH_V3" mkdir -p "$BASE_PATH_V2" -PROTOFILES=$(find $SCHEMA_PATH/v3 -iname "*.proto") +PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH_V3 -iname "*.proto") protoc --proto_path $SCHEMA_PATH/v3 --python_out $BASE_PATH_V3 $PROTOFILES for f in $(find $BASE_PATH_V3/fds/protobuf/stach/v3 -type d -maxdepth 10); do touch "$f/__init__.py" done; -PROTOFILES=$(find $SCHEMA_PATH/v2 -iname "*.proto") +PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH_V2 -iname "*.proto") protoc --proto_path $SCHEMA_PATH/v2 --python_out $BASE_PATH_V2 $PROTOFILES for f in $(find $BASE_PATH_V2/fds/protobuf/stach/v2 -type d -maxdepth 10); do From 86ef37ce22828a1a81568af2af8356a0fcd33d20 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 14 Oct 2025 14:35:47 +0530 Subject: [PATCH 34/38] Update generate-sdk.sh --- java/CI/generate-sdk.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/java/CI/generate-sdk.sh b/java/CI/generate-sdk.sh index c5954e9..fc60d93 100755 --- a/java/CI/generate-sdk.sh +++ b/java/CI/generate-sdk.sh @@ -8,9 +8,7 @@ BASE_PATH_v1=/java/v1 BASE_PATH_v2=/java/v2 BASE_PATH_v3=/java/v3 -for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do - find $BASE/$PACKAGE_PATH -name "*.java" ! -name "NullValues.java" -delete -done +rm -f $BASE_PATH/$PACKAGE_PATH/**/*.java mkdir --parent $BASE_PATH_v1/$PACKAGE_PATH mkdir --parent $BASE_PATH_v2/$PACKAGE_PATH From 5f7dc93fbce128c22fc10d353a02b1d30097b461 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 14 Oct 2025 14:47:31 +0530 Subject: [PATCH 35/38] Update generate-sdk.sh --- java/CI/generate-sdk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/CI/generate-sdk.sh b/java/CI/generate-sdk.sh index fc60d93..05def6c 100755 --- a/java/CI/generate-sdk.sh +++ b/java/CI/generate-sdk.sh @@ -8,7 +8,7 @@ BASE_PATH_v1=/java/v1 BASE_PATH_v2=/java/v2 BASE_PATH_v3=/java/v3 -rm -f $BASE_PATH/$PACKAGE_PATH/**/*.java +rm -f $BASE_PATH/$PACKAGE_PATH/**/*Proto.java mkdir --parent $BASE_PATH_v1/$PACKAGE_PATH mkdir --parent $BASE_PATH_v2/$PACKAGE_PATH From 7f8f8e76b9d669b9257512cf9a9798cb6732bef4 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 14 Oct 2025 14:58:35 +0530 Subject: [PATCH 36/38] Update pom.xml --- java/v1/pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/v1/pom.xml b/java/v1/pom.xml index b675faf..d9b4ed6 100644 --- a/java/v1/pom.xml +++ b/java/v1/pom.xml @@ -106,6 +106,7 @@ true false src/main/java + false fds/**/*.proto google/**/*.proto @@ -166,4 +167,4 @@ ${version.protobuf} - \ No newline at end of file + From ac8822af478c5bac7d204eb3ecbdd5f85a3a9540 Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 14 Oct 2025 15:10:57 +0530 Subject: [PATCH 37/38] reverting pom changes and updating script --- java/CI/generate-sdk.sh | 15 +++++++++++++++ java/v1/pom.xml | 1 - 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/java/CI/generate-sdk.sh b/java/CI/generate-sdk.sh index 05def6c..748af9a 100755 --- a/java/CI/generate-sdk.sh +++ b/java/CI/generate-sdk.sh @@ -8,6 +8,13 @@ BASE_PATH_v1=/java/v1 BASE_PATH_v2=/java/v2 BASE_PATH_v3=/java/v3 +# Backup NullValues.java files before Maven runs +for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do + if [ -f "$BASE/$PACKAGE_PATH/NullValues.java" ]; then + cp "$BASE/$PACKAGE_PATH/NullValues.java" "/tmp/NullValues_$(basename $BASE).java" + fi +done + rm -f $BASE_PATH/$PACKAGE_PATH/**/*Proto.java mkdir --parent $BASE_PATH_v1/$PACKAGE_PATH @@ -29,3 +36,11 @@ mvn -f $BASE_PATH_v3/pom.xml clean install -q -P generate-stach-schema echo Generated java stach v3 files echo Produced new generated code + +# Restore NullValues.java files after Maven runs +for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do + if [ -f "/tmp/NullValues_$(basename $BASE).java" ]; then + cp "/tmp/NullValues_$(basename $BASE).java" "$BASE/$PACKAGE_PATH/NullValues.java" + rm "/tmp/NullValues_$(basename $BASE).java" + fi +done diff --git a/java/v1/pom.xml b/java/v1/pom.xml index d9b4ed6..e512894 100644 --- a/java/v1/pom.xml +++ b/java/v1/pom.xml @@ -106,7 +106,6 @@ true false src/main/java - false fds/**/*.proto google/**/*.proto From 47e3d507d5fbc2b7ca768737a2ab40e3f9dc59fb Mon Sep 17 00:00:00 2001 From: Akanksha Acharya Date: Tue, 14 Oct 2025 15:23:10 +0530 Subject: [PATCH 38/38] Update generate-sdk.sh --- java/CI/generate-sdk.sh | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/java/CI/generate-sdk.sh b/java/CI/generate-sdk.sh index 748af9a..cc356d4 100755 --- a/java/CI/generate-sdk.sh +++ b/java/CI/generate-sdk.sh @@ -8,10 +8,14 @@ BASE_PATH_v1=/java/v1 BASE_PATH_v2=/java/v2 BASE_PATH_v3=/java/v3 -# Backup NullValues.java files before Maven runs +# Backup section - store both file and its directory for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do - if [ -f "$BASE/$PACKAGE_PATH/NullValues.java" ]; then - cp "$BASE/$PACKAGE_PATH/NullValues.java" "/tmp/NullValues_$(basename $BASE).java" + NULLVALUES_FILE=$(find "$BASE/$PACKAGE_PATH" -name "NullValues.java" -type f | head -1) + if [ -n "$NULLVALUES_FILE" ]; then + cp "$NULLVALUES_FILE" "/tmp/NullValues_$(basename $BASE).java" + # Store the original directory path + echo "$(dirname "$NULLVALUES_FILE")" > "/tmp/NullValues_$(basename $BASE).dir" + echo "Backed up: $NULLVALUES_FILE" fi done @@ -37,10 +41,14 @@ echo Generated java stach v3 files echo Produced new generated code -# Restore NullValues.java files after Maven runs +# Restore section - use stored directory path for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do if [ -f "/tmp/NullValues_$(basename $BASE).java" ]; then - cp "/tmp/NullValues_$(basename $BASE).java" "$BASE/$PACKAGE_PATH/NullValues.java" + ORIGINAL_DIR=$(cat "/tmp/NullValues_$(basename $BASE).dir") + mkdir -p "$ORIGINAL_DIR" # Ensure directory exists + cp "/tmp/NullValues_$(basename $BASE).java" "$ORIGINAL_DIR/NullValues.java" rm "/tmp/NullValues_$(basename $BASE).java" + rm "/tmp/NullValues_$(basename $BASE).dir" + echo "Restored: $ORIGINAL_DIR/NullValues.java" fi done