Loading tools/HOWTO +19 −3 Original line number Diff line number Diff line cd ~/AdvantEDGE/tools # swagger code generator wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen/3.0.29/swagger-codegen-3.0.29.jar cd ~/AdvantEDGE/ # Java docker machine docker pull gizmotronic/oracle-java8 docker run -it --rm -v `pwd`:/opt/local/etsi gizmotronic/oracle-java8 /bin/bash # Using command line cd /opt/local/etsi java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate -h java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/swagger-temlates/templates/go-server/ -i ./go-apps/meep-dai/api/swagger.yaml -l go-server -o ./out/go-server Loading @@ -12,3 +16,15 @@ java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/ java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/swagger-temlates/templates/go/ -i ./examples/demo4-ue/src/demo-server/backend/api/swagger.yaml -l go -o ./out/demo-server java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/swagger-temlates/templates/go/ -i ./examples/demo4-ue/src/onboarded-demo/api/swagger.yaml -l go -o ./out/onboarded-demo chown -R 1000:1000 ./out # using script with required MEC xxx already cloned: # gs011-app-enablement-api # gs012-rnis-api # gs013-location-api # gs014-ue-identity-api # gs015-bandwith-mgmt-api # gs016-dev-app-api # gs028-wai-api # gs030-vis-api docker run -it --rm -v `pwd`:/opt/local/etsi gizmotronic/oracle-java8 /bin/bash -c "cd /opt/local/etsi && ./generate_stub.sh" tools/generate_stub.sh 0 → 100755 +107 −0 Original line number Diff line number Diff line #!/bin/bash #set -e set -vx ################# Functions ########################### # Do alignment for AdvantEDGE update function advantedge_aligner() { CUR_DIR=`pwd` cd $CUR_DIR/$OUT/$CMD_LANG_SERVER_GOLANG for dir in $PROJECTS do cd $CUR_DIR/$OUT/$CMD_LANG_SERVER_GOLANG/$dir if [ -d go ] then mv go server cd server for f in `ls *.go` do sed --in-place 's/package swagger/package server/g' $f done fi done cd $CUR_DIR/$OUT/$CMD_LANG_CLIENT_GOLANG for dir in $PROJECTS do cd $CUR_DIR/$OUT/$CMD_LANG_CLIENT_GOLANG/$dir for f in `ls *.go` do sed --in-place 's/package swagger/package client/g' $f done done } # Generate client/server stubs function generate_stub() { # Process all MEC APIs for dir in $PROJECTS do # Update folder cd $dir git checkout . git pull --rebase=true cd - # Acquire full YAML file name IN_FILE=`ls ${dir}/*.yaml` for f in $IN_FILE do # Downgrade file downgrade_open_api_file $f $JAVA_CMD --api-package ${JAVA_PACKAGE_SERVER} -l $CMD_LANG_SERVER_GOLANG -i ./$f -o $OUT/$CMD_LANG_SERVER_GOLANG/$dir/`basename $f .yaml` $JAVA_CMD --api-package ${JAVA_PACKAGE_CLIENT_GOLANG} -l $CMD_LANG_CLIENT_GOLANG -i ./$f -o $OUT/$CMD_LANG_CLIENT_GOLANG/$dir/`basename $f .yaml` $JAVA_CMD --api-package ${JAVA_PACKAGE_CLIENT_PYTHON} -l $CMD_LANG_CLIENT_PYTHON -i ./$f -o $OUT/$CMD_LANG_CLIENT_PYTHON/$dir/`basename $f .yaml` done done # Set output rights chown -R 1000:1000 $OUT } # Downgrade OpenAPI file function downgrade_open_api_file() { PARAM=$1 sed --in-place 's/3\.1\.0/3\.0\.0/g' $PARAM sed --in-place 's/localhost/localhost\/sandboxname/g' $PARAM sed --in-place 's/examples/example/g' $PARAM sed --in-place '/contentMediaType/d' $PARAM sed --in-place '/jsonSchemaDialect/d' $PARAM sed --in-place '/contentEncoding/d' $PARAM } ################# Starting point ########################### clear # Install git not present in the gizmotronic/oracle-java8 image apt-get update apt install -y git # Setup variables PROJECTS=`ls -d gs*` JAVA_CMD='java -jar ./swagger-codegen-cli-3.0.29.jar generate' TEMPLATE_PATH=./swagger-temlates/templates CMD_TEMPLATE_SERVER=go-server CMD_TEMPLATE_CLIENT_GOLANG=go CMD_TEMPLATE_CLIENT_PYTHON=python JAVA_PACKAGE_SERVER=${TEMPLATE_PATH}/${CMD_TEMPLATE_SERVER}/ JAVA_PACKAGE_CLIENT_GOLANG=${TEMPLATE_PATH}/${CMD_TEMPLATE_CLIENT_GOLANG}/ JAVA_PACKAGE_CLIENT_PYTHON=${TEMPLATE_PATH}/${CMD_TEMPLATE_CLIENT_PYTHON}/ CMD_LANG_SERVER_GOLANG=go-server CMD_LANG_CLIENT_GOLANG=go CMD_LANG_CLIENT_PYTHON=python OUT=./out # Create empty output folder if [ -d $OUT ] then rm -fr $OUT fi mkdir -p $OUT generate_stub advantedge_aligner exit 0 Loading
tools/HOWTO +19 −3 Original line number Diff line number Diff line cd ~/AdvantEDGE/tools # swagger code generator wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen/3.0.29/swagger-codegen-3.0.29.jar cd ~/AdvantEDGE/ # Java docker machine docker pull gizmotronic/oracle-java8 docker run -it --rm -v `pwd`:/opt/local/etsi gizmotronic/oracle-java8 /bin/bash # Using command line cd /opt/local/etsi java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate -h java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/swagger-temlates/templates/go-server/ -i ./go-apps/meep-dai/api/swagger.yaml -l go-server -o ./out/go-server Loading @@ -12,3 +16,15 @@ java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/ java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/swagger-temlates/templates/go/ -i ./examples/demo4-ue/src/demo-server/backend/api/swagger.yaml -l go -o ./out/demo-server java -jar ./tools/swagger-codegen-cli-3.0.29.jar generate --api-package ./tools/swagger-temlates/templates/go/ -i ./examples/demo4-ue/src/onboarded-demo/api/swagger.yaml -l go -o ./out/onboarded-demo chown -R 1000:1000 ./out # using script with required MEC xxx already cloned: # gs011-app-enablement-api # gs012-rnis-api # gs013-location-api # gs014-ue-identity-api # gs015-bandwith-mgmt-api # gs016-dev-app-api # gs028-wai-api # gs030-vis-api docker run -it --rm -v `pwd`:/opt/local/etsi gizmotronic/oracle-java8 /bin/bash -c "cd /opt/local/etsi && ./generate_stub.sh"
tools/generate_stub.sh 0 → 100755 +107 −0 Original line number Diff line number Diff line #!/bin/bash #set -e set -vx ################# Functions ########################### # Do alignment for AdvantEDGE update function advantedge_aligner() { CUR_DIR=`pwd` cd $CUR_DIR/$OUT/$CMD_LANG_SERVER_GOLANG for dir in $PROJECTS do cd $CUR_DIR/$OUT/$CMD_LANG_SERVER_GOLANG/$dir if [ -d go ] then mv go server cd server for f in `ls *.go` do sed --in-place 's/package swagger/package server/g' $f done fi done cd $CUR_DIR/$OUT/$CMD_LANG_CLIENT_GOLANG for dir in $PROJECTS do cd $CUR_DIR/$OUT/$CMD_LANG_CLIENT_GOLANG/$dir for f in `ls *.go` do sed --in-place 's/package swagger/package client/g' $f done done } # Generate client/server stubs function generate_stub() { # Process all MEC APIs for dir in $PROJECTS do # Update folder cd $dir git checkout . git pull --rebase=true cd - # Acquire full YAML file name IN_FILE=`ls ${dir}/*.yaml` for f in $IN_FILE do # Downgrade file downgrade_open_api_file $f $JAVA_CMD --api-package ${JAVA_PACKAGE_SERVER} -l $CMD_LANG_SERVER_GOLANG -i ./$f -o $OUT/$CMD_LANG_SERVER_GOLANG/$dir/`basename $f .yaml` $JAVA_CMD --api-package ${JAVA_PACKAGE_CLIENT_GOLANG} -l $CMD_LANG_CLIENT_GOLANG -i ./$f -o $OUT/$CMD_LANG_CLIENT_GOLANG/$dir/`basename $f .yaml` $JAVA_CMD --api-package ${JAVA_PACKAGE_CLIENT_PYTHON} -l $CMD_LANG_CLIENT_PYTHON -i ./$f -o $OUT/$CMD_LANG_CLIENT_PYTHON/$dir/`basename $f .yaml` done done # Set output rights chown -R 1000:1000 $OUT } # Downgrade OpenAPI file function downgrade_open_api_file() { PARAM=$1 sed --in-place 's/3\.1\.0/3\.0\.0/g' $PARAM sed --in-place 's/localhost/localhost\/sandboxname/g' $PARAM sed --in-place 's/examples/example/g' $PARAM sed --in-place '/contentMediaType/d' $PARAM sed --in-place '/jsonSchemaDialect/d' $PARAM sed --in-place '/contentEncoding/d' $PARAM } ################# Starting point ########################### clear # Install git not present in the gizmotronic/oracle-java8 image apt-get update apt install -y git # Setup variables PROJECTS=`ls -d gs*` JAVA_CMD='java -jar ./swagger-codegen-cli-3.0.29.jar generate' TEMPLATE_PATH=./swagger-temlates/templates CMD_TEMPLATE_SERVER=go-server CMD_TEMPLATE_CLIENT_GOLANG=go CMD_TEMPLATE_CLIENT_PYTHON=python JAVA_PACKAGE_SERVER=${TEMPLATE_PATH}/${CMD_TEMPLATE_SERVER}/ JAVA_PACKAGE_CLIENT_GOLANG=${TEMPLATE_PATH}/${CMD_TEMPLATE_CLIENT_GOLANG}/ JAVA_PACKAGE_CLIENT_PYTHON=${TEMPLATE_PATH}/${CMD_TEMPLATE_CLIENT_PYTHON}/ CMD_LANG_SERVER_GOLANG=go-server CMD_LANG_CLIENT_GOLANG=go CMD_LANG_CLIENT_PYTHON=python OUT=./out # Create empty output folder if [ -d $OUT ] then rm -fr $OUT fi mkdir -p $OUT generate_stub advantedge_aligner exit 0