github.com/rzurga/go-swagger@v0.28.1-0.20211109195225-5d1f453ffa3a/fixtures/bugs/1683/gen-fixtures.sh (about) 1 #! /bin/bash 2 # Verifies consistent generation, for client, server and models 3 # of a simple spec with various target packages params. 4 set -euxo pipefail 5 testcases="fixture-1683.yaml" 6 7 allTargets="target target-withDash target/subDir target-test target/sub1/sub2" 8 #for dir in ${allTargets}; do 9 # rm -rf ${dir}* 10 #done 11 rm -rf codegen* 12 13 #targetDirs=${allTargets} 14 targetDirs="target" 15 #modelPkgs="mabc" 16 modelPkgs="mabc mabc/msubdir mabc-dashed mabc-dashed/msubdir mabc/sub1/msub2 mabc-test" 17 #serverPkgs="sabc" 18 serverPkgs="sabc sabc/ssubdir sabc-dashed sabc-dashed/ssubdir sabc/sub1/ssub2 sabc-test" 19 #clientPkgs="cabc" 20 clientPkgs="cabc cabc/csubdir cabc-dashed cabc-dashed/csubdir cabc/sub1/csub2 cabc-test" 21 #apiPkgs="aabc" 22 apiPkgs="aabc aabc/asubdir aabc-dashed aabc-dashed/asubdir aabc/sub1/asub2 aabc-test" 23 serverNames="nrcodegen" 24 #serverNames="nrcodegen nrcodegen-test nrcodegen_underscored" #no slashes to support here 25 26 opts="" 27 t=0 28 for spec in ${testcases} ; do 29 log=${spec%.*}.log 30 for target in ${targetDirs} ; do 31 let t=t+1 32 target="codegen${t}/${target}" 33 echo "Testing target: ${target}" 34 i=0 35 for modelPkg in "" ${modelPkgs} ; do 36 echo "Testing model package: ${modelPkg:-models}" 37 let i=i+1 38 tg=${target}${i} 39 rm -rf ${tg} && mkdir -p ${tg} 40 cmd="swagger generate model --skip-validation ${opts} --spec=${spec} --model-package=${modelPkg:-models} --target=${tg}" 41 echo ${cmd} > ${tg}/README.md 42 ${cmd} 1>${tg}/${log} 2>&1 43 gen=${tg}/${modelPkg:-models} 44 path=`dirname ${gen}` 45 base=`basename ${gen}` 46 base=`echo ${base}|tr '-' '_'` 47 gen=${path}/${base} 48 (cd ${gen}; go build && echo "Model OK") 49 50 for serverPkg in "" ${serverPkgs} ; do 51 echo "Testing server package: ${serverPkg:-restapi}" 52 for serverName in ${serverNames} ; do 53 for apiPkg in "" ${apiPkgs} ; do 54 echo "Testing API package: ${apiPkg:-operations}" 55 let i=i+1 56 tg=${target}${i} 57 rm -rf ${tg} && mkdir -p ${tg} 58 cmd="swagger generate server --skip-validation ${opts} --spec=${spec} --model-package=${modelPkg:-models} --server-package=${serverPkg:-restapi} --api-package=${apiPkg:-operations} --target=${tg} --name=${serverName}" 59 echo ${cmd} > ${tg}/README.md 60 ${cmd} 1>${tg}/${log} 2>&1 61 newName=$(echo ${serverName}|sed 's/-*test$//'|tr '_' '-') 62 (cd ${tg}/cmd/${newName}"-server"; go build && echo "Server OK") 63 done 64 done 65 done 66 67 for clientPkg in "" ${clientPkgs} ; do 68 echo "Testing client package: ${clientPkg:-client}" 69 let i=i+1 70 tg=${target}${i} 71 rm -rf ${tg} && mkdir -p ${tg} 72 cmd="swagger generate client --skip-validation ${opts} --spec=${spec} --model-package=${modelPkg:-models} --client-package=${clientPkg:-client} --target=${tg} --name=${serverName}" 73 echo ${cmd} > ${tg}/README.md 74 ${cmd} 1>${tg}/${log} 2>&1 75 gen=${tg}/${clientPkg:-client} 76 path=`dirname ${gen}` 77 base=`basename ${gen}` 78 base=`echo ${base}|tr '-' '_'` 79 gen=${path}/${base} 80 (cd ${gen} ; go build && echo "Client OK") 81 done 82 done 83 done 84 done