github.com/kaisawind/go-swagger@v0.19.0/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