github.com/dolthub/go-mysql-server@v0.18.0/format_repo.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2020-2021 Dolthub, Inc.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #     http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  set -eo pipefail
    18  
    19  paths=`find . -maxdepth 1 -mindepth 1 \( -name gen -prune -o -type d -print -o -type f -name '*.go' -print \)`
    20  
    21  goimports -w -local github.com/dolthub/go-mysql-server $paths
    22  
    23  bad_files=$(find $paths -name '*.go' | while read f; do
    24      if [[ $(awk '/import \(/{flag=1;next}/\)/{flag=0}flag' < $f | egrep -c '$^') -gt 2 ]]; then
    25          echo $f
    26      fi
    27  done)
    28  
    29  if [ "$bad_files" != "" ]; then
    30      for f in $bad_files; do
    31          awk '/import \(/{flag=1}/\)/{flag=0}flag&&!/^$/||!flag' < "$f" > "$f.bak"
    32          mv "$f.bak" "$f"
    33      done
    34      goimports -w -local github.com/dolthub/go-mysql-server .
    35  fi