syncthing/vendor/github.com/thejerf/suture/gml
Jakob Borg 944ddcf768
all: Become a Go module (fixes #5148) (#5384)
* go mod init; rm -rf vendor

* tweak proto files and generation

* go mod vendor

* clean up build.go

* protobuf literals in tests

* downgrade gogo/protobuf
2018-12-18 12:36:38 +01:00

48 lines
1.5 KiB
Bash

#!/bin/bash
# This command wraps up the gometalinter invocation in the pre-commit hook
# so it can be used by other things.
# If used in a way that the "lintclean" file is in the current working
# directory, the contents of the lintclean directory will be added to
# this invocation, allowing you to filter out specific failures.
# Rationale:
# --exclude="composite literal uses unkeyed field" \
# jbowers: I disagree with community on this, and side with the Go
# creators. Keyed fields are used when you expect new fields to be
# unimportant to you, and you want to keep compiling, i.e., a new
# option that, since you weren't using it before, probably want to
# keep not using it. By contrast, unkeyed fields are appropriate
# when you expect changes to the struct to really matter to you,
# i.e., it is discovered that something MUST have a bool field added
# or it turns out to be logically gibberish. You can't say that
# one or the other must always be used... each has their place.
#
# -D gocyclo
# jbowers: I consider cyclomatic complexity a bit of a crock.
if [ `which gometalinter` == "" ]; then
echo You need to run the \"install_buildtools\" script.
exit 1
fi
EXTRA_ARGS=
if [ -e lintclean ]; then
EXTRA_ARGS=$(cat lintclean)
fi
gometalinter \
--exclude="composite literal uses unkeyed field" \
-j 4 \
-D gocyclo \
-D aligncheck \
-D gofmt \
-D goimports \
-D gotype \
-D structcheck \
-D varcheck \
$EXTRA_ARGS \
$*