github.com/RedHatInsights/insights-content-service@v1.0.0/golint.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2020, 2021 Red Hat, 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  BLUE=$(tput setaf 4)
    18  RED_BG=$(tput setab 1)
    19  GREEN_BG=$(tput setab 2)
    20  NC=$(tput sgr0) # No Color
    21  
    22  echo -e "${BLUE}Running linter for Go source code${NC}"
    23  
    24  cd "$(dirname "$0")" || exit
    25  
    26  if ! [ -x "$(command -v golint)" ]
    27  then
    28      echo -e "${BLUE}Installing golint${NC}"
    29      GO111MODULE=off go get golang.org/x/lint/golint 2> /dev/null
    30  fi
    31  
    32  # shellcheck disable=SC2046
    33  if golint $(go list ./...) |
    34      grep -v ALL_CAPS |
    35      grep .
    36  then
    37      echo -e "${RED_BG}[FAIL]${NC} Linter have found some issues in Go source code"
    38      exit 1
    39  else
    40      echo -e "${GREEN_BG}[OK]${NC} No issues has been found"
    41      exit 0
    42  fi