docs: Replace links to godoc.org with pkg.go.dev (#3584)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
This commit is contained in:
parent
e128f0df51
commit
a221d01b41
@ -126,7 +126,7 @@ func (cl *ContextLoader) Load(ctx context.Context, linters []*linter.Config) (*l
|
|||||||
```
|
```
|
||||||
|
|
||||||
First, we find a load mode as union of load modes for all enabled linters.
|
First, we find a load mode as union of load modes for all enabled linters.
|
||||||
We use [go/packages](https://godoc.org/golang.org/x/tools/go/packages) for packages loading and use it's enum `packages.Need*` for load modes.
|
We use [go/packages](https://pkg.go.dev/golang.org/x/tools/go/packages) for packages loading and use it's enum `packages.Need*` for load modes.
|
||||||
Load mode sets which data does a linter needs for execution.
|
Load mode sets which data does a linter needs for execution.
|
||||||
|
|
||||||
A linter that works only with AST need minimum of information: only filenames and AST. There is no need for
|
A linter that works only with AST need minimum of information: only filenames and AST. There is no need for
|
||||||
@ -165,7 +165,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
|
|||||||
WithLoadForGoAnalysis().
|
WithLoadForGoAnalysis().
|
||||||
WithPresets(linter.PresetBugs).
|
WithPresets(linter.PresetBugs).
|
||||||
WithAlternativeNames("vet", "vetshadow").
|
WithAlternativeNames("vet", "vetshadow").
|
||||||
WithURL("https://golang.org/cmd/vet/"),
|
WithURL("https://pkg.go.dev/cmd/vet"),
|
||||||
linter.NewConfig(golinters.NewBodyclose()).
|
linter.NewConfig(golinters.NewBodyclose()).
|
||||||
WithLoadForGoAnalysis().
|
WithLoadForGoAnalysis().
|
||||||
WithPresets(linter.PresetPerformance, linter.PresetBugs).
|
WithPresets(linter.PresetPerformance, linter.PresetBugs).
|
||||||
@ -208,10 +208,10 @@ Currently, all linters except `unused` can be merged into this meta linter.
|
|||||||
The `unused` isn't merged because it has high memory usage.
|
The `unused` isn't merged because it has high memory usage.
|
||||||
|
|
||||||
Linters execution starts in `runAnalyzers`. It's the most complex part of the `golangci-lint`.
|
Linters execution starts in `runAnalyzers`. It's the most complex part of the `golangci-lint`.
|
||||||
We use custom [go/analysis](https://godoc.org/golang.org/x/tools/go/analysis) runner there. It runs as much as it can in parallel. It lazy-loads as much as it can
|
We use custom [go/analysis](https://pkg.go.dev/golang.org/x/tools/go/analysis) runner there. It runs as much as it can in parallel. It lazy-loads as much as it can
|
||||||
to reduce memory usage. Also, it sets all heavyweight data to `nil` as becomes unneeded to save memory.
|
to reduce memory usage. Also, it sets all heavyweight data to `nil` as becomes unneeded to save memory.
|
||||||
|
|
||||||
We don't use existing [multichecker](https://godoc.org/golang.org/x/tools/go/analysis/multichecker) because
|
We don't use existing [multichecker](https://pkg.go.dev/golang.org/x/tools/go/analysis/multichecker) because
|
||||||
it doesn't use caching and doesn't have some important performance optimizations.
|
it doesn't use caching and doesn't have some important performance optimizations.
|
||||||
|
|
||||||
All found by linters issues are represented with `result.Issue` struct:
|
All found by linters issues are represented with `result.Issue` struct:
|
||||||
|
@ -9,12 +9,12 @@ conduct](https://github.com/golangci/golangci-lint/blob/master/CODE_OF_CONDUCT.m
|
|||||||
|
|
||||||
## Setup your machine
|
## Setup your machine
|
||||||
|
|
||||||
`golangci-lint` is written in [Go](https://golang.org/).
|
`golangci-lint` is written in [Go](https://go.dev).
|
||||||
|
|
||||||
Prerequisites:
|
Prerequisites:
|
||||||
|
|
||||||
- `make`
|
- `make`
|
||||||
- [Go](https://golang.org/doc/install)
|
- [Go](https://go.dev/doc/install)
|
||||||
|
|
||||||
Fork and clone [golangci-lint](https://github.com/golangci/golangci-lint) repository.
|
Fork and clone [golangci-lint](https://github.com/golangci/golangci-lint) repository.
|
||||||
|
|
||||||
|
@ -48,6 +48,6 @@ the `go tool trace` command and visualization tool.
|
|||||||
|
|
||||||
## Cache
|
## Cache
|
||||||
|
|
||||||
GolangCI-Lint stores its cache in the subdirectory `golangci-lint` inside the [default user cache directory](https://golang.org/pkg/os/#UserCacheDir).
|
GolangCI-Lint stores its cache in the subdirectory `golangci-lint` inside the [default user cache directory](https://pkg.go.dev/os#UserCacheDir).
|
||||||
|
|
||||||
You can override the default cache directory with the environment variable `GOLANGCI_LINT_CACHE`; the path must be absolute.
|
You can override the default cache directory with the environment variable `GOLANGCI_LINT_CACHE`; the path must be absolute.
|
||||||
|
@ -4,7 +4,7 @@ title: Performance
|
|||||||
|
|
||||||
## Memory Usage
|
## Memory Usage
|
||||||
|
|
||||||
A trade-off between memory usage and execution time can be controlled by [`GOGC`](https://golang.org/pkg/runtime/#hdr-Environment_Variables) environment variable.
|
A trade-off between memory usage and execution time can be controlled by [`GOGC`](https://pkg.go.dev/runtime#hdr-Environment_Variables) environment variable.
|
||||||
Less `GOGC` values trigger garbage collection more frequently and golangci-lint consumes less memory and more CPU. Below is the trade-off table for running on this repo:
|
Less `GOGC` values trigger garbage collection more frequently and golangci-lint consumes less memory and more CPU. Below is the trade-off table for running on this repo:
|
||||||
|
|
||||||
| `GOGC` | Peak Memory, GB | Execution Time, s |
|
| `GOGC` | Peak Memory, GB | Execution Time, s |
|
||||||
|
@ -497,7 +497,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
|
|||||||
WithSince("v1.0.0").
|
WithSince("v1.0.0").
|
||||||
WithPresets(linter.PresetFormatting).
|
WithPresets(linter.PresetFormatting).
|
||||||
WithAutoFix().
|
WithAutoFix().
|
||||||
WithURL("https://golang.org/cmd/gofmt/"),
|
WithURL("https://pkg.go.dev/cmd/gofmt"),
|
||||||
|
|
||||||
linter.NewConfig(golinters.NewGofumpt(gofumptCfg)).
|
linter.NewConfig(golinters.NewGofumpt(gofumptCfg)).
|
||||||
WithSince("v1.28.0").
|
WithSince("v1.28.0").
|
||||||
@ -514,7 +514,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
|
|||||||
WithSince("v1.20.0").
|
WithSince("v1.20.0").
|
||||||
WithPresets(linter.PresetFormatting, linter.PresetImport).
|
WithPresets(linter.PresetFormatting, linter.PresetImport).
|
||||||
WithAutoFix().
|
WithAutoFix().
|
||||||
WithURL("https://godoc.org/golang.org/x/tools/cmd/goimports"),
|
WithURL("https://pkg.go.dev/golang.org/x/tools/cmd/goimports"),
|
||||||
|
|
||||||
linter.NewConfig(golinters.NewGolint(golintCfg)).
|
linter.NewConfig(golinters.NewGolint(golintCfg)).
|
||||||
WithSince("v1.0.0").
|
WithSince("v1.0.0").
|
||||||
@ -562,7 +562,7 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
|
|||||||
WithLoadForGoAnalysis().
|
WithLoadForGoAnalysis().
|
||||||
WithPresets(linter.PresetBugs, linter.PresetMetaLinter).
|
WithPresets(linter.PresetBugs, linter.PresetMetaLinter).
|
||||||
WithAlternativeNames("vet", "vetshadow").
|
WithAlternativeNames("vet", "vetshadow").
|
||||||
WithURL("https://golang.org/cmd/vet/"),
|
WithURL("https://pkg.go.dev/cmd/vet"),
|
||||||
|
|
||||||
linter.NewConfig(golinters.NewGrouper(grouperCfg)).
|
linter.NewConfig(golinters.NewGrouper(grouperCfg)).
|
||||||
WithSince("v1.44.0").
|
WithSince("v1.44.0").
|
||||||
|
@ -70,7 +70,7 @@ func (p *AutogeneratedExclude) shouldPassIssue(i *result.Issue) (bool, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// isGenerated reports whether the source file is generated code.
|
// isGenerated reports whether the source file is generated code.
|
||||||
// Using a bit laxer rules than https://golang.org/s/generatedcode to
|
// Using a bit laxer rules than https://go.dev/s/generatedcode to
|
||||||
// match more generated code. See #48 and #72.
|
// match more generated code. See #48 and #72.
|
||||||
func isGeneratedFileByComment(doc string) bool {
|
func isGeneratedFileByComment(doc string) bool {
|
||||||
const (
|
const (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user