github.com/rzurga/go-swagger@v0.28.1-0.20211109195225-5d1f453ffa3a/fixtures/bugs/1392/gen-fixtures.sh (about) 1 #! /bin/bash 2 if [[ ${1} == "--clean" ]] ; then 3 clean=1 4 fi 5 # A small utility to build fixture servers 6 # Fixtures with models only 7 testcases="fixture-1392-1.yaml fixture-1392-2.yaml fixture-1392-3.yaml fixture-1392-4.yaml fixture-1392-5.yaml" 8 for testcase in ${testcases} ; do 9 target=./gen-${testcase%.*} 10 spec=./${testcase} 11 serverName="codegensrv" 12 rm -rf ${target} 13 mkdir ${target} 14 echo "Generation for ${spec}" 15 swagger generate server --spec ${spec} --name=${serverName} --target ${target} --output=${testcase%.*}.log 16 # 1>x.log 2>&1 17 # 18 if [[ $? != 0 ]] ; then 19 echo "Generation failed for ${spec}" 20 exit 1 21 fi 22 echo "${spec}: Generation OK" 23 if [[ ! -d ${target}/models ]] ; then 24 echo "No model in this spec! Skipped" 25 else 26 echo "Building model package" 27 (cd ${target}/models; go build) 28 if [[ $? != 0 ]] ; then 29 echo "Model build failed for ${spec}" 30 failed=1 31 fi 32 33 echo "Build server" 34 (cd ${target}/cmd/${serverName}"-server"; go build) 35 if [[ $? != 0 ]] ; then 36 echo "Server build failed for ${spec}" 37 failed=1 38 fi 39 if [[ ${failed} == 1 ]] ; then 40 echo "Continue..." 41 #exit 1 42 else 43 echo "${spec}: Build OK" 44 if [[ -n ${clean} ]] ; then 45 rm -rf ${target} 46 fi 47 fi 48 fi 49 done 50 # Non reg codegen 51 # NOTE(fredbi): 52 # - azure: invalid spec 53 # - bitbucket: model does not compile 54 # - issue72: invalid spec 55 # - todolist.discriminator: known issue with schemavalidator 56 testcases=`cd ../../codegen;ls -1|grep -vE 'azure|bitbucket|existing-model|issue72|todolist.simple.yml'` 57 for testcase in ${testcases} ; do 58 target=./gen-${testcase%.*} 59 if [[ -f ../../codegen/${testcase} ]] ; then 60 spec=../../codegen/${testcase} 61 else 62 spec=${testcase} 63 fi 64 serverName="nrcodegen" 65 rm -rf ${target} 66 mkdir ${target} 67 echo "Generation for ${spec}" 68 swagger generate server --skip-validation --spec ${spec} --target ${target} --name=${serverName} --output=${testcase%.*}.log 69 if [[ $? != 0 ]] ; then 70 echo "Generation failed for ${spec}" 71 exit 1 72 fi 73 echo "${spec}: Generation OK" 74 (cd ${target}/cmd/${serverName}"-server"; go build) 75 if [[ $? != 0 ]] ; then 76 echo "Build failed for ${spec}" 77 exit 1 78 fi 79 echo "${spec}: Build OK" 80 if [[ -n ${clean} ]] ; then 81 rm -rf ${target} 82 fi 83 done 84 # 85 testcases= 86 for testcase in ${testcases} ; do 87 target=./gen-${testcase%.*} 88 spec=./${testcase} 89 serverName="bugfix" 90 rm -rf ${target} 91 mkdir ${target} 92 echo "Generation for ${spec}" 93 swagger generate server --spec ${spec} --target ${target} --quiet --name=${serverName} 94 if [[ $? != 0 ]] ; then 95 echo "Generation failed for ${spec}" 96 exit 1 97 fi 98 echo "${spec}: Generation OK" 99 (cd ${target}/cmd/${serverName}"-server"; go build) 100 if [[ $? != 0 ]] ; then 101 echo "Build failed for ${spec}" 102 exit 1 103 fi 104 echo "${spec}: Build OK" 105 if [[ -n ${clean} ]] ; then 106 rm -rf ${target} 107 fi 108 done