github.com/RedHatInsights/insights-content-service@v1.0.0/ineffassign.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}Detecting ineffectual assignments in Go code${NC}"
    23  
    24  if ! [ -x "$(command -v ineffassign)" ]
    25  then
    26      echo -e "${BLUE}Installing ineffassign${NC}"
    27      GO111MODULE=off go get github.com/gordonklaus/ineffassign
    28  fi
    29  
    30  if ! ineffassign ./...
    31  then
    32      echo -e "${RED_BG}[FAIL]${NC} Code with ineffectual assignments detected"
    33      exit 1
    34  else
    35      echo -e "${GREEN_BG}[OK]${NC} No ineffectual assignments has been detected"
    36      exit 0
    37  fi