github.com/tada-team/tdproto@v1.51.57/codegen/make-dart.sh (about)

     1  #!/bin/bash
     2  set -euo pipefail
     3  shopt -s extdebug dotglob
     4  IFS=$'\n\t'
     5  
     6  # Setup command line arguments
     7  TEMP=$(getopt --options 'bf' --long 'no-build,no-format' --name "make-dart.bash" -- "$@")
     8  
     9  eval set -- "$TEMP"
    10  unset TEMP
    11  
    12  RUN_BUILD=true
    13  RUN_FORMAT=true
    14  
    15  while true; do
    16      case "$1" in
    17          '-b'|'--no-build')
    18              RUN_BUILD=false
    19              shift
    20              continue
    21          ;;
    22          '-f'|'--no-format')
    23              RUN_FORMAT=false
    24              shift
    25              continue
    26          ;;
    27          '--')
    28              shift
    29              break
    30          ;;
    31          *)
    32              echo 'Internal error!' >&2
    33              exit 1
    34          ;;
    35      esac
    36  done
    37  
    38  if [ 1 -ne "${#}" ]; then
    39      echo "Wrong number of arguments. Should pass only 1 which is the dart library folder." >&2
    40      exit 1
    41  fi
    42  
    43  DART_LIB_FOLDER="$1"
    44  
    45  if [ ! -d $DART_LIB_FOLDER ]; then
    46      echo "$DART_LIB_FOLDER is not a folder" >&2
    47      exit 1
    48  fi
    49  
    50  DART_LIB_FOLDER="$(readlink --canonicalize $DART_LIB_FOLDER)"
    51  
    52  LIB_ENUMS_PATH="${DART_LIB_FOLDER}/lib/src/enums"
    53  LIB_MODELS_PATH="${DART_LIB_FOLDER}/lib/src/models"
    54  LIB_FILE_PATH="${DART_LIB_FOLDER}/lib/tdproto_dart.dart"
    55  
    56  LIB_TEMPLATE_DIR="./dart/lib_template"
    57  
    58  cp -r "$LIB_TEMPLATE_DIR"/* "$DART_LIB_FOLDER"
    59  
    60  if [ -d "$LIB_ENUMS_PATH" ]; then rm -r "$LIB_ENUMS_PATH"; fi
    61  if [ -d "$LIB_MODELS_PATH" ]; then rm -r "$LIB_MODELS_PATH"; fi
    62  if [ -f "$LIB_FILE_PATH" ]; then rm "$LIB_FILE_PATH"; fi
    63  
    64  if [ -d "${DART_LIB_FOLDER}/.git" ]; then git -C "${DART_LIB_FOLDER}" rm --cached -r . ; fi
    65  
    66  go run "./dart" "$DART_LIB_FOLDER"
    67  
    68  cd "$DART_LIB_FOLDER"
    69  
    70  if [ "$RUN_BUILD" = true ]; then
    71      flutter pub get
    72      flutter packages pub run build_runner build --delete-conflicting-outputs
    73  fi
    74  #if [ "$RUN_FORMAT" = true ]; then
    75  #    dartfmt -l 120 -w .
    76  #fi