github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/scripts/swagger.sh (about)

     1  #!/bin/bash -e
     2  
     3  # Copyright hechain All Rights Reserved.
     4  #
     5  # SPDX-License-Identifier: Apache-2.0
     6  
     7  fabric_dir="$(cd "$(dirname "$0")/.." && pwd)"
     8  swagger_tags="${fabric_dir}/swagger/tags.json"
     9  swagger_doc="${fabric_dir}/swagger/swagger-fabric.json"
    10  
    11  check_spec() {
    12      swagger_doc_check="${fabric_dir}/swagger/swagger-fabric-check.json"
    13      swagger generate spec -o "$swagger_doc_check" --scan-models --exclude-deps --input "$swagger_tags"
    14      if [ -n "$(diff "$swagger_doc_check" "$swagger_doc")" ]; then
    15          echo "The Fabric swagger is out of date."
    16          echo "Please run '$0 generate' to update the swagger."
    17          rm "$swagger_doc_check"
    18          exit 1
    19      fi
    20      rm "$swagger_doc_check"
    21  }
    22  
    23  case "$1" in
    24      # check if the swagger is up to date with the swagger
    25      # options in the tree
    26      "check")
    27          check_spec
    28      ;;
    29  
    30      # generate the swagger
    31      "generate")
    32          swagger generate spec -o "$swagger_doc" --scan-models --exclude-deps --input "$swagger_tags"
    33      ;;
    34  
    35      *)
    36          echo "Please specify check or generate"
    37          exit 1
    38      ;;
    39  esac
    40