Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2151692
support python v2
AkankshaAcharya Sep 22, 2025
7a0fa06
Update generate-sdk.sh
AkankshaAcharya Sep 22, 2025
f88e3d9
Update docker-compose.generate.yml
AkankshaAcharya Sep 25, 2025
af69cf0
commenting out golang
AkankshaAcharya Oct 1, 2025
d4c5afd
fix 404 error
AkankshaAcharya Oct 1, 2025
fc600cd
update dotnet scripts
AkankshaAcharya Oct 1, 2025
9c7294d
update java scripts
AkankshaAcharya Oct 1, 2025
eb3b8be
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
7d8154b
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
698c236
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
4910eb6
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
462d9c9
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
f3c56ee
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
b50b7f7
updating go scripts
AkankshaAcharya Oct 1, 2025
7dc888c
Update Dockerfile.generate
AkankshaAcharya Oct 1, 2025
e468996
Update docker-compose.generate.yml
AkankshaAcharya Oct 1, 2025
0342d97
Update generate-sdk.sh
AkankshaAcharya Oct 1, 2025
883e9b3
Update generate-sdk.sh
AkankshaAcharya Oct 3, 2025
5cc76bf
Update docker-compose.generate.yml
AkankshaAcharya Oct 3, 2025
9f9fcb3
Update Dockerfile.generate
AkankshaAcharya Oct 3, 2025
bf8d5b1
Update Dockerfile.generate
AkankshaAcharya Oct 3, 2025
427e446
Update docker-compose.generate.yml
AkankshaAcharya Oct 3, 2025
03b6c80
Update generate-sdk.sh
AkankshaAcharya Oct 6, 2025
556008e
Update docker-compose.generate.yml
AkankshaAcharya Oct 6, 2025
923b29a
Update generate-sdk.sh
AkankshaAcharya Oct 6, 2025
8831d96
Update generate-sdk.sh
AkankshaAcharya Oct 6, 2025
89b3943
Update generate-sdk.sh
AkankshaAcharya Oct 7, 2025
af84090
clean up
AkankshaAcharya Oct 9, 2025
93ce80b
Update generate-sdk.sh
AkankshaAcharya Oct 9, 2025
bc468aa
Update generate-sdk.sh
AkankshaAcharya Oct 9, 2025
23b57fe
Update Dockerfile.generate
AkankshaAcharya Oct 9, 2025
a43e822
Update docker-compose.generate.yml
AkankshaAcharya Oct 10, 2025
43c12e9
addressing review comments
AkankshaAcharya Oct 14, 2025
86ef37c
Update generate-sdk.sh
AkankshaAcharya Oct 14, 2025
5f7dc93
Update generate-sdk.sh
AkankshaAcharya Oct 14, 2025
7f8f8e7
Update pom.xml
AkankshaAcharya Oct 14, 2025
ac8822a
reverting pom changes and updating script
AkankshaAcharya Oct 14, 2025
47e3d50
Update generate-sdk.sh
AkankshaAcharya Oct 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 34 additions & 3 deletions .github/workflows/release-older-version-sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -68,4 +72,31 @@ jobs:
- name: Publish to Apache Maven Central
run: |
cd ${{ env.JAVA_SDK_LOCATION_v2 }}
mvn -Psign-artifacts verify deploy
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
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -21,4 +25,4 @@ js/.yarn/*
!js/.yarn/versions
.DS_Store
go/pkg/
artifacts
artifacts
18 changes: 10 additions & 8 deletions docker-compose.generate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -37,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
4 changes: 2 additions & 2 deletions dotnet/Dockerfile.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/core/sdk:2.2
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" \
Expand All @@ -9,4 +9,4 @@ COPY dotnet /src

RUN /src/CI/build-sdk.sh

ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"]
ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"]
2 changes: 1 addition & 1 deletion dotnet/Dockerfile.generate
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/dotnet/core/sdk:2.2
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" \
Expand Down
2 changes: 1 addition & 1 deletion go/CI/generate-sdk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ rm -f $BASE_PATH/$PACKAGE_PATH/**/*.pb.go

echo Removed old generated code

PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH -iname "*.proto")
PROTOFILES=$(find $SCHEMA_PATH -iname "*.proto")
protoc --proto_path $SCHEMA_PATH --go_out paths=source_relative:$BASE_PATH $PROTOFILES

cd $BASE_PATH/$PACKAGE_PATH
Expand Down
4 changes: 2 additions & 2 deletions go/Dockerfile.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.14.6
FROM golang:1.23

LABEL org.label-schema.license="Apache-2.0" \
org.label-schema.vcs-url="https://github.com/factset/stachschema-sdks" \
Expand All @@ -7,4 +7,4 @@ LABEL org.label-schema.license="Apache-2.0" \

COPY go /src

RUN /src/CI/build-sdk.sh
RUN /src/CI/build-sdk.sh
9 changes: 5 additions & 4 deletions go/Dockerfile.generate
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
FROM golang:1.14.6
FROM golang:1.23-alpine

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 Go Stach package" \
maintainer="[email protected]"

RUN apt-get update && \
apt-get -y install unzip
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
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 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"]
39 changes: 28 additions & 11 deletions java/CI/generate-sdk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,18 @@ BASE_PATH_v1=/java/v1
BASE_PATH_v2=/java/v2
BASE_PATH_v3=/java/v3

rm -f $BASE_PATH/**/*.java

# Backup section - store both file and its directory
for BASE in $BASE_PATH_v1 $BASE_PATH_v2 $BASE_PATH_v3; do
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

rm -f $BASE_PATH/$PACKAGE_PATH/**/*Proto.java

mkdir --parent $BASE_PATH_v1/$PACKAGE_PATH
mkdir --parent $BASE_PATH_v2/$PACKAGE_PATH
Expand All @@ -20,18 +30,25 @@ 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
echo Produced new generated code

# 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
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
4 changes: 2 additions & 2 deletions java/Dockerfile.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM maven:3.6.3-jdk-8
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" \
Expand All @@ -9,4 +9,4 @@ COPY java /src

RUN /src/CI/build-sdk.sh

ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"]
ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"]
4 changes: 2 additions & 2 deletions java/Dockerfile.generate
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM maven:3.6.3-jdk-8
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" \
org.label-schema.description="To generate Java Stach package" \
maintainer="[email protected]"

ENTRYPOINT ["bash", "/java/CI/generate-sdk.sh"]
ENTRYPOINT ["bash", "/java/CI/generate-sdk.sh"]
2 changes: 1 addition & 1 deletion java/v1/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,4 @@
<version>${version.protobuf}</version>
</dependency>
</dependencies>
</project>
</project>
29 changes: 20 additions & 9 deletions python/CI/generate-sdk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,30 @@
set -e

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
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

rm -f $BASE_PATH/$PACKAGE_PATH/**/*_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

echo Removed old generated code
mkdir -p "$BASE_PATH_V3"
mkdir -p "$BASE_PATH_V2"

PROTOFILES=$(find $SCHEMA_PATH/$PACKAGE_PATH -iname "*.proto")
protoc --proto_path $SCHEMA_PATH --python_out $BASE_PATH $PROTOFILES
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/fds/protobuf/stach/v3 -type d -maxdepth 10); do
cd "$f"
touch __init__.py
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
4 changes: 2 additions & 2 deletions python/Dockerfile.build
Original file line number Diff line number Diff line change
@@ -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" \
Expand All @@ -9,4 +9,4 @@ COPY python /src

RUN /src/CI/build-sdk.sh

ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"]
ENTRYPOINT ["bash", "/src/CI/extract-artifacts.sh"]
5 changes: 3 additions & 2 deletions python/Dockerfile.generate
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
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" \
org.label-schema.description="To generate Python Stach package" \
maintainer="[email protected]"

RUN apt-get update && \
apt-get -y install unzip
apt-get -y install unzip git 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
Expand Down
12 changes: 12 additions & 0 deletions python/fds.protobuf.stach.v2/setup.py
Original file line number Diff line number Diff line change
@@ -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='[email protected]',
license='Apache License 2.0',
install_requires=["protobuf>=3.19.4"],
packages=find_packages(),
zip_safe=False)
4 changes: 2 additions & 2 deletions python/fds.protobuf.stach.v3/setup.py
Original file line number Diff line number Diff line change
@@ -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='[email protected]',
license='Apache License 2.0',
install_requires=["protobuf==3.19.4"],
install_requires=["protobuf>=3.19.4"],
packages=find_packages(),
zip_safe=False)