Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 56 additions & 17 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,52 +138,83 @@ linters-settings:
- .* # Check all global variables.
revive:
rules:
- name: context-keys-type
- name: time-naming
- name: var-declaration
- name: unexported-return
- name: errorf
- name: blank-imports
- name: context-as-argument
- name: dot-imports
- name: error-return
- name: error-strings
- name: error-naming
- name: increment-decrement
- name: var-naming
- name: package-comments
- name: range
- name: receiver-naming
- name: indent-error-flow
- name: add-constant
disabled: true # Duplicates goconst and mnd linters.
- name: argument-limit
disabled: true # Questionable.
- name: atomic
- name: banned-characters
arguments: [] # [ "Ω","Σ","σ", "7" ]
- name: bare-return
disabled: true # Questionable (in some cases bare return improves readability).
- name: blank-imports
- name: bool-literal-in-expr
- name: call-to-gc
- name: cognitive-complexity
disabled: true # Duplicates gocognit linter.
- name: comment-spacings
arguments:
- nolint # Allow //nolint without a space.
- name: comments-density
disabled: true # Questionable.
- name: confusing-naming
disabled: true # Questionable (valid use case: Method() as a thin wrapper for method()).
- name: confusing-results
- name: constant-logical-expr
- name: context-as-argument
- name: context-keys-type
- name: cyclomatic
disabled: true # Duplicates cyclop and gocyclo linters.
- name: datarace
- name: deep-exit
- name: defer
- name: dot-imports
- name: duplicated-imports
- name: early-return
- name: empty-block
disabled: true # https://github.com/mgechev/revive/issues/386
- name: empty-lines
- name: enforce-map-style
arguments:
- make # Use `make(map[A]B)` instead of literal `map[A]B{}`.
- name: enforce-repeated-arg-type-style
disabled: true # Questionable (short form for similar args and full otherwise may improve readability).
- name: enforce-slice-style
disabled: true # Questionable (sometimes we need a nil slice, sometimes not nil).
- name: error-naming
- name: error-return
- name: error-strings
- name: errorf
- name: exported
- name: file-header
- name: flag-parameter
- name: function-length
disabled: true # Duplicates funlen linter.
- name: function-result-limit
disabled: true # Questionable.
- name: get-return
- name: identical-branches
- name: if-return
- name: import-alias-naming
- name: import-shadowing
- name: imports-blocklist
- name: increment-decrement
- name: indent-error-flow
- name: line-length-limit
disabled: true # Duplicates lll linter.
- name: max-control-nesting
- name: max-public-structs
disabled: true # Questionable.
- name: modifies-parameter
- name: modifies-value-receiver
- name: nested-structs
disabled: true # Questionable (useful in tests, may worth enabling for non-tests).
- name: optimize-operands-order
- name: package-comments
- name: range
- name: range-val-address
- name: range-val-in-closure
- name: receiver-naming
- name: redefines-builtin-id
- name: redundant-import-alias
- name: string-format
Expand All @@ -198,14 +229,22 @@ linters-settings:
- name: struct-tag
- name: superfluous-else
- name: time-equal
- name: time-naming
- name: unchecked-type-assertion
disabled: true # Duplicates errcheck and forcetypeassert linters.
- name: unconditional-recursion
- name: unexported-naming
- name: unexported-return
- name: unhandled-error
disabled: true # Duplicates errcheck linter.
- name: unnecessary-stmt
- name: unreachable-code
- name: unused-parameter
- name: unused-receiver
- name: use-any
- name: useless-break
- name: var-declaration
- name: var-naming
- name: waitgroup-by-value
rowserrcheck:
packages:
Expand Down
18 changes: 9 additions & 9 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"flag"
"fmt"
"log"
"net/url"
urlpkg "net/url"
"os"
"os/exec"
"path"
Expand Down Expand Up @@ -87,14 +87,14 @@ func main() { //nolint:gocyclo,gocognit,funlen // TODO Refactor?
}

var iniURL, iniHTTP, templatePathBad, waitBadScheme, waitHTTP, waitAMQPS bool
if u, err := url.Parse(cfg.ini.source); err == nil && u.IsAbs() {
if u, err := urlpkg.Parse(cfg.ini.source); err == nil && u.IsAbs() {
iniURL = true
iniHTTP = u.Scheme == schemeHTTP || u.Scheme == schemeHTTPS
}
for _, path := range cfg.templatePaths {
for _, tmplPath := range cfg.templatePaths {
const maxParts = 2
parts := strings.Split(path, ":")
templatePathBad = templatePathBad || path == "" || parts[0] == "" || len(parts) > maxParts
parts := strings.Split(tmplPath, ":")
templatePathBad = templatePathBad || tmplPath == "" || parts[0] == "" || len(parts) > maxParts
}

waitListParts := strings.Fields(cfg.waitList)
Expand Down Expand Up @@ -182,11 +182,11 @@ func main() { //nolint:gocyclo,gocognit,funlen // TODO Refactor?
fatalf("Failed to wait: %s.", err)
}

for _, path := range cfg.tailStdout {
tailFile(path, os.Stdout)
for _, tailPath := range cfg.tailStdout {
tailFile(tailPath, os.Stdout)
}
for _, path := range cfg.tailStderr {
tailFile(path, os.Stderr)
for _, tailPath := range cfg.tailStderr {
tailFile(tailPath, os.Stderr)
}

switch {
Expand Down
Loading