#!/bin/bash
set -e

cd $(dirname $0)/..

echo Running: go mod tidy
go mod tidy

echo Running: go generate
go generate

if [ -n "$SKIP_VALIDATE" ]; then
    echo Skipping validation
    exit
fi

if ! command -v golangci-lint; then
    echo Skipping validation: no golangci-lint available
    exit
fi

echo Running validation
echo Running: go mod verify
go mod verify

if [ ! -e build/data ];then
    mkdir -p build/data
fi

echo Running: golangci-lint
golangci-lint run -v

. ./scripts/version.sh

if [ -n "$DIRTY" ]; then
    echo Source dir is dirty
    git status --porcelain --untracked-files=no
    git diff
    exit 1
fi
