Skip to content

Updated API from documentation release #21

Updated API from documentation release

Updated API from documentation release #21

Workflow file for this run

on:
push:
paths:
- 'api-specs/**'
workflow_dispatch:
name: "SDK Generator Java"
jobs:
java:
name: "Generate Java SDK"
runs-on: ubuntu-latest
steps:
- name: 'Setup Java'
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: '16'
- name: "Checkout api reference"
uses: actions/checkout@v3
with:
path: commercetools-api-reference
- name: "Checkout Java SDK"
uses: actions/checkout@v3
with:
repository: 'commercetools/commercetools-sdk-java-v2'
path: commercetools-sdk-java-v2
ssh-key: ${{ secrets.JAVA_SDK_DEPLOY_KEY }}
- name: "Switch SDK to update branch"
if: github.ref == 'refs/heads/main'
run: |
git fetch --depth=1 origin gen-sdk-updates || true
git checkout -B gen-sdk-updates origin/gen-sdk-updates || true
git checkout -B gen-sdk-updates
git log -1
working-directory: commercetools-sdk-java-v2
- name: "Switch SDK to update branch"
if: github.ref != 'refs/heads/main'
run: |
git fetch --depth=1 origin ${{ github.ref_name }} || true
git checkout -B gen-sdk-updates origin/${{ github.ref_name }} || true
git checkout -B ${{ github.ref_name }}
git log -1
working-directory: commercetools-sdk-java-v2
- name: "Apply Java SDK mixin"
run: |
cp commercetools-sdk-java-v2/api-java-mixin.raml commercetools-api-reference/api-specs/api/java-mixin.raml
- name: "Update GraphQL schema"
run: |
cp commercetools-api-reference/api-specs/graphql/schema.sdl commercetools-sdk-java-v2/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls
sed -i 's/^type Query implements.*/type Query {/' commercetools-sdk-java-v2/commercetools/commercetools-graphql-api/src/main/resources/graphql/schema.graphqls
- name: "Generate Java SDK"
run: sudo chmod 777 /usr/local/bin && make build
working-directory: commercetools-sdk-java-v2
env:
RAML_FILE: "../commercetools-api-reference/api-specs/api/api.raml"
API_RAML: "../commercetools-api-reference/api-specs/api/java-mixin.raml"
IMPORT_RAML: "../commercetools-api-reference/api-specs/importapi/api.raml"
ML_RAML: "../commercetools-api-reference/api-specs/ml/api.raml"
HISTORY_RAML: "../commercetools-api-reference/api-specs/history/api.raml"
- name: "Checkout previous api reference"
uses: actions/checkout@v3
with:
fetch-depth: 0
path: commercetools-api-reference-previous
- name: "Store api reference version"
run: |
if [ ! -f ../commercetools-sdk-java-v2/reference.txt ]; then
git log --format='%H' --no-merges -n 1 --skip 1 > ../commercetools-sdk-java-v2/reference.txt
fi
echo "${{ github.sha}}" >> ../commercetools-sdk-java-v2/references.txt
echo "previous=$(cat ../commercetools-sdk-java-v2/reference.txt | head -n 1)" >> $GITHUB_ENV
working-directory: commercetools-api-reference-previous
- name: "Switch to previous commit"
run: git checkout ${{ env.previous }}
working-directory: commercetools-api-reference-previous
- name: "Apply Java SDK mixin"
run: |
cp commercetools-sdk-java-v2/api-java-mixin.raml commercetools-api-reference-previous/api-specs/api/java-mixin.raml
- name: "Calculate diff (API)"
run: rmf-codegen diff -f JAVA_MARKDOWN -o ./changes_api.md commercetools-api-reference-previous/api-specs/api/java-mixin.raml commercetools-api-reference/api-specs/api/java-mixin.raml
- name: "Calculate diff (Import API)"
run: rmf-codegen diff -f JAVA_MARKDOWN -o ./changes_import.md commercetools-api-reference-previous/api-specs/importapi/api.raml commercetools-api-reference/api-specs/importapi/api.raml
- name: "Calculate diff (History)"
run: rmf-codegen diff -f JAVA_MARKDOWN -o ./changes_history.md commercetools-api-reference-previous/api-specs/history/api.raml commercetools-api-reference/api-specs/history/api.raml
- name: "Calculate diff (ML)"
run: rmf-codegen diff -f JAVA_MARKDOWN -o ./changes_ml.md commercetools-api-reference-previous/api-specs/ml/api.raml commercetools-api-reference/api-specs/ml/api.raml
- name: 'Create change file'
run: |
if [ -f ./changes_api.md ]; then
echo "**Api changes**" >> ./changes.md
echo "" >> ./changes.md
cat ./changes_api.md >> ./changes.md
echo "" >> ./changes.md
fi
if [ -f ./changes_import.md ]; then
echo "**Import changes**" >> ./changes.md
echo "" >> ./changes.md
cat ./changes_import.md >> ./changes.md
echo "" >> ./changes.md
fi
if [ -f ./changes_history.md ]; then
echo "**History changes**" >> ./changes.md
echo "" >> ./changes.md
cat ./changes_history.md >> ./changes.md
echo "" >> ./changes.md
fi
if [ -f ./changes_ml.md ]; then
echo "**ML changes**" >> ./changes.md
echo "" >> ./changes.md
cat ./changes_ml.md >> ./changes.md
echo "" >> ./changes.md
fi
if [ -f ./changes.md ]; then
cat ./changes.md
cp ./changes.md ./commercetools-sdk-java-v2/changes.md
fi
- name: "check pending changes"
run: echo "CHANGES_PENDING=`git status --porcelain -- ':(exclude)*gen.properties' | grep -c ^`" >> $GITHUB_ENV
working-directory: commercetools-sdk-java-v2
- uses: stefanzweifel/git-auto-commit-action@v4
if: env.CHANGES_PENDING != '0' && github.ref == 'refs/heads/main'
with:
repository: commercetools-sdk-java-v2
branch: gen-sdk-updates
commit_message: "TASK: Updating SDK"
commit_user_name: Auto Mation
commit_user_email: [email protected]
commit_author: Auto Mation <[email protected]>
- uses: stefanzweifel/git-auto-commit-action@v4
if: github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main'
with:
repository: commercetools-sdk-java-v2
branch: ${{ github.ref_name }}
commit_message: "TASK: Updating SDK"
commit_user_name: Auto Mation
commit_user_email: [email protected]
commit_author: Auto Mation <[email protected]>