From bed7e0461072a49640719301bd68466ee711e8bd Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 24 Aug 2021 20:31:13 -0700 Subject: [PATCH 01/12] Avoid workflow conditional reliance on specific runner In order to catch platform-specific bugs, the "Test Go" workflow uses a job matrix to run the tests on multiple runners. The step that uploads code coverage data to Codecov is intended to run only during the Linux job. The runner name `ubuntu-latest` was used in the conditional to accomplish this. However, it might become necessary or desirable to pin a specific runner version (e.g., `ubuntu-18.04`). The accompanying adjustment to the conditional might be forgotten and there would not be any obvious sign that the coverage upload had stopped, nor why. This will be avoided by using the general `runner.os` context item to identify the Linux job in the conditional. This will not be ideal in the event multiple Linux runners are added to the workflow's job matrix, but this is less likely to occur and a redundant coverage data upload shouldn't cause any problems. --- .github/workflows/test-go-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index a6da9b6f..88681579 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -85,7 +85,7 @@ jobs: run: task go:test - name: Send unit tests coverage to Codecov - if: matrix.operating-system == 'ubuntu-latest' + if: runner.os == 'Linux' uses: codecov/codecov-action@v2 with: file: ./coverage_unit.txt From 8096c62deb1192722b84a9901433fb57d85f1e21 Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 24 Aug 2021 20:36:46 -0700 Subject: [PATCH 02/12] Add multi-module support to project infrastructure This projects contains two Go modules, one in the root and one in the `docsgen` subfolder. More will be added. In order to support checks on the supplemental modules in the project subfolders, it's necessary to configure the commands to run from their path. This is passed to the task via the GO_MODULE_PATH environment variable. If this variable is not defined, the default root module path is used as default, preserving the previous task behavior. The workflows use a job matrix to allow easy configuration for any number of module paths and a dedicated parallel job for each module. --- .github/workflows/check-go-task.yml | 44 +++++++++++++++++++++++++++++ .github/workflows/test-go-task.yml | 20 +++++++++---- Taskfile.yml | 19 ++++++++++++- 3 files changed, 76 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 9667786b..7a229e00 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -50,10 +50,19 @@ jobs: echo "::set-output name=result::$RESULT" check-errors: + name: check-errors (${{ matrix.module.path }}) needs: run-determination if: needs.run-determination.outputs.result == 'true' runs-on: ubuntu-latest + strategy: + fail-fast: false + + matrix: + module: + - path: ./ + - path: docsgen + steps: - name: Checkout repository uses: actions/checkout@v2 @@ -70,13 +79,24 @@ jobs: version: 3.x - name: Check for errors + env: + GO_MODULE_PATH: ${{ matrix.module.path }} run: task go:vet check-outdated: + name: check-outdated (${{ matrix.module.path }}) needs: run-determination if: needs.run-determination.outputs.result == 'true' runs-on: ubuntu-latest + strategy: + fail-fast: false + + matrix: + module: + - path: ./ + - path: docsgen + steps: - name: Checkout repository uses: actions/checkout@v2 @@ -93,16 +113,27 @@ jobs: version: 3.x - name: Modernize usages of outdated APIs + env: + GO_MODULE_PATH: ${{ matrix.module.path }} run: task go:fix - name: Check if any fixes were needed run: git diff --color --exit-code check-style: + name: check-style (${{ matrix.module.path }}) needs: run-determination if: needs.run-determination.outputs.result == 'true' runs-on: ubuntu-latest + strategy: + fail-fast: false + + matrix: + module: + - path: ./ + - path: docsgen + steps: - name: Checkout repository uses: actions/checkout@v2 @@ -122,13 +153,24 @@ jobs: run: go install golang.org/x/lint/golint@latest - name: Check style + env: + GO_MODULE_PATH: ${{ matrix.module.path }} run: task --silent go:lint check-formatting: + name: check-formatting (${{ matrix.module.path }}) needs: run-determination if: needs.run-determination.outputs.result == 'true' runs-on: ubuntu-latest + strategy: + fail-fast: false + + matrix: + module: + - path: ./ + - path: docsgen + steps: - name: Checkout repository uses: actions/checkout@v2 @@ -145,6 +187,8 @@ jobs: version: 3.x - name: Format code + env: + GO_MODULE_PATH: ${{ matrix.module.path }} run: task go:format - name: Check formatting diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 88681579..f41a538b 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -12,8 +12,8 @@ on: paths: - ".github/workflows/test-go-task.ya?ml" - "codecov.ya?ml" - - "go.mod" - - "go.sum" + - "**/go.mod" + - "**/go.sum" - "Taskfile.ya?ml" - "**.go" - "**/testdata/**" @@ -21,8 +21,8 @@ on: paths: - ".github/workflows/test-go-task.ya?ml" - "codecov.ya?ml" - - "go.mod" - - "go.sum" + - "**/go.mod" + - "**/go.sum" - "Taskfile.ya?ml" - "**.go" - "**/testdata/**" @@ -54,15 +54,21 @@ jobs: echo "::set-output name=result::$RESULT" test: + name: test (${{ matrix.module.path }} - ${{ matrix.operating-system }}) needs: run-determination if: needs.run-determination.outputs.result == 'true' strategy: + fail-fast: false + matrix: operating-system: - ubuntu-latest - windows-latest - macos-latest + module: + - path: ./ + codecov-flags: unit runs-on: ${{ matrix.operating-system }} @@ -82,12 +88,14 @@ jobs: version: 3.x - name: Run tests + env: + GO_MODULE_PATH: ${{ matrix.module.path }} run: task go:test - name: Send unit tests coverage to Codecov if: runner.os == 'Linux' uses: codecov/codecov-action@v2 with: - file: ./coverage_unit.txt - flags: unit + file: ${{ matrix.module.path }}coverage_unit.txt + flags: ${{ matrix.module.codecov-flags }} fail_ci_if_error: ${{ github.repository == 'arduino/arduino-lint' }} diff --git a/Taskfile.yml b/Taskfile.yml index 398cb78d..8cf149ad 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -8,8 +8,19 @@ vars: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/release-go-task/Taskfile.yml PROJECT_NAME: "arduino-lint" DIST_DIR: "dist" + # Path of the project's primary Go module: + DEFAULT_GO_MODULE_PATH: ./ DEFAULT_GO_PACKAGES: - sh: echo $(go list ./... | grep --invert-match 'github.com/arduino/arduino-lint/internal/rule/schema/schemadata' | tr '\n' ' ') + sh: | + echo $( \ + cd {{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}} \ + && \ + go list ./... | \ + grep --invert-match 'github.com/arduino/arduino-lint/internal/rule/schema/schemadata' | \ + tr '\n' ' ' \ + || \ + echo '"ERROR: Unable to discover Go packages"' \ + ) # build vars COMMIT: sh: echo "$(git log --no-show-signature -n 1 --format=%h)" @@ -134,6 +145,7 @@ tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/go-task/Taskfile.yml go:build: desc: Build the Go code + dir: "{{.DEFAULT_GO_MODULE_PATH}}" cmds: - go build -v {{.LDFLAGS}} @@ -150,12 +162,14 @@ tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml go:fix: desc: Modernize usages of outdated APIs + dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - go fix {{default .DEFAULT_GO_PACKAGES .GO_PACKAGES}} # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml go:format: desc: Format Go code + dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - go fmt {{default .DEFAULT_GO_PACKAGES .GO_PACKAGES}} @@ -172,6 +186,7 @@ tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml go:lint: desc: Lint Go code + dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - | if ! which golint &>/dev/null; then @@ -186,6 +201,7 @@ tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-go-task/Taskfile.yml go:test: desc: Run unit tests + dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - | go test \ @@ -208,6 +224,7 @@ tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml go:vet: desc: Check for errors in Go code + dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - go vet {{default .DEFAULT_GO_PACKAGES .GO_PACKAGES}} From ac6f9a3362a26eeb5b3751fc2ab83f930a618607 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 23 Aug 2021 01:37:01 -0700 Subject: [PATCH 03/12] Add reference URL field to rule configuration Many of the rule messages contain a URL that can be visited to find the detailed information about the problem and how to fix it. Moving this information to a dedicated field in the struct allows for improved formatting of the rule output as well as enhanced capabilities for the use of this data in other applications. --- internal/result/result.go | 3 + internal/result/result_test.go | 10 +- .../ruleconfiguration/ruleconfiguration.go | 553 ++++++++++++++---- 3 files changed, 438 insertions(+), 128 deletions(-) diff --git a/internal/result/result.go b/internal/result/result.go index 82e5687a..327fed8a 100644 --- a/internal/result/result.go +++ b/internal/result/result.go @@ -109,6 +109,9 @@ func (results *Type) Record(lintedProject project.Type, ruleConfiguration ruleco ruleMessage := "" if ruleResult == ruleresult.Fail { ruleMessage = message(ruleConfiguration.MessageTemplate, ruleOutput) + if ruleConfiguration.Reference != "" { + ruleMessage = fmt.Sprintf("%s\nSee: %s", ruleMessage, ruleConfiguration.Reference) + } } else { // Rules may provide an explanation for their non-fail result. // The message template should not be used in this case, since it is written for a failure result. diff --git a/internal/result/result_test.go b/internal/result/result_test.go index 5f93d4f1..d0ee7543 100644 --- a/internal/result/result_test.go +++ b/internal/result/result_test.go @@ -76,9 +76,14 @@ func TestRecord(t *testing.T) { ruleOutput := "foo" flags.Set("verbose", "true") require.Nil(t, configuration.Initialize(flags, projectPaths)) + ruleConfiguration.Reference = "" summaryText := results.Record(lintedProject, ruleConfiguration, ruleresult.Fail, ruleOutput) - outputAssertion := "Rule LS001 result: fail\nERROR: Path does not contain a valid Arduino library. See: \n https://arduino.github.io/arduino-cli/latest/library-specification \n" - assert.Equal(t, outputAssertion, summaryText) + outputAssertion := "Rule LS001 result: fail\nERROR: Path does not contain a valid Arduino library.\n" + assert.Equal(t, outputAssertion, summaryText, "No reference URL") + ruleConfiguration.Reference = "https://arduino.github.io/arduino-cli/latest/library-specification" + summaryText = results.Record(lintedProject, ruleConfiguration, ruleresult.Fail, ruleOutput) + outputAssertion = "Rule LS001 result: fail\nERROR: Path does not contain a valid Arduino library. \n See: https://arduino.github.io/arduino-cli/latest/library-specification\n" + assert.Equal(t, outputAssertion, summaryText, "Reference URL is appended if one is defined") summaryText = results.Record(lintedProject, ruleConfiguration, ruleresult.NotRun, ruleOutput) assert.Equal(t, fmt.Sprintf("Rule %s result: %s\n%s: %s\n", ruleConfiguration.ID, ruleresult.NotRun, rulelevel.Notice, ruleOutput), summaryText, "Non-fail result should not use message") summaryText = results.Record(lintedProject, ruleConfiguration, ruleresult.Pass, "") @@ -87,6 +92,7 @@ func TestRecord(t *testing.T) { require.Nil(t, configuration.Initialize(flags, projectPaths)) ruleConfigurationCopy := ruleConfiguration ruleConfigurationCopy.MessageTemplate = "bar" + ruleConfigurationCopy.Reference = "" summaryText = results.Record(lintedProject, ruleConfigurationCopy, ruleresult.Fail, ruleOutput) outputAssertion = "ERROR: bar (Rule LS001)\n" assert.Equal(t, outputAssertion, summaryText, "Rule ID is appended to non-verbose fail message on same line when rule message is single line") diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index 9bcfd6ec..82552d7b 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -40,6 +40,7 @@ type Type struct { Brief string // Short description of the rule. Description string // Supplemental information about the rule. MessageTemplate string // The warning/error message template displayed when the rule is violated. Will be filled by rule function output. + Reference string // URL to visit for more information about the rule subject. // The following fields define under which tool configuration modes the rule will run: DisableModes []rulemode.Type // Rule is disabled when tool is in any of these modes. EnableModes []rulemode.Type // Rule is only enabled when tool is in one of these modes. @@ -65,7 +66,8 @@ var configurations = []Type{ ID: "LS001", Brief: "invalid library", Description: "", - MessageTemplate: "Path does not contain a valid Arduino library. See: https://arduino.github.io/arduino-cli/latest/library-specification", + MessageTemplate: "Path does not contain a valid Arduino library.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -81,7 +83,8 @@ var configurations = []Type{ ID: "LS002", Brief: "folder name too long", Description: "This will be problematic for people doing manual installation of the library.", - MessageTemplate: "Folder name {{.}} exceeds maximum length. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", + MessageTemplate: "Folder name {{.}} exceeds maximum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -97,7 +100,8 @@ var configurations = []Type{ ID: "LS003", Brief: "prohibited character in folder name", Description: "This will be problematic for people doing manual installation of the library.", - MessageTemplate: "Prohibited character(s) in folder name: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", + MessageTemplate: "Prohibited character(s) in folder name: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -114,6 +118,7 @@ var configurations = []Type{ Brief: "submodule", Description: "", MessageTemplate: `Git submodule detected. Library Manager installations and installations from GitHub's "Download ZIP" will only contain an empty folder in place of the submodule.`, + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -130,6 +135,7 @@ var configurations = []Type{ Brief: "symlink", Description: "", MessageTemplate: "Symlink(s) found. Symlinks cause difficulties for Windows users. These block addition to the Arduino Library Manager index:\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -144,8 +150,9 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LS006", Brief: ".development file", - Description: "See: https://arduino.github.io/arduino-cli/latest/library-specification/#development-flag-file", + Description: "", MessageTemplate: ".development flag file found. This file allows users to accidentally modify examples. Presence of this file blocks addition to the Library Manager index.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#development-flag-file", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -162,6 +169,7 @@ var configurations = []Type{ Brief: ".exe file", Description: "", MessageTemplate: ".exe file(s) found. Presence of these files blocks addition to the Library Manager index:\n{{.}}", + Reference: "", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerSubmission, rulemode.LibraryManagerIndexed, rulemode.LibraryManagerIndexing}, InfoModes: nil, @@ -178,6 +186,7 @@ var configurations = []Type{ Brief: "name-header mismatch", Description: `The name value determines the installation folder name and the folder match to the filename in the #include directive influences "folder name priority".`, MessageTemplate: "No header file found matching library name ({{.}}). Best practices are for primary header filename to match library name.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: []rulemode.Type{rulemode.Permissive}, @@ -193,7 +202,8 @@ var configurations = []Type{ ID: "LS009", Brief: "src folder case", Description: "", - MessageTemplate: "Incorrect src folder name case: {{.}}. This will cause the library to not be recognized on case-sensitive file systems. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", + MessageTemplate: "Incorrect src folder name case: {{.}}. This will cause the library to not be recognized on case-sensitive file systems.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -209,7 +219,8 @@ var configurations = []Type{ ID: "LS010", Brief: "recursive with utility folder", Description: "", - MessageTemplate: `Utility folder found in "1.5" format library. Compilation of this folder is only supported on "1.0" format libraries. See: https://arduino.github.io/arduino-cli/latest/library-specification/#source-code`, + MessageTemplate: `Utility folder found in "1.5" format library. Compilation of this folder is only supported on "1.0" format libraries.`, + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -225,7 +236,8 @@ var configurations = []Type{ ID: "LS011", Brief: "incorrect extras folder name", Description: "", - MessageTemplate: "Potentially misspelled extras folder name found: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation", + MessageTemplate: "Potentially misspelled extras folder name found: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -241,7 +253,8 @@ var configurations = []Type{ ID: "LS012", Brief: "extras folder name case", Description: "", - MessageTemplate: "Incorrect extras folder name case: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation", + MessageTemplate: "Incorrect extras folder name case: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -257,7 +270,8 @@ var configurations = []Type{ ID: "LP001", Brief: "missing library.properties", Description: `Although not required for 1.0 format libraries (AKA "legacy") not in Library Manager, metadata is useful, hence recommended.`, - MessageTemplate: "Library has no library.properties metadata file. This file provides useful information and is required for admission to the Library Manager index. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", + MessageTemplate: "Library has no library.properties metadata file. This file provides useful information and is required for admission to the Library Manager index.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -273,7 +287,8 @@ var configurations = []Type{ ID: "LP002", Brief: "incorrect library.properties file name", Description: "", - MessageTemplate: "Incorrectly spelled library.properties file name found: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", + MessageTemplate: "Incorrectly spelled library.properties file name found: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -289,7 +304,8 @@ var configurations = []Type{ ID: "LP003", Brief: "library.properties file name case", Description: `This causes "1.5" format (AKA "recursive layout") libraries to not be recognized on case-sensitive file systems.`, - MessageTemplate: "Incorrect library.properties file name case: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", + MessageTemplate: "Incorrect library.properties file name case: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -305,7 +321,8 @@ var configurations = []Type{ ID: "LP004", Brief: "redundant library.properties", Description: "", - MessageTemplate: "Redundant library.properties file found at {{.}}. Only the file in the root of the library is used. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", + MessageTemplate: "Redundant library.properties file found at {{.}}. Only the file in the root of the library is used.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -320,8 +337,9 @@ var configurations = []Type{ Subcategory: "general", ID: "LP005", Brief: "library.properties format", - Description: "See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + Description: "", MessageTemplate: "library.properties has an invalid format: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -337,7 +355,8 @@ var configurations = []Type{ ID: "LP006", Brief: "misspelled library.properties field", Description: "", - MessageTemplate: "Potentially misspelled library.properties field name detected. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Potentially misspelled library.properties field name detected.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -353,7 +372,8 @@ var configurations = []Type{ ID: "LP007", Brief: "missing name", Description: "", - MessageTemplate: "Missing name field in library.properties. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing name field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -370,6 +390,7 @@ var configurations = []Type{ Brief: "name < min length", Description: "", MessageTemplate: "library.properties name value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -386,6 +407,7 @@ var configurations = []Type{ Brief: "name > max length", Description: "", MessageTemplate: "library.properties name value {{.}} is longer than maximum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -402,6 +424,7 @@ var configurations = []Type{ Brief: "name > recommended length", Description: "", MessageTemplate: "library.properties name value {{.}} is longer than the recommended length of 16 characters.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -417,7 +440,8 @@ var configurations = []Type{ ID: "LP011", Brief: "prohibited character in name", Description: "", - MessageTemplate: "Prohibited character(s) in library.properties name value: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Prohibited character(s) in library.properties name value: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -434,6 +458,7 @@ var configurations = []Type{ Brief: `name starts with "Arduino"`, Description: `Case insensitive. Only 3rd party libraries added to the Library Manager index prior to the enactment of this rule are allowed to have this name prefix.`, MessageTemplate: `Library name {{.}} starts with "Arduino". These names are reserved for official libraries.`, + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -450,6 +475,7 @@ var configurations = []Type{ Brief: "name missing official prefix", Description: "", MessageTemplate: `Library name {{.}} is missing the "Arduino_" prefix. All new official library names must use this prefix.`, + Reference: "", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.Official}, InfoModes: nil, @@ -466,6 +492,7 @@ var configurations = []Type{ Brief: `name contains "Arduino"`, Description: "Case insensitive", MessageTemplate: `Library name {{.}} contains "Arduino". This is superfluous.`, + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -482,6 +509,7 @@ var configurations = []Type{ Brief: "name contains spaces", Description: "Best practices is for the name value, installation folder, and primary header filename to all match, but this is not possible with names containing spaces.", MessageTemplate: "library.properties name {{.}} contains spaces. Although supported, best practices is to not use spaces.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -498,6 +526,7 @@ var configurations = []Type{ Brief: `name contains "library"`, Description: "Case insensitive", MessageTemplate: `Library name {{.}} contains "library". This is superfluous.`, + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -514,6 +543,7 @@ var configurations = []Type{ Brief: "duplicate name", Description: "This requirement only applies to the library.properties name value. There is no requirement to change the repository or header file names.", MessageTemplate: "Library name {{.}} is in use by a library in the Library Manager index. Each library must have a unique name value. If your library is already in the index, use the \"--library-manager update\" flag.", + Reference: "", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerSubmission}, InfoModes: nil, @@ -529,7 +559,8 @@ var configurations = []Type{ ID: "LP018", Brief: "not in LM index", Description: "The name value is the identifier used to install the library and define dependencies, so it should not be changed.", - MessageTemplate: "Library name {{.}} not found in the Library Manager index. Library names are not allowed to change after being added to the index. See: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ#how-can-i-change-my-librarys-name", + MessageTemplate: "Library name {{.}} not found in the Library Manager index. Library names are not allowed to change after being added to the index.", + Reference: "https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ#how-can-i-change-my-librarys-name", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerIndexed}, InfoModes: nil, @@ -546,6 +577,7 @@ var configurations = []Type{ Brief: "missing version field", Description: "", MessageTemplate: "Missing version field in library.properties", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -561,7 +593,8 @@ var configurations = []Type{ ID: "LP020", Brief: "invalid version", Description: `Must be compliant with "relaxed semver".`, - MessageTemplate: "library.properties version value {{.}} is invalid. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "library.properties version value {{.}} is invalid.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -577,7 +610,8 @@ var configurations = []Type{ ID: "LP021", Brief: "non-semver version", Description: "", - MessageTemplate: "library.properties version value {{.}} is not compliant with the semver specification. See https://semver.org/", + MessageTemplate: "library.properties version value {{.}} is not compliant with the semver specification.", + Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -594,6 +628,7 @@ var configurations = []Type{ Brief: "tag mismatch", Description: "The Library Manager indexer will reject any tag that has a library.properties version equal to a previous tag in the index.", MessageTemplate: "The latest Git tag appears to be greater than the library.properties version value: {{.}}. You must update the version value before making the tag.", + Reference: "", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerIndexed}, InfoModes: nil, @@ -609,7 +644,8 @@ var configurations = []Type{ ID: "LP023", Brief: "missing author field", Description: "", - MessageTemplate: "Missing author field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing author field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -626,6 +662,7 @@ var configurations = []Type{ Brief: "author < min length", Description: "", MessageTemplate: "library.properties author value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -641,7 +678,8 @@ var configurations = []Type{ ID: "LP025", Brief: "missing maintainer field", Description: "", - MessageTemplate: "Missing maintainer field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing maintainer field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -658,6 +696,7 @@ var configurations = []Type{ Brief: "maintainer < min length", Description: "", MessageTemplate: "library.properties maintainer value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -674,6 +713,7 @@ var configurations = []Type{ Brief: `maintainer starts with "Arduino"`, Description: "Case insensitive.", MessageTemplate: `library.properties maintainer value {{.}} starts with "Arduino". 3rd party libraries are not maintained by Arduino.`, + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -690,6 +730,7 @@ var configurations = []Type{ Brief: `maintainer contains "Arduino"`, Description: "Case insensitive.", MessageTemplate: `library.properties maintainer value {{.}} contains "Arduino". 3rd party libraries are not maintained by Arduino.`, + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -706,6 +747,7 @@ var configurations = []Type{ Brief: `"email" used as alias for "maintainer"`, Description: "This was only in an early draft of the beta 1.5 library specification.", MessageTemplate: `library.properties "email" field used as alias for "maintainer". This is deprecated.`, + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -722,6 +764,7 @@ var configurations = []Type{ Brief: "email < min length", Description: "", MessageTemplate: "library.properties email value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -738,6 +781,7 @@ var configurations = []Type{ Brief: `email starts with "Arduino"`, Description: "Case insensitive.", MessageTemplate: `library.properties email value {{.}} starts with "Arduino". 3rd party libraries are not maintained by Arduino.`, + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -753,7 +797,8 @@ var configurations = []Type{ ID: "LP031", Brief: "missing sentence field", Description: "", - MessageTemplate: "Missing sentence field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing sentence field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -770,6 +815,7 @@ var configurations = []Type{ Brief: "sentence < min length", Description: "", MessageTemplate: "library.properties sentence value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -786,6 +832,7 @@ var configurations = []Type{ Brief: "sentence spell check", Description: "", MessageTemplate: "A commonly misspelled word was found in the library.properties sentence field. Suggested correction: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -801,7 +848,8 @@ var configurations = []Type{ ID: "LP034", Brief: "missing paragraph field", Description: "", - MessageTemplate: "Missing paragraph field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing paragraph field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -818,6 +866,7 @@ var configurations = []Type{ Brief: "paragraph spell check", Description: "", MessageTemplate: "A commonly misspelled word was found in the library.properties paragraph field. Suggested correction: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -834,6 +883,7 @@ var configurations = []Type{ Brief: "paragraph repeats sentence", Description: "", MessageTemplate: "The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy is not needed.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -849,7 +899,8 @@ var configurations = []Type{ ID: "LP037", Brief: "missing category field", Description: `This can cause a warning and results in the default "Uncategorized" category being used.`, - MessageTemplate: "Missing category field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing category field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -865,7 +916,8 @@ var configurations = []Type{ ID: "LP038", Brief: "invalid category value", Description: `This can cause a warning and results in the default "Uncategorized" category being used.`, - MessageTemplate: "Invalid category field value {{.}} in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Invalid category field value {{.}} in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -881,7 +933,8 @@ var configurations = []Type{ ID: "LP039", Brief: `"Uncategorized" category value`, Description: "There is no good reason for using this non-specification compliant category value.", - MessageTemplate: `Use of "Uncategorized" category value in library.properties. Please use one of the allowed categories: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format`, + MessageTemplate: `Use of "Uncategorized" category value in library.properties. Please use one of the allowed categories.`, + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -897,7 +950,8 @@ var configurations = []Type{ ID: "LP040", Brief: "missing url field", Description: "", - MessageTemplate: "Missing url field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing url field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -914,6 +968,7 @@ var configurations = []Type{ Brief: "url < min length", Description: "", MessageTemplate: "library.properties url value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -930,6 +985,7 @@ var configurations = []Type{ Brief: "invalid url format", Description: "", MessageTemplate: "library.properties url field value {{.}} does not have a valid URL format.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -946,6 +1002,7 @@ var configurations = []Type{ Brief: "dead URL", Description: "", MessageTemplate: "Unable to load the library.properties url field: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -961,7 +1018,8 @@ var configurations = []Type{ ID: "LP043", Brief: "missing architectures field", Description: "Defaults to *, but it's better to explicitly define architectures.", - MessageTemplate: "Missing architectures field in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Missing architectures field in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -977,7 +1035,8 @@ var configurations = []Type{ ID: "LP044", Brief: "architectures blank", Description: "Causes library to be considered incompatible with all architectures.", - MessageTemplate: "Empty library.properties architectures field. Please define specific architectures or set to * if compatible with all. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Empty library.properties architectures field. Please define specific architectures or set to * if compatible with all.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -993,7 +1052,8 @@ var configurations = []Type{ ID: "LP045", Brief: "architecture alias", Description: "Alternative development frameworks diverged on architecture naming.", - MessageTemplate: "Architecture alias(es) in library.properties architectures field: {{.}}. Please also specify the true Arduino architectures compatibilities of the library. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Architecture alias(es) in library.properties architectures field: {{.}}. Please also specify the true Arduino architectures compatibilities of the library.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1009,7 +1069,8 @@ var configurations = []Type{ ID: "LP046", Brief: "architecture case", Description: "", - MessageTemplate: "Incorrect case of library.properties architectures field item(s): {{.}}. Architectures are case sensitive. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Incorrect case of library.properties architectures field item(s): {{.}}. Architectures are case sensitive.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1025,7 +1086,8 @@ var configurations = []Type{ ID: "LP047", Brief: "invalid depends format", Description: "", - MessageTemplate: "Invalid format of library.properties depends field {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Invalid format of library.properties depends field {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1042,6 +1104,7 @@ var configurations = []Type{ Brief: "depends not in index", Description: "This field should be used to define the dependencies available from Library Manager. Library names are case-sensitive.", MessageTemplate: "library.properties depends field item(s) {{.}} not found in the Library Manager index.", + Reference: "", DisableModes: []rulemode.Type{rulemode.LibraryManagerIndexing}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1057,7 +1120,8 @@ var configurations = []Type{ ID: "LP049", Brief: "invalid dot_a_linkage value", Description: "", - MessageTemplate: "Invalid dot_a_linkage field value {{.}} in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Invalid dot_a_linkage field value {{.}} in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1073,7 +1137,8 @@ var configurations = []Type{ ID: "LP050", Brief: `dot_a_linkage=true with "1.0" library format`, Description: `dot_a_linkage feature is only supported for the "1.5" or "recursive" library format.`, - MessageTemplate: `library.properties dot_a_linkage field enabled but library is not in "1.5" format. See: https://arduino.github.io/arduino-cli/latest/library-specification/#source-code`, + MessageTemplate: `library.properties dot_a_linkage field enabled but library is not in "1.5" format.`, + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1089,7 +1154,8 @@ var configurations = []Type{ ID: "LP051", Brief: "includes blank", Description: `Caused the "Sketch > Include library" feature of previous IDE versions to add an empty #include directive to the sketch.`, - MessageTemplate: "Empty library.properties includes field. Please either define includes or remove this optional field. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Empty library.properties includes field. Please either define includes or remove this optional field.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1106,6 +1172,7 @@ var configurations = []Type{ Brief: "includes not in library", Description: `People often think this is the way to define their library's dependencies, which breaks the "Sketch > Include Library" feature for that library.`, MessageTemplate: "library.properties includes field item(s) {{.}} not found in library.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1121,7 +1188,8 @@ var configurations = []Type{ ID: "LP053", Brief: "invalid precompiled value", Description: "", - MessageTemplate: "Invalid precompiled field value {{.}} in library.properties. See https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", + MessageTemplate: "Invalid precompiled field value {{.}} in library.properties", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1137,7 +1205,8 @@ var configurations = []Type{ ID: "LP054", Brief: "precompiled with \"1.0\" format", Description: `precompiled feature is only supported for the "1.5" or "recursive" library format.`, - MessageTemplate: `library.properties precompiled field value {{.}}, is not supported with "1.0" format. See: https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format`, + MessageTemplate: `library.properties precompiled field value {{.}}, is not supported with "1.0" format.`, + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1154,6 +1223,7 @@ var configurations = []Type{ Brief: "ldflags < min length", Description: "", MessageTemplate: "library.properties ldflags value is less than minimum length.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1170,6 +1240,7 @@ var configurations = []Type{ Brief: "Arduino.h case", Description: "This causes compilation failure on case-sensitive file systems.", MessageTemplate: "Incorrect Arduino.h filename case in #include directive: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1185,7 +1256,8 @@ var configurations = []Type{ ID: "LD001", Brief: "no readme", Description: "", - MessageTemplate: "No readme found. Please document your library. See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", + MessageTemplate: "No readme found. Please document your library.", + Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1201,7 +1273,8 @@ var configurations = []Type{ ID: "LD002", Brief: "no license file", Description: "", - MessageTemplate: "No license file found. See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", + MessageTemplate: "No license file found.", + Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1217,7 +1290,8 @@ var configurations = []Type{ ID: "LD003", Brief: "stray sketch", Description: "", - MessageTemplate: "Sketch(es) found outside examples and extras folders:\n{{.}}\nSee: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", + MessageTemplate: "Sketch(es) found outside examples and extras folders:\n{{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1233,7 +1307,8 @@ var configurations = []Type{ ID: "LD004", Brief: "no examples", Description: "", - MessageTemplate: "No example sketches found. Please provide examples. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", + MessageTemplate: "No example sketches found. Please provide examples.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1249,7 +1324,8 @@ var configurations = []Type{ ID: "LD005", Brief: "incorrect examples folder name", Description: "", - MessageTemplate: "Potentially misspelled examples folder name found: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", + MessageTemplate: "Potentially misspelled examples folder name found: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1265,7 +1341,8 @@ var configurations = []Type{ ID: "LD006", Brief: "examples folder name case", Description: "", - MessageTemplate: "Incorrect examples folder name case: {{.}}. See: https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", + MessageTemplate: "Incorrect examples folder name case: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1281,7 +1358,8 @@ var configurations = []Type{ ID: "SS001", Brief: "name mismatch", Description: "", - MessageTemplate: "Sketch file/folder name mismatch. The primary sketch file name must match the folder: {{.}}. See: https://arduino.github.io/arduino-cli/latest/sketch-specification/#primary-sketch-file", + MessageTemplate: "Sketch file/folder name mismatch. The primary sketch file name must match the folder: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#primary-sketch-file", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1297,7 +1375,8 @@ var configurations = []Type{ ID: "SS002", Brief: "prohibited character in filename", Description: "", - MessageTemplate: "Prohibited character(s) in file name(s): {{.}}. See: https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-root-folder", + MessageTemplate: "Prohibited character(s) in file name(s): {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-root-folder", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1313,7 +1392,8 @@ var configurations = []Type{ ID: "SS003", Brief: "file name too long", Description: "", - MessageTemplate: "File name(s): {{.}} exceed maximum length. See: https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-root-folder", + MessageTemplate: "File name(s): {{.}} exceed maximum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-root-folder", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1330,6 +1410,7 @@ var configurations = []Type{ Brief: ".pde extension", Description: "The .pde extension is used by both Processing sketches and Arduino sketches. Processing sketches should either be in the \"data\" subfolder of the sketch or in the \"extras\" folder of the library. Arduino sketches should use the modern .ino extension.", MessageTemplate: "{{.}} uses deprecated .pde file extension. Use .ino for Arduino sketches.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1345,7 +1426,8 @@ var configurations = []Type{ ID: "SS005", Brief: "src folder case", Description: "", - MessageTemplate: "Incorrect src folder case: {{.}}. This will cause the source files under it to not be compiled on case-sensitive file systems. See: https://arduino.github.io/arduino-cli/latest/sketch-specification/#src-subfolder", + MessageTemplate: "Incorrect src folder case: {{.}}. This will cause the source files under it to not be compiled on case-sensitive file systems.", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#src-subfolder", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1362,6 +1444,7 @@ var configurations = []Type{ Brief: "Arduino.h case", Description: "This causes compilation failure on filename case-sensitive file systems.", MessageTemplate: "Incorrect Arduino.h filename case in #include directive: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1377,7 +1460,8 @@ var configurations = []Type{ ID: "SD001", Brief: "no readme", Description: "", - MessageTemplate: "No readme found. Please document your sketch. See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", + MessageTemplate: "No readme found. Please document your sketch.", + Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1393,7 +1477,8 @@ var configurations = []Type{ ID: "SD002", Brief: "no license file", Description: "", - MessageTemplate: "No license file found. See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", + MessageTemplate: "No license file found.", + Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1409,7 +1494,8 @@ var configurations = []Type{ ID: "SM001", Brief: "sketch.json JSON format", Description: "", - MessageTemplate: "sketch.json is not a valid JSON document. See: https://arduino.github.io/arduino-cli/latest/sketch-specification/#metadata", + MessageTemplate: "sketch.json is not a valid JSON document.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1425,7 +1511,8 @@ var configurations = []Type{ ID: "SM002", Brief: "sketch.json data format", Description: "", - MessageTemplate: "sketch.json has an invalid data format: {{.}}. See: https://arduino.github.io/arduino-cli/latest/sketch-specification/#metadata", + MessageTemplate: "sketch.json has an invalid data format: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#metadata", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1441,7 +1528,8 @@ var configurations = []Type{ ID: "PD001", Brief: "no readme", Description: "", - MessageTemplate: "No readme found. Please document your boards platform. See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", + MessageTemplate: "No readme found. Please document your boards platform.", + Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: nil, InfoModes: nil, @@ -1457,7 +1545,8 @@ var configurations = []Type{ ID: "PD002", Brief: "no license file", Description: "", - MessageTemplate: "No license file found. See: https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", + MessageTemplate: "No license file found.", + Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: nil, InfoModes: nil, @@ -1474,6 +1563,7 @@ var configurations = []Type{ Brief: "boards.txt missing", Description: "", MessageTemplate: "Required boards.txt is missing. Expected at: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1490,6 +1580,7 @@ var configurations = []Type{ Brief: "invalid boards.txt", Description: "", MessageTemplate: "boards.txt has an invalid format: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1505,7 +1596,8 @@ var configurations = []Type{ ID: "PF003", Brief: "missing boardID.name", Description: "", - MessageTemplate: "Missing name property for board ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", + MessageTemplate: "Missing name property for board ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1521,7 +1613,8 @@ var configurations = []Type{ ID: "PF004", Brief: "boardID.name < min length", Description: "", - MessageTemplate: "name value for board ID(s) {{.}} is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", + MessageTemplate: "name value for board ID(s) {{.}} is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1537,7 +1630,8 @@ var configurations = []Type{ ID: "PF005", Brief: "missing build.board", Description: "", - MessageTemplate: "Missing build.board property for board ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", + MessageTemplate: "Missing build.board property for board ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1553,7 +1647,8 @@ var configurations = []Type{ ID: "PF006", Brief: "build.board < min length", Description: "", - MessageTemplate: "build.board value for board ID(s) {{.}} is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", + MessageTemplate: "build.board value for board ID(s) {{.}} is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1569,7 +1664,8 @@ var configurations = []Type{ ID: "PF007", Brief: "missing build.core", Description: "", - MessageTemplate: "Missing build.core property for board ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#cores", + MessageTemplate: "Missing build.core property for board ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#cores", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1585,7 +1681,8 @@ var configurations = []Type{ ID: "PF008", Brief: "build.core < min length", Description: "", - MessageTemplate: "build.core value for board ID(s) {{.}} is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#cores", + MessageTemplate: "build.core value for board ID(s) {{.}} is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#cores", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1602,6 +1699,7 @@ var configurations = []Type{ Brief: "use of compiler.x.extra_flags", Description: "", MessageTemplate: "Board ID(s) {{.}} use compiler.x.extra_flags properties. These are intended to be left for use by the user.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1617,7 +1715,8 @@ var configurations = []Type{ ID: "PF011", Brief: "non-empty hide value", Description: "", - MessageTemplate: "hide value for board ID(s) {{.}} is not empty. The value of this property is ignored. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#hiding-boards", + MessageTemplate: "hide value for board ID(s) {{.}} is not empty. The value of this property is ignored.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#hiding-boards", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1633,7 +1732,8 @@ var configurations = []Type{ ID: "PF012", Brief: "menu title < min length", Description: "", - MessageTemplate: "title for menu ID(s) {{.}} are less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#custom-board-options", + MessageTemplate: "title for menu ID(s) {{.}} are less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#custom-board-options", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1649,7 +1749,8 @@ var configurations = []Type{ ID: "PF014", Brief: "serial.disableDTR value invalid", Description: "", - MessageTemplate: "serial.disableDTR value for board ID(s) {{.}} is invalid. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#serial-monitor-control-signal-configuration", + MessageTemplate: "serial.disableDTR value for board ID(s) {{.}} is invalid.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#serial-monitor-control-signal-configuration", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1665,7 +1766,8 @@ var configurations = []Type{ ID: "PF015", Brief: "serial.disableRTS value invalid", Description: "", - MessageTemplate: "serial.disableRTS value for board ID(s) {{.}} is invalid. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#serial-monitor-control-signal-configuration", + MessageTemplate: "serial.disableRTS value for board ID(s) {{.}} is invalid.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#serial-monitor-control-signal-configuration", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1681,7 +1783,8 @@ var configurations = []Type{ ID: "PF016", Brief: "missing upload.tool", Description: "", - MessageTemplate: "Missing upload.tool property for board ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration", + MessageTemplate: "Missing upload.tool property for board ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1697,7 +1800,8 @@ var configurations = []Type{ ID: "PF017", Brief: "upload.tool < min length", Description: "", - MessageTemplate: "upload.tool value for board ID(s) {{.}} is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration", + MessageTemplate: "upload.tool value for board ID(s) {{.}} is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1713,7 +1817,8 @@ var configurations = []Type{ ID: "PF018", Brief: "missing upload.maximum_size", Description: "Although not required, this provides the build system and the user with very useful information so should be provided.", - MessageTemplate: "Missing upload.maximum_size property for board ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "Missing upload.maximum_size property for board ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1729,7 +1834,8 @@ var configurations = []Type{ ID: "PF019", Brief: "upload.maximum_size not a number", Description: "", - MessageTemplate: "upload.maximum_size value for board ID(s) {{.}} is not a number. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "upload.maximum_size value for board ID(s) {{.}} is not a number.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1745,7 +1851,8 @@ var configurations = []Type{ ID: "PF020", Brief: "missing upload.maximum_data_size", Description: "Although not required, this provides the build system and the user with very useful information so should be provided.", - MessageTemplate: "Missing upload.maximum_data_size property for board ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "Missing upload.maximum_data_size property for board ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1761,7 +1868,8 @@ var configurations = []Type{ ID: "PF021", Brief: "upload.maximum_data_size not a number", Description: "", - MessageTemplate: "upload.maximum_data_size value for board ID(s) {{.}} is not a number. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "upload.maximum_data_size value for board ID(s) {{.}} is not a number.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1777,7 +1885,8 @@ var configurations = []Type{ ID: "PF022", Brief: "upload.use_1200bps_touch value invalid", Description: "", - MessageTemplate: "upload.use_1200bps_touch value for board ID(s) {{.}} is invalid. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#1200-bps-bootloader-reset", + MessageTemplate: "upload.use_1200bps_touch value for board ID(s) {{.}} is invalid.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#1200-bps-bootloader-reset", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1793,7 +1902,8 @@ var configurations = []Type{ ID: "PF023", Brief: "upload.wait_for_upload_port value invalid", Description: "", - MessageTemplate: "upload.wait_for_upload_port value for board ID(s) {{.}} is invalid. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#1200-bps-bootloader-reset", + MessageTemplate: "upload.wait_for_upload_port value for board ID(s) {{.}} is invalid.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#1200-bps-bootloader-reset", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1809,7 +1919,8 @@ var configurations = []Type{ ID: "PF024", Brief: "vid.n value invalid format", Description: "", - MessageTemplate: "vid.n value for board ID(s) {{.}} has invalid format. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid", + MessageTemplate: "vid.n value for board ID(s) {{.}} has invalid format.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1825,7 +1936,8 @@ var configurations = []Type{ ID: "PF025", Brief: "pid.n value invalid format", Description: "", - MessageTemplate: "pid.n value for board ID(s) {{.}} has invalid format. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid", + MessageTemplate: "pid.n value for board ID(s) {{.}} has invalid format.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1841,7 +1953,8 @@ var configurations = []Type{ ID: "PF026", Brief: "invalid programmers.txt", Description: "", - MessageTemplate: "programmers.txt has an invalid format: {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", + MessageTemplate: "programmers.txt has an invalid format: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1857,7 +1970,8 @@ var configurations = []Type{ ID: "PF027", Brief: "missing programmerID.name", Description: "", - MessageTemplate: "Missing name property for programmer ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", + MessageTemplate: "Missing name property for programmer ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1873,7 +1987,8 @@ var configurations = []Type{ ID: "PF028", Brief: "programmerID.name < min length", Description: "", - MessageTemplate: "name value for programmer ID(s) {{.}} is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", + MessageTemplate: "name value for programmer ID(s) {{.}} is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1889,7 +2004,8 @@ var configurations = []Type{ ID: "PF029", Brief: "missing programmerID.program.tool", Description: "", - MessageTemplate: "Missing program.tool property for programmer ID(s) {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", + MessageTemplate: "Missing program.tool property for programmer ID(s) {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1905,7 +2021,8 @@ var configurations = []Type{ ID: "PF030", Brief: "programmerID.program.tool < min length", Description: "", - MessageTemplate: "program.tool value for programmer ID(s) {{.}} is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", + MessageTemplate: "program.tool value for programmer ID(s) {{.}} is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1921,7 +2038,8 @@ var configurations = []Type{ ID: "PF031", Brief: "invalid platform.txt", Description: "", - MessageTemplate: "platform.txt has an invalid format: {{.}}. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", + MessageTemplate: "platform.txt has an invalid format: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1937,7 +2055,8 @@ var configurations = []Type{ ID: "PF032", Brief: "missing name", Description: "", - MessageTemplate: "Missing name property in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", + MessageTemplate: "Missing name property in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1953,7 +2072,8 @@ var configurations = []Type{ ID: "PF033", Brief: "name < min length", Description: "", - MessageTemplate: "platform.txt name property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", + MessageTemplate: "platform.txt name property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1969,7 +2089,8 @@ var configurations = []Type{ ID: "PF034", Brief: "missing version", Description: "", - MessageTemplate: "Missing version property in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", + MessageTemplate: "Missing version property in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1985,7 +2106,8 @@ var configurations = []Type{ ID: "PF035", Brief: "invalid version", Description: `Must be compliant with "relaxed semver".`, - MessageTemplate: "platform.txt version value {{.}} is invalid. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", + MessageTemplate: "platform.txt version value {{.}} is invalid.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2001,7 +2123,8 @@ var configurations = []Type{ ID: "PF036", Brief: "non-semver version", Description: "", - MessageTemplate: "platform.txt version value {{.}} is not compliant with the semver specification. See: https://semver.org/", + MessageTemplate: "platform.txt version value {{.}} is not compliant with the semver specification.", + Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2017,7 +2140,8 @@ var configurations = []Type{ ID: "PF037", Brief: "missing compiler.warning_flags.none", Description: "", - MessageTemplate: "Missing compiler.warning_flags.none in platform.txt.", + MessageTemplate: "Missing compiler.warning_flags.none in platform.txt", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2033,7 +2157,8 @@ var configurations = []Type{ ID: "PF038", Brief: "missing compiler.warning_flags.default", Description: "", - MessageTemplate: "Missing compiler.warning_flags.default in platform.txt.", + MessageTemplate: "Missing compiler.warning_flags.default in platform.txt", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2049,7 +2174,8 @@ var configurations = []Type{ ID: "PF039", Brief: "missing compiler.warning_flags.more", Description: "", - MessageTemplate: "Missing compiler.warning_flags.more in platform.txt.", + MessageTemplate: "Missing compiler.warning_flags.more in platform.txt", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2065,7 +2191,8 @@ var configurations = []Type{ ID: "PF040", Brief: "missing compiler.warning_flags.all", Description: "", - MessageTemplate: "Missing compiler.warning_flags.all in platform.txt.", + MessageTemplate: "Missing compiler.warning_flags.all in platform.txt", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2081,7 +2208,8 @@ var configurations = []Type{ ID: "PF041", Brief: "missing compiler.optimization_flags.debug", Description: "In order to support the optimization level feature, both compiler.optimization_flags.release and compiler.optimization_flags.debug must be defined.", - MessageTemplate: "Missing compiler.optimization_flags.debug in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration", + MessageTemplate: "Missing compiler.optimization_flags.debug in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2097,7 +2225,8 @@ var configurations = []Type{ ID: "PF042", Brief: "missing compiler.optimization_flags.release", Description: "In order to support the optimization level feature, both compiler.optimization_flags.release and compiler.optimization_flags.debug must be defined.", - MessageTemplate: "Missing compiler.optimization_flags.release in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration", + MessageTemplate: "Missing compiler.optimization_flags.release in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2114,6 +2243,7 @@ var configurations = []Type{ Brief: "missing compiler.c.extra_flags", Description: "", MessageTemplate: "Missing compiler.c.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2130,6 +2260,7 @@ var configurations = []Type{ Brief: "compiler.c.extra_flags not empty", Description: "", MessageTemplate: "platform.txt compiler.c.extra_flags property value is not empty. This property is exclusively for use by the user.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2146,6 +2277,7 @@ var configurations = []Type{ Brief: "missing compiler.cpp.extra_flags", Description: "", MessageTemplate: "Missing compiler.cpp.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2162,6 +2294,7 @@ var configurations = []Type{ Brief: "compiler.cpp.extra_flags not empty", Description: "", MessageTemplate: "platform.txt compiler.cpp.extra_flags property value is not empty. This property is exclusively for use by the user.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2178,6 +2311,7 @@ var configurations = []Type{ Brief: "missing compiler.S.extra_flags", Description: "", MessageTemplate: "Missing compiler.S.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2194,6 +2328,7 @@ var configurations = []Type{ Brief: "compiler.S.extra_flags not empty", Description: "", MessageTemplate: "platform.txt compiler.S.extra_flags property value is not empty. This property is exclusively for use by the user.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2210,6 +2345,7 @@ var configurations = []Type{ Brief: "missing compiler.ar.extra_flags", Description: "", MessageTemplate: "Missing compiler.ar.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2226,6 +2362,7 @@ var configurations = []Type{ Brief: "compiler.ar.extra_flags not empty", Description: "", MessageTemplate: "platform.txt compiler.ar.extra_flags property value is not empty. This property is exclusively for use by the user.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2242,6 +2379,7 @@ var configurations = []Type{ Brief: "missing compiler.c.elf.extra_flags", Description: "", MessageTemplate: "Missing compiler.c.elf.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2258,6 +2396,7 @@ var configurations = []Type{ Brief: "compiler.c.elf.extra_flags not empty", Description: "", MessageTemplate: "platform.txt compiler.c.elf.extra_flags property value is not empty. This property is exclusively for use by the user.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2273,7 +2412,8 @@ var configurations = []Type{ ID: "PF053", Brief: "recipe.preproc.macros < min length", Description: "", - MessageTemplate: "recipe.preproc.macros property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipe-to-run-the-preprocessor", + MessageTemplate: "recipe.preproc.macros property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipe-to-run-the-preprocessor", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2290,6 +2430,7 @@ var configurations = []Type{ Brief: "recipe.preproc.macros lacks extra flags support", Description: "", MessageTemplate: "recipe.preproc.macros property value does not contain a {compiler.cpp.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2305,7 +2446,8 @@ var configurations = []Type{ ID: "PF055", Brief: "missing recipe.c.o.pattern", Description: "", - MessageTemplate: "Missing recipe.c.o.pattern in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", + MessageTemplate: "Missing recipe.c.o.pattern in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2321,7 +2463,8 @@ var configurations = []Type{ ID: "PF056", Brief: "recipe.c.o.pattern < min length", Description: "", - MessageTemplate: "recipe.c.o.pattern property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", + MessageTemplate: "recipe.c.o.pattern property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2338,6 +2481,7 @@ var configurations = []Type{ Brief: "recipe.c.o.pattern lacks extra flags support", Description: "", MessageTemplate: "recipe.c.o.pattern property value does not contain a {compiler.c.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2353,7 +2497,8 @@ var configurations = []Type{ ID: "PF058", Brief: "missing recipe.cpp.o.pattern", Description: "", - MessageTemplate: "Missing recipe.cpp.o.pattern in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", + MessageTemplate: "Missing recipe.cpp.o.pattern in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2369,7 +2514,8 @@ var configurations = []Type{ ID: "PF059", Brief: "recipe.cpp.o.pattern < min length", Description: "", - MessageTemplate: "recipe.cpp.o.pattern property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", + MessageTemplate: "recipe.cpp.o.pattern property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2386,6 +2532,7 @@ var configurations = []Type{ Brief: "recipe.cpp.o.pattern lacks extra flags support", Description: "", MessageTemplate: "recipe.cpp.o.pattern property value does not contain a {compiler.cpp.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2401,7 +2548,8 @@ var configurations = []Type{ ID: "PF061", Brief: "missing recipe.S.o.pattern", Description: "", - MessageTemplate: "Missing recipe.S.o.pattern in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", + MessageTemplate: "Missing recipe.S.o.pattern in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2417,7 +2565,8 @@ var configurations = []Type{ ID: "PF062", Brief: "recipe.S.o.pattern < min length", Description: "", - MessageTemplate: "recipe.S.o.pattern property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", + MessageTemplate: "recipe.S.o.pattern property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2434,6 +2583,7 @@ var configurations = []Type{ Brief: "recipe.S.o.pattern lacks extra flags support", Description: "", MessageTemplate: "recipe.S.o.pattern property value does not contain a {compiler.S.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2449,7 +2599,8 @@ var configurations = []Type{ ID: "PF064", Brief: "missing recipe.ar.pattern", Description: "", - MessageTemplate: "Missing recipe.ar.pattern in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file", + MessageTemplate: "Missing recipe.ar.pattern in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2465,7 +2616,8 @@ var configurations = []Type{ ID: "PF065", Brief: "recipe.ar.pattern < min length", Description: "", - MessageTemplate: "recipe.ar.pattern property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file", + MessageTemplate: "recipe.ar.pattern property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2482,6 +2634,7 @@ var configurations = []Type{ Brief: "recipe.ar.pattern lacks extra flags support", Description: "", MessageTemplate: "recipe.ar.pattern property value does not contain a {compiler.ar.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2497,7 +2650,8 @@ var configurations = []Type{ ID: "PF067", Brief: "missing recipe.c.combine.pattern", Description: "", - MessageTemplate: "Missing recipe.c.combine.pattern in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-for-linking", + MessageTemplate: "Missing recipe.c.combine.pattern in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-for-linking", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2513,7 +2667,8 @@ var configurations = []Type{ ID: "PF068", Brief: "recipe.c.combine.pattern < min length", Description: "", - MessageTemplate: "recipe.c.combine.pattern property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-for-linking", + MessageTemplate: "recipe.c.combine.pattern property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-for-linking", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2530,6 +2685,7 @@ var configurations = []Type{ Brief: "recipe.c.combine.pattern lacks extra flags support", Description: "", MessageTemplate: "recipe.c.combine.pattern property value does not contain a {compiler.c.elf.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2545,7 +2701,8 @@ var configurations = []Type{ ID: "PF070", Brief: "missing recipe.output.tmp_file", Description: "", - MessageTemplate: "Missing recipe.output.tmp_file in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", + MessageTemplate: "Missing recipe.output.tmp_file in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2561,7 +2718,8 @@ var configurations = []Type{ ID: "PF071", Brief: "recipe.output.tmp_file < min length", Description: "", - MessageTemplate: "recipe.output.tmp_file property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", + MessageTemplate: "recipe.output.tmp_file property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2577,7 +2735,8 @@ var configurations = []Type{ ID: "PF072", Brief: "missing recipe.output.save_file", Description: "", - MessageTemplate: "Missing recipe.output.save_file in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", + MessageTemplate: "Missing recipe.output.save_file in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2593,7 +2752,8 @@ var configurations = []Type{ ID: "PF073", Brief: "recipe.output.save_file < min length", Description: "", - MessageTemplate: "recipe.output.save_file property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", + MessageTemplate: "recipe.output.save_file property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2609,7 +2769,8 @@ var configurations = []Type{ ID: "PF074", Brief: "missing recipe.size.pattern", Description: "", - MessageTemplate: "Missing recipe.size.pattern in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "Missing recipe.size.pattern in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2625,7 +2786,8 @@ var configurations = []Type{ ID: "PF075", Brief: "recipe.size.pattern < min length", Description: "", - MessageTemplate: "recipe.size.pattern property value is less than the minimum length. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "recipe.size.pattern property value is less than the minimum length.", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2641,7 +2803,8 @@ var configurations = []Type{ ID: "PF076", Brief: "missing recipe.size.regex", Description: "", - MessageTemplate: "Missing recipe.size.regex in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "Missing recipe.size.regex in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2657,7 +2820,8 @@ var configurations = []Type{ ID: "PF077", Brief: "missing recipe.size.regex.data", Description: "", - MessageTemplate: "Missing recipe.size.regex.data in platform.txt. See: https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", + MessageTemplate: "Missing recipe.size.regex.data in platform.txt", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2673,7 +2837,8 @@ var configurations = []Type{ ID: "PF080", Brief: "missing upload.pattern", Description: "", - MessageTemplate: "Missing upload.pattern for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", + MessageTemplate: "Missing upload.pattern for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2689,7 +2854,8 @@ var configurations = []Type{ ID: "PF081", Brief: "missing program.params.verbose", Description: "", - MessageTemplate: "Missing program.params.verbose for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", + MessageTemplate: "Missing program.params.verbose for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2705,7 +2871,8 @@ var configurations = []Type{ ID: "PF082", Brief: "missing program.params.quiet", Description: "", - MessageTemplate: "Missing program.params.quiet for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", + MessageTemplate: "Missing program.params.quiet for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2721,7 +2888,8 @@ var configurations = []Type{ ID: "PF083", Brief: "missing program.pattern", Description: "", - MessageTemplate: "Missing program.pattern for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", + MessageTemplate: "Missing program.pattern for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2737,7 +2905,8 @@ var configurations = []Type{ ID: "PF084", Brief: "missing erase.params.verbose", Description: "", - MessageTemplate: "Missing erase.params.verbose for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", + MessageTemplate: "Missing erase.params.verbose for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2753,7 +2922,8 @@ var configurations = []Type{ ID: "PF085", Brief: "missing erase.params.quiet", Description: "", - MessageTemplate: "Missing erase.params.quiet for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", + MessageTemplate: "Missing erase.params.quiet for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2769,7 +2939,8 @@ var configurations = []Type{ ID: "PF086", Brief: "missing erase.pattern", Description: "", - MessageTemplate: "Missing erase.pattern for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", + MessageTemplate: "Missing erase.pattern for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2785,7 +2956,8 @@ var configurations = []Type{ ID: "PF087", Brief: "missing bootloader.params.verbose", Description: "", - MessageTemplate: "Missing bootloader.params.verbose for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", + MessageTemplate: "Missing bootloader.params.verbose for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2801,7 +2973,8 @@ var configurations = []Type{ ID: "PF088", Brief: "missing bootloader.params.quiet", Description: "", - MessageTemplate: "Missing bootloader.params.quiet for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", + MessageTemplate: "Missing bootloader.params.quiet for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2817,7 +2990,8 @@ var configurations = []Type{ ID: "PF089", Brief: "missing bootloader.pattern", Description: "", - MessageTemplate: "Missing bootloader.pattern for {{.}} tool(s). See: https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", + MessageTemplate: "Missing bootloader.pattern for {{.}} tool(s).", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2834,6 +3008,7 @@ var configurations = []Type{ Brief: "Arduino.h case", Description: "This causes compilation failure on filename case-sensitive file systems.", MessageTemplate: "Incorrect Arduino.h filename case in #include directive: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2849,7 +3024,8 @@ var configurations = []Type{ ID: "IS001", Brief: "missing", Description: "", - MessageTemplate: "No package index was found in specified project path. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", + MessageTemplate: "No package index was found in specified project path.", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2865,7 +3041,8 @@ var configurations = []Type{ ID: "IS002", Brief: "invalid filename", Description: "", - MessageTemplate: "Invalid package index filename {{.}}. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", + MessageTemplate: "Invalid package index filename {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2881,7 +3058,8 @@ var configurations = []Type{ ID: "IS003", Brief: "invalid official filename", Description: "", - MessageTemplate: "Invalid official package index filename {{.}}. See: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", + MessageTemplate: "Invalid official package index filename {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.Official}, InfoModes: nil, @@ -2898,6 +3076,7 @@ var configurations = []Type{ Brief: "JSON format", Description: "", MessageTemplate: "Invalid JSON format.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2914,6 +3093,7 @@ var configurations = []Type{ Brief: "data format", Description: "", MessageTemplate: "Invalid package index format: {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2930,6 +3110,7 @@ var configurations = []Type{ Brief: "Additional properties in root", Description: "", MessageTemplate: "Unknown properties found in package index root.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2946,6 +3127,7 @@ var configurations = []Type{ Brief: "packages[] missing", Description: "", MessageTemplate: "Missing packages property.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2962,6 +3144,7 @@ var configurations = []Type{ Brief: "Incorrect packages type", Description: "", MessageTemplate: "packages property has incorrect type.", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2978,6 +3161,7 @@ var configurations = []Type{ Brief: "Additional properties in packages", Description: "", MessageTemplate: "Unknown properties found in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -2994,6 +3178,7 @@ var configurations = []Type{ Brief: "packages[].name missing", Description: "", MessageTemplate: "Missing packages[].name property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3010,6 +3195,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].name type", Description: "The name value must be a string.", MessageTemplate: "packages[].name property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3026,6 +3212,7 @@ var configurations = []Type{ Brief: "packages[].name < min length", Description: "", MessageTemplate: "packages[].name value less than the minimum length in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3042,6 +3229,7 @@ var configurations = []Type{ Brief: "packages[].name is arduino", Description: "Case insensitive.", MessageTemplate: "Use of packages[].name value \"arduino\" found. This name is reserved for official packages.", + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3058,6 +3246,7 @@ var configurations = []Type{ Brief: "packages[].maintainer missing", Description: "", MessageTemplate: "Missing packages[].maintainer property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3074,6 +3263,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].maintainer type", Description: "The maintainer value must be a string.", MessageTemplate: "packages[].maintainer property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3090,6 +3280,7 @@ var configurations = []Type{ Brief: "packages[].maintainer < min length", Description: "", MessageTemplate: "packages[].maintainer value less than the minimum length in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3106,6 +3297,7 @@ var configurations = []Type{ Brief: "packages[].maintainer starts with \"arduino\"", Description: "Case insensitive.", MessageTemplate: "packages[].maintainer value starts with \"arduino\" in package(s): {{.}}. 3rd party packages are not maintained by Arduino.", + Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3122,6 +3314,7 @@ var configurations = []Type{ Brief: "packages[].websiteURL missing", Description: "", MessageTemplate: "Missing packages[].websiteURL property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3138,6 +3331,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].websiteURL type", Description: "Must be a string.", MessageTemplate: "packages[].websiteURL property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3154,6 +3348,7 @@ var configurations = []Type{ Brief: "Invalid packages[].websiteURL format", Description: "", MessageTemplate: "packages[].websiteURL property does not have a valid URL format in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3170,6 +3365,7 @@ var configurations = []Type{ Brief: "dead packages[].websiteURL", Description: "", MessageTemplate: "Unable to load the packages[].websiteURL URL for package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3186,6 +3382,7 @@ var configurations = []Type{ Brief: "packages[].email missing", Description: "", MessageTemplate: "Missing packages[].email property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3202,6 +3399,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].email type", Description: "Must be a string.", MessageTemplate: "packages[].email property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3218,6 +3416,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].help type", Description: "Must be a string.", MessageTemplate: "packages[].help property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3234,6 +3433,7 @@ var configurations = []Type{ Brief: "Additional properties in packages[].help", Description: "", MessageTemplate: "Unknown properties under packages[].help found in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3250,6 +3450,7 @@ var configurations = []Type{ Brief: "packages[].help.online missing", Description: "", MessageTemplate: "Missing packages[].help.online property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3266,6 +3467,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].help.online type", Description: "Must be a string.", MessageTemplate: "packages[].help.online property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3282,6 +3484,7 @@ var configurations = []Type{ Brief: "Invalid packages[].help.online format", Description: "", MessageTemplate: "packages[].help.online property does not have a valid URL format in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3298,6 +3501,7 @@ var configurations = []Type{ Brief: "dead packages[].help.online", Description: "", MessageTemplate: "Unable to load the packages[].help.online URL for package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3314,6 +3518,7 @@ var configurations = []Type{ Brief: "packages[].platforms missing", Description: "", MessageTemplate: "Missing packages[].platforms property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3330,6 +3535,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms type", Description: "Must be an array.", MessageTemplate: "packages[].platforms property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3346,6 +3552,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[] found in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3362,6 +3569,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].name property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3378,6 +3586,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].name property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3394,6 +3603,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].name value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3410,6 +3620,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].architecture missing", Description: "", MessageTemplate: "Missing packages[].platforms[].architecture property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3426,6 +3637,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].architecture type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].architecture property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3442,6 +3654,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].architecture < min length", Description: "", MessageTemplate: "packages[].platforms[].architecture value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3458,6 +3671,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].version missing", Description: "", MessageTemplate: "Missing packages[].platforms[].version property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3474,6 +3688,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].version type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].version property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3490,6 +3705,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].version", Description: "Must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].platforms[].version property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3505,7 +3721,8 @@ var configurations = []Type{ ID: "IL013", Brief: "non-semver packages[].platforms[].version", Description: "", - MessageTemplate: "packages[].platforms[].version property in violation of semver specification found in platform(s):\n{{.}}\nSee: https://semver.org/", + MessageTemplate: "packages[].platforms[].version property in violation of semver specification found in platform(s):\n{{.}}", + Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3522,6 +3739,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].deprecated type", Description: "Must be a boolean.", MessageTemplate: "packages[].platforms[].deprecated property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3538,6 +3756,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].category missing", Description: "", MessageTemplate: "Missing packages[].platforms[].category property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3554,6 +3773,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].category type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].category property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3569,7 +3789,8 @@ var configurations = []Type{ ID: "IL016", Brief: "invalid packages[].platforms[].category", Description: "", - MessageTemplate: "packages[].platforms[].category property invalid in platform(s):\n{{.}}\nSee: https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", + MessageTemplate: "packages[].platforms[].category property invalid in platform(s):\n{{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3586,6 +3807,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].help missing", Description: "", MessageTemplate: "Missing packages[].platforms[].help property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3602,6 +3824,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].help type", Description: "Must be an object.", MessageTemplate: "packages[].platforms[].help property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3618,6 +3841,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].help", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].help found in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3634,6 +3858,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].help.online missing", Description: "", MessageTemplate: "Missing packages[].platforms[].help.online property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3650,6 +3875,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].help.online type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].help.online property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3666,6 +3892,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].help.online format", Description: "", MessageTemplate: "packages[].platforms[].help.online property does not have a valid URL format in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3682,6 +3909,7 @@ var configurations = []Type{ Brief: "dead packages[].platforms[].help.online", Description: "", MessageTemplate: "Unable to load the packages[].platforms[].help.online URL for platforms(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3698,6 +3926,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].url missing", Description: "", MessageTemplate: "Missing packages[].platforms[].url property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3714,6 +3943,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].url type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].url property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3730,6 +3960,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].url format", Description: "", MessageTemplate: "packages[].platforms[].url property does not have a valid URL format in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3746,6 +3977,7 @@ var configurations = []Type{ Brief: "dead packages[].platforms[].url", Description: "", MessageTemplate: "Unable to load the packages[].platforms[].url URL for platforms(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3762,6 +3994,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].archiveFileName missing", Description: "", MessageTemplate: "Missing packages[].platforms[].archiveFileName property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3778,6 +4011,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].archiveFileName type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].archiveFileName property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3794,6 +4028,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].archiveFileName < min length", Description: "", MessageTemplate: "packages[].platforms[].archiveFileName value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3810,6 +4045,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].archiveFileName", Description: "", MessageTemplate: "packages[].platforms[].archiveFileName filename uses unsupported file extension in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3826,6 +4062,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].checksum missing", Description: "", MessageTemplate: "Missing packages[].platforms[].checksum property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3842,6 +4079,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].checksum type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].checksum property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3858,6 +4096,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].checksum", Description: "", MessageTemplate: "packages[].platforms[].checksum has an invalid format in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3874,6 +4113,7 @@ var configurations = []Type{ Brief: "discouraged packages[].platforms[].checksum algorithm", Description: "", MessageTemplate: "packages[].platforms[].checksum uses a discouraged hash algorithm in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3890,6 +4130,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].size missing", Description: "", MessageTemplate: "Missing packages[].platforms[].size property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3906,6 +4147,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].size type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].size property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3922,6 +4164,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].size", Description: "", MessageTemplate: "packages[].platforms[].size has an invalid format in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3938,6 +4181,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].boards[] missing", Description: "", MessageTemplate: "Missing packages[].platforms[].boards[] property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3954,6 +4198,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].boards type", Description: "Must be an array.", MessageTemplate: "packages[].platforms[].boards property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3970,6 +4215,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].boards[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].boards[] found in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3986,6 +4232,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].boards[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].boards[].name property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4002,6 +4249,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].boards[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].boards[].name property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4018,6 +4266,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].boards[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].boards[].name value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4034,6 +4283,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[] missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[] property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4050,6 +4300,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies type", Description: "Must be an array.", MessageTemplate: "packages[].platforms[].toolsDependencies property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4066,6 +4317,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].toolsDependencies[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].toolsDependencies[] found in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4082,6 +4334,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].packager missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].packager property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4098,6 +4351,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies[].packager type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].toolsDependencies[].packager property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4114,6 +4368,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].packager < min length", Description: "", MessageTemplate: "packages[].platforms[].toolsDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4130,6 +4385,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].name property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4146,6 +4402,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].toolsDependencies[].name property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4162,6 +4419,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].toolsDependencies[].name value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4178,6 +4436,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].version missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4194,6 +4453,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies[].version type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].toolsDependencies[].version property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4210,6 +4470,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].toolsDependencies[].version", Description: "Must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4225,7 +4486,8 @@ var configurations = []Type{ ID: "IL057", Brief: "non-semver packages[].platforms[].toolsDependencies[].version", Description: "", - MessageTemplate: "packages[].platforms[].toolsDependencies[].version property in violation of semver specification found in platform(s):\n{{.}}\nSee: https://semver.org/", + MessageTemplate: "packages[].platforms[].toolsDependencies[].version property in violation of semver specification found in platform(s):\n{{.}}", + Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4242,6 +4504,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].discoveryDependencies type", Description: "Must be an array.", MessageTemplate: "packages[].platforms[].discoveryDependencies property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4258,6 +4521,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].discoveryDependencies[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].discoveryDependencies[] found in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4274,6 +4538,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].packager missing", Description: "", MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].packager property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4290,6 +4555,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].discoveryDependencies[].packager type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4306,6 +4572,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].packager < min length", Description: "", MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4322,6 +4589,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].name property in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4338,6 +4606,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].discoveryDependencies[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].name property has incorrect type in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4354,6 +4623,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].discoveryDependencies[].name value less than the minimum length in platform(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4370,6 +4640,7 @@ var configurations = []Type{ Brief: "packages[].tools[] missing", Description: "", MessageTemplate: "Missing packages[].tools property in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4386,6 +4657,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools type", Description: "Must be an array.", MessageTemplate: "packages[].tools property has incorrect type in package(s): {{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4402,6 +4674,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].tools[]", Description: "", MessageTemplate: "Unknown properties under packages[].tools[] found in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4418,6 +4691,7 @@ var configurations = []Type{ Brief: "packages[].tools[].name missing", Description: "", MessageTemplate: "Missing packages[].tools[].name property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4434,6 +4708,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].name type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].name property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4450,6 +4725,7 @@ var configurations = []Type{ Brief: "packages[].tools[].name < min length", Description: "", MessageTemplate: "packages[].tools[].name value less than the minimum length in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4466,6 +4742,7 @@ var configurations = []Type{ Brief: "packages[].tools[].version missing", Description: "", MessageTemplate: "Missing packages[].tools[].version property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4482,6 +4759,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].version type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].version property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4498,6 +4776,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].version", Description: "Must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].tools[].version property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4513,7 +4792,8 @@ var configurations = []Type{ ID: "IT010", Brief: "non-semver packages[].tools[].version", Description: "", - MessageTemplate: "packages[].tools[].version property in violation of semver specification found in tool(s):\n{{.}}\nSee: https://semver.org/", + MessageTemplate: "packages[].tools[].version property in violation of semver specification found in tool(s):\n{{.}}", + Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4530,6 +4810,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[] missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[] property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4546,6 +4827,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems type", Description: "Must be an array.", MessageTemplate: "packages[].tools[].systems property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4562,6 +4844,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].tools[].systems[]", Description: "", MessageTemplate: "Unknown properties under packages[].tools[].systems[] found in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4578,6 +4861,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].host missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].host property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4594,6 +4878,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].host type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].host property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4610,6 +4895,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].host", Description: "", MessageTemplate: "packages[].tools[].systems[].host has an invalid format in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4626,6 +4912,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].url missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].url property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4642,6 +4929,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].url type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].url property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4658,6 +4946,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].url format", Description: "", MessageTemplate: "packages[].tools[].systems[].url property does not have a valid URL format in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4674,6 +4963,7 @@ var configurations = []Type{ Brief: "dead packages[].tools[].systems[].url", Description: "", MessageTemplate: "Unable to load the packages[].tools[].systems[].url URL for tools(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4690,6 +4980,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].archiveFileName missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].archiveFileName property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4706,6 +4997,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].archiveFileName type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].archiveFileName property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4722,6 +5014,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].archiveFileName < min length", Description: "", MessageTemplate: "packages[].tools[].systems[].archiveFileName value less than the minimum length in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4738,6 +5031,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].archiveFileName", Description: "", MessageTemplate: "packages[].tools[].systems[].archiveFileName has an invalid format in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4754,6 +5048,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].checksum missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].checksum property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4770,6 +5065,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].checksum type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].checksum property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4786,6 +5082,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].checksum", Description: "", MessageTemplate: "packages[].tools[].systems[].checksum has an invalid format in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4802,6 +5099,7 @@ var configurations = []Type{ Brief: "discouraged packages[].tools[].systems[].checksum algorithm", Description: "", MessageTemplate: "packages[].tools[].systems[].checksum uses a discouraged hash algorithm in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4818,6 +5116,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].size missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].size property in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4834,6 +5133,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].size type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].size property has incorrect type in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4850,6 +5150,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].size", Description: "", MessageTemplate: "packages[].tools[].systems[].size has an invalid format in tool(s):\n{{.}}", + Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, From 453a1785606b84c9e29401e8a46deb337b59f244 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 23 Aug 2021 01:46:19 -0700 Subject: [PATCH 04/12] Update reference URLs Some of the content has been moved to a new URL. Although the visitor was redirected to the new location, meaning they were not exactly broken, it is better to send them to the right location from the start. --- .../rule/ruleconfiguration/ruleconfiguration.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index 82552d7b..2b483ad7 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -560,7 +560,7 @@ var configurations = []Type{ Brief: "not in LM index", Description: "The name value is the identifier used to install the library and define dependencies, so it should not be changed.", MessageTemplate: "Library name {{.}} not found in the Library Manager index. Library names are not allowed to change after being added to the index.", - Reference: "https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ#how-can-i-change-my-librarys-name", + Reference: "https://github.com/arduino/library-registry/blob/main/FAQ.md#how-can-i-change-a-librarys-name", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerIndexed}, InfoModes: nil, @@ -1257,7 +1257,7 @@ var configurations = []Type{ Brief: "no readme", Description: "", MessageTemplate: "No readme found. Please document your library.", - Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", + Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1274,7 +1274,7 @@ var configurations = []Type{ Brief: "no license file", Description: "", MessageTemplate: "No license file found.", - Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", + Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1461,7 +1461,7 @@ var configurations = []Type{ Brief: "no readme", Description: "", MessageTemplate: "No readme found. Please document your sketch.", - Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", + Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1478,7 +1478,7 @@ var configurations = []Type{ Brief: "no license file", Description: "", MessageTemplate: "No license file found.", - Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", + Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1529,7 +1529,7 @@ var configurations = []Type{ Brief: "no readme", Description: "", MessageTemplate: "No readme found. Please document your boards platform.", - Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-readmes", + Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: nil, InfoModes: nil, @@ -1546,7 +1546,7 @@ var configurations = []Type{ Brief: "no license file", Description: "", MessageTemplate: "No license file found.", - Reference: "https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/licensing-a-repository#detecting-a-license", + Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: nil, InfoModes: nil, From f532a1ad8fb6c6155e5adeaec98c631cfb21d166 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 23 Aug 2021 02:50:15 -0700 Subject: [PATCH 05/12] Add missing rule reference URLs These will make it easy for users to find information about the problem that caused the rule violation, and how to solve it. --- .../ruleconfiguration/ruleconfiguration.go | 296 +++++++++--------- 1 file changed, 148 insertions(+), 148 deletions(-) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index 2b483ad7..fcf3a72a 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -186,7 +186,7 @@ var configurations = []Type{ Brief: "name-header mismatch", Description: `The name value determines the installation folder name and the folder match to the filename in the #include directive influences "folder name priority".`, MessageTemplate: "No header file found matching library name ({{.}}). Best practices are for primary header filename to match library name.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: []rulemode.Type{rulemode.Permissive}, @@ -390,7 +390,7 @@ var configurations = []Type{ Brief: "name < min length", Description: "", MessageTemplate: "library.properties name value is less than minimum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -407,7 +407,7 @@ var configurations = []Type{ Brief: "name > max length", Description: "", MessageTemplate: "library.properties name value {{.}} is longer than maximum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -424,7 +424,7 @@ var configurations = []Type{ Brief: "name > recommended length", Description: "", MessageTemplate: "library.properties name value {{.}} is longer than the recommended length of 16 characters.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -458,7 +458,7 @@ var configurations = []Type{ Brief: `name starts with "Arduino"`, Description: `Case insensitive. Only 3rd party libraries added to the Library Manager index prior to the enactment of this rule are allowed to have this name prefix.`, MessageTemplate: `Library name {{.}} starts with "Arduino". These names are reserved for official libraries.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -475,7 +475,7 @@ var configurations = []Type{ Brief: "name missing official prefix", Description: "", MessageTemplate: `Library name {{.}} is missing the "Arduino_" prefix. All new official library names must use this prefix.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.Official}, InfoModes: nil, @@ -492,7 +492,7 @@ var configurations = []Type{ Brief: `name contains "Arduino"`, Description: "Case insensitive", MessageTemplate: `Library name {{.}} contains "Arduino". This is superfluous.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -509,7 +509,7 @@ var configurations = []Type{ Brief: "name contains spaces", Description: "Best practices is for the name value, installation folder, and primary header filename to all match, but this is not possible with names containing spaces.", MessageTemplate: "library.properties name {{.}} contains spaces. Although supported, best practices is to not use spaces.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -526,7 +526,7 @@ var configurations = []Type{ Brief: `name contains "library"`, Description: "Case insensitive", MessageTemplate: `Library name {{.}} contains "library". This is superfluous.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -543,7 +543,7 @@ var configurations = []Type{ Brief: "duplicate name", Description: "This requirement only applies to the library.properties name value. There is no requirement to change the repository or header file names.", MessageTemplate: "Library name {{.}} is in use by a library in the Library Manager index. Each library must have a unique name value. If your library is already in the index, use the \"--library-manager update\" flag.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerSubmission}, InfoModes: nil, @@ -577,7 +577,7 @@ var configurations = []Type{ Brief: "missing version field", Description: "", MessageTemplate: "Missing version field in library.properties", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -628,7 +628,7 @@ var configurations = []Type{ Brief: "tag mismatch", Description: "The Library Manager indexer will reject any tag that has a library.properties version equal to a previous tag in the index.", MessageTemplate: "The latest Git tag appears to be greater than the library.properties version value: {{.}}. You must update the version value before making the tag.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.LibraryManagerIndexed}, InfoModes: nil, @@ -662,7 +662,7 @@ var configurations = []Type{ Brief: "author < min length", Description: "", MessageTemplate: "library.properties author value is less than minimum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -696,7 +696,7 @@ var configurations = []Type{ Brief: "maintainer < min length", Description: "", MessageTemplate: "library.properties maintainer value is less than minimum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -713,7 +713,7 @@ var configurations = []Type{ Brief: `maintainer starts with "Arduino"`, Description: "Case insensitive.", MessageTemplate: `library.properties maintainer value {{.}} starts with "Arduino". 3rd party libraries are not maintained by Arduino.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -730,7 +730,7 @@ var configurations = []Type{ Brief: `maintainer contains "Arduino"`, Description: "Case insensitive.", MessageTemplate: `library.properties maintainer value {{.}} contains "Arduino". 3rd party libraries are not maintained by Arduino.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -747,7 +747,7 @@ var configurations = []Type{ Brief: `"email" used as alias for "maintainer"`, Description: "This was only in an early draft of the beta 1.5 library specification.", MessageTemplate: `library.properties "email" field used as alias for "maintainer". This is deprecated.`, - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -815,7 +815,7 @@ var configurations = []Type{ Brief: "sentence < min length", Description: "", MessageTemplate: "library.properties sentence value is less than minimum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -832,7 +832,7 @@ var configurations = []Type{ Brief: "sentence spell check", Description: "", MessageTemplate: "A commonly misspelled word was found in the library.properties sentence field. Suggested correction: {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -866,7 +866,7 @@ var configurations = []Type{ Brief: "paragraph spell check", Description: "", MessageTemplate: "A commonly misspelled word was found in the library.properties paragraph field. Suggested correction: {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -883,7 +883,7 @@ var configurations = []Type{ Brief: "paragraph repeats sentence", Description: "", MessageTemplate: "The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy is not needed.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -968,7 +968,7 @@ var configurations = []Type{ Brief: "url < min length", Description: "", MessageTemplate: "library.properties url value is less than minimum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -985,7 +985,7 @@ var configurations = []Type{ Brief: "invalid url format", Description: "", MessageTemplate: "library.properties url field value {{.}} does not have a valid URL format.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1002,7 +1002,7 @@ var configurations = []Type{ Brief: "dead URL", Description: "", MessageTemplate: "Unable to load the library.properties url field: {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1104,7 +1104,7 @@ var configurations = []Type{ Brief: "depends not in index", Description: "This field should be used to define the dependencies available from Library Manager. Library names are case-sensitive.", MessageTemplate: "library.properties depends field item(s) {{.}} not found in the Library Manager index.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.LibraryManagerIndexing}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1172,7 +1172,7 @@ var configurations = []Type{ Brief: "includes not in library", Description: `People often think this is the way to define their library's dependencies, which breaks the "Sketch > Include Library" feature for that library.`, MessageTemplate: "library.properties includes field item(s) {{.}} not found in library.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1223,7 +1223,7 @@ var configurations = []Type{ Brief: "ldflags < min length", Description: "", MessageTemplate: "library.properties ldflags value is less than minimum length.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1410,7 +1410,7 @@ var configurations = []Type{ Brief: ".pde extension", Description: "The .pde extension is used by both Processing sketches and Arduino sketches. Processing sketches should either be in the \"data\" subfolder of the sketch or in the \"extras\" folder of the library. Arduino sketches should use the modern .ino extension.", MessageTemplate: "{{.}} uses deprecated .pde file extension. Use .ino for Arduino sketches.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1563,7 +1563,7 @@ var configurations = []Type{ Brief: "boards.txt missing", Description: "", MessageTemplate: "Required boards.txt is missing. Expected at: {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -1580,7 +1580,7 @@ var configurations = []Type{ Brief: "invalid boards.txt", Description: "", MessageTemplate: "boards.txt has an invalid format: {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3093,7 +3093,7 @@ var configurations = []Type{ Brief: "data format", Description: "", MessageTemplate: "Invalid package index format: {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3110,7 +3110,7 @@ var configurations = []Type{ Brief: "Additional properties in root", Description: "", MessageTemplate: "Unknown properties found in package index root.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3127,7 +3127,7 @@ var configurations = []Type{ Brief: "packages[] missing", Description: "", MessageTemplate: "Missing packages property.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3144,7 +3144,7 @@ var configurations = []Type{ Brief: "Incorrect packages type", Description: "", MessageTemplate: "packages property has incorrect type.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3161,7 +3161,7 @@ var configurations = []Type{ Brief: "Additional properties in packages", Description: "", MessageTemplate: "Unknown properties found in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3178,7 +3178,7 @@ var configurations = []Type{ Brief: "packages[].name missing", Description: "", MessageTemplate: "Missing packages[].name property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3195,7 +3195,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].name type", Description: "The name value must be a string.", MessageTemplate: "packages[].name property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3212,7 +3212,7 @@ var configurations = []Type{ Brief: "packages[].name < min length", Description: "", MessageTemplate: "packages[].name value less than the minimum length in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3229,7 +3229,7 @@ var configurations = []Type{ Brief: "packages[].name is arduino", Description: "Case insensitive.", MessageTemplate: "Use of packages[].name value \"arduino\" found. This name is reserved for official packages.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3246,7 +3246,7 @@ var configurations = []Type{ Brief: "packages[].maintainer missing", Description: "", MessageTemplate: "Missing packages[].maintainer property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3263,7 +3263,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].maintainer type", Description: "The maintainer value must be a string.", MessageTemplate: "packages[].maintainer property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3280,7 +3280,7 @@ var configurations = []Type{ Brief: "packages[].maintainer < min length", Description: "", MessageTemplate: "packages[].maintainer value less than the minimum length in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3297,7 +3297,7 @@ var configurations = []Type{ Brief: "packages[].maintainer starts with \"arduino\"", Description: "Case insensitive.", MessageTemplate: "packages[].maintainer value starts with \"arduino\" in package(s): {{.}}. 3rd party packages are not maintained by Arduino.", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3314,7 +3314,7 @@ var configurations = []Type{ Brief: "packages[].websiteURL missing", Description: "", MessageTemplate: "Missing packages[].websiteURL property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3331,7 +3331,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].websiteURL type", Description: "Must be a string.", MessageTemplate: "packages[].websiteURL property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3348,7 +3348,7 @@ var configurations = []Type{ Brief: "Invalid packages[].websiteURL format", Description: "", MessageTemplate: "packages[].websiteURL property does not have a valid URL format in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3365,7 +3365,7 @@ var configurations = []Type{ Brief: "dead packages[].websiteURL", Description: "", MessageTemplate: "Unable to load the packages[].websiteURL URL for package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3382,7 +3382,7 @@ var configurations = []Type{ Brief: "packages[].email missing", Description: "", MessageTemplate: "Missing packages[].email property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3399,7 +3399,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].email type", Description: "Must be a string.", MessageTemplate: "packages[].email property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3416,7 +3416,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].help type", Description: "Must be a string.", MessageTemplate: "packages[].help property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3433,7 +3433,7 @@ var configurations = []Type{ Brief: "Additional properties in packages[].help", Description: "", MessageTemplate: "Unknown properties under packages[].help found in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3450,7 +3450,7 @@ var configurations = []Type{ Brief: "packages[].help.online missing", Description: "", MessageTemplate: "Missing packages[].help.online property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3467,7 +3467,7 @@ var configurations = []Type{ Brief: "Incorrect packages[].help.online type", Description: "Must be a string.", MessageTemplate: "packages[].help.online property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3484,7 +3484,7 @@ var configurations = []Type{ Brief: "Invalid packages[].help.online format", Description: "", MessageTemplate: "packages[].help.online property does not have a valid URL format in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3501,7 +3501,7 @@ var configurations = []Type{ Brief: "dead packages[].help.online", Description: "", MessageTemplate: "Unable to load the packages[].help.online URL for package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3518,7 +3518,7 @@ var configurations = []Type{ Brief: "packages[].platforms missing", Description: "", MessageTemplate: "Missing packages[].platforms property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3535,7 +3535,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms type", Description: "Must be an array.", MessageTemplate: "packages[].platforms property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3552,7 +3552,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[] found in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3569,7 +3569,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].name property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3586,7 +3586,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].name property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3603,7 +3603,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].name value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3620,7 +3620,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].architecture missing", Description: "", MessageTemplate: "Missing packages[].platforms[].architecture property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3637,7 +3637,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].architecture type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].architecture property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3654,7 +3654,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].architecture < min length", Description: "", MessageTemplate: "packages[].platforms[].architecture value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3671,7 +3671,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].version missing", Description: "", MessageTemplate: "Missing packages[].platforms[].version property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3688,7 +3688,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].version type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].version property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3705,7 +3705,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].version", Description: "Must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].platforms[].version property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3739,7 +3739,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].deprecated type", Description: "Must be a boolean.", MessageTemplate: "packages[].platforms[].deprecated property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3756,7 +3756,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].category missing", Description: "", MessageTemplate: "Missing packages[].platforms[].category property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3773,7 +3773,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].category type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].category property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3807,7 +3807,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].help missing", Description: "", MessageTemplate: "Missing packages[].platforms[].help property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3824,7 +3824,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].help type", Description: "Must be an object.", MessageTemplate: "packages[].platforms[].help property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3841,7 +3841,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].help", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].help found in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3858,7 +3858,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].help.online missing", Description: "", MessageTemplate: "Missing packages[].platforms[].help.online property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3875,7 +3875,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].help.online type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].help.online property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3892,7 +3892,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].help.online format", Description: "", MessageTemplate: "packages[].platforms[].help.online property does not have a valid URL format in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3909,7 +3909,7 @@ var configurations = []Type{ Brief: "dead packages[].platforms[].help.online", Description: "", MessageTemplate: "Unable to load the packages[].platforms[].help.online URL for platforms(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3926,7 +3926,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].url missing", Description: "", MessageTemplate: "Missing packages[].platforms[].url property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3943,7 +3943,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].url type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].url property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3960,7 +3960,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].url format", Description: "", MessageTemplate: "packages[].platforms[].url property does not have a valid URL format in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3977,7 +3977,7 @@ var configurations = []Type{ Brief: "dead packages[].platforms[].url", Description: "", MessageTemplate: "Unable to load the packages[].platforms[].url URL for platforms(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -3994,7 +3994,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].archiveFileName missing", Description: "", MessageTemplate: "Missing packages[].platforms[].archiveFileName property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4011,7 +4011,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].archiveFileName type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].archiveFileName property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4028,7 +4028,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].archiveFileName < min length", Description: "", MessageTemplate: "packages[].platforms[].archiveFileName value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4045,7 +4045,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].archiveFileName", Description: "", MessageTemplate: "packages[].platforms[].archiveFileName filename uses unsupported file extension in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4062,7 +4062,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].checksum missing", Description: "", MessageTemplate: "Missing packages[].platforms[].checksum property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4079,7 +4079,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].checksum type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].checksum property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4096,7 +4096,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].checksum", Description: "", MessageTemplate: "packages[].platforms[].checksum has an invalid format in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4113,7 +4113,7 @@ var configurations = []Type{ Brief: "discouraged packages[].platforms[].checksum algorithm", Description: "", MessageTemplate: "packages[].platforms[].checksum uses a discouraged hash algorithm in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4130,7 +4130,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].size missing", Description: "", MessageTemplate: "Missing packages[].platforms[].size property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4147,7 +4147,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].size type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].size property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4164,7 +4164,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].size", Description: "", MessageTemplate: "packages[].platforms[].size has an invalid format in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4181,7 +4181,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].boards[] missing", Description: "", MessageTemplate: "Missing packages[].platforms[].boards[] property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4198,7 +4198,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].boards type", Description: "Must be an array.", MessageTemplate: "packages[].platforms[].boards property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4215,7 +4215,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].boards[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].boards[] found in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4232,7 +4232,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].boards[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].boards[].name property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4249,7 +4249,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].boards[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].boards[].name property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4266,7 +4266,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].boards[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].boards[].name value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4283,7 +4283,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[] missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[] property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4300,7 +4300,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies type", Description: "Must be an array.", MessageTemplate: "packages[].platforms[].toolsDependencies property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4317,7 +4317,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].toolsDependencies[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].toolsDependencies[] found in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4334,7 +4334,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].packager missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].packager property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4351,7 +4351,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies[].packager type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].toolsDependencies[].packager property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4368,7 +4368,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].packager < min length", Description: "", MessageTemplate: "packages[].platforms[].toolsDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4385,7 +4385,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].name property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4402,7 +4402,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].toolsDependencies[].name property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4419,7 +4419,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].toolsDependencies[].name value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4436,7 +4436,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].toolsDependencies[].version missing", Description: "", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4453,7 +4453,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].toolsDependencies[].version type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].toolsDependencies[].version property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4470,7 +4470,7 @@ var configurations = []Type{ Brief: "invalid packages[].platforms[].toolsDependencies[].version", Description: "Must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4504,7 +4504,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].discoveryDependencies type", Description: "Must be an array.", MessageTemplate: "packages[].platforms[].discoveryDependencies property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4521,7 +4521,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].platforms[].discoveryDependencies[]", Description: "", MessageTemplate: "Unknown properties under packages[].platforms[].discoveryDependencies[] found in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4538,7 +4538,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].packager missing", Description: "", MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].packager property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4555,7 +4555,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].discoveryDependencies[].packager type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4572,7 +4572,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].packager < min length", Description: "", MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4589,7 +4589,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].name missing", Description: "", MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].name property in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4606,7 +4606,7 @@ var configurations = []Type{ Brief: "incorrect packages[].platforms[].discoveryDependencies[].name type", Description: "Must be a string.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].name property has incorrect type in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4623,7 +4623,7 @@ var configurations = []Type{ Brief: "packages[].platforms[].discoveryDependencies[].name < min length", Description: "", MessageTemplate: "packages[].platforms[].discoveryDependencies[].name value less than the minimum length in platform(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4640,7 +4640,7 @@ var configurations = []Type{ Brief: "packages[].tools[] missing", Description: "", MessageTemplate: "Missing packages[].tools property in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4657,7 +4657,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools type", Description: "Must be an array.", MessageTemplate: "packages[].tools property has incorrect type in package(s): {{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4674,7 +4674,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].tools[]", Description: "", MessageTemplate: "Unknown properties under packages[].tools[] found in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4691,7 +4691,7 @@ var configurations = []Type{ Brief: "packages[].tools[].name missing", Description: "", MessageTemplate: "Missing packages[].tools[].name property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4708,7 +4708,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].name type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].name property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4725,7 +4725,7 @@ var configurations = []Type{ Brief: "packages[].tools[].name < min length", Description: "", MessageTemplate: "packages[].tools[].name value less than the minimum length in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4742,7 +4742,7 @@ var configurations = []Type{ Brief: "packages[].tools[].version missing", Description: "", MessageTemplate: "Missing packages[].tools[].version property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4759,7 +4759,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].version type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].version property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4776,7 +4776,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].version", Description: "Must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].tools[].version property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4810,7 +4810,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[] missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[] property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4827,7 +4827,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems type", Description: "Must be an array.", MessageTemplate: "packages[].tools[].systems property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4844,7 +4844,7 @@ var configurations = []Type{ Brief: "additional properties in packages[].tools[].systems[]", Description: "", MessageTemplate: "Unknown properties under packages[].tools[].systems[] found in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4861,7 +4861,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].host missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].host property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4878,7 +4878,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].host type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].host property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4895,7 +4895,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].host", Description: "", MessageTemplate: "packages[].tools[].systems[].host has an invalid format in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4912,7 +4912,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].url missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].url property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4929,7 +4929,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].url type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].url property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4946,7 +4946,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].url format", Description: "", MessageTemplate: "packages[].tools[].systems[].url property does not have a valid URL format in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4963,7 +4963,7 @@ var configurations = []Type{ Brief: "dead packages[].tools[].systems[].url", Description: "", MessageTemplate: "Unable to load the packages[].tools[].systems[].url URL for tools(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4980,7 +4980,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].archiveFileName missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].archiveFileName property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -4997,7 +4997,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].archiveFileName type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].archiveFileName property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5014,7 +5014,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].archiveFileName < min length", Description: "", MessageTemplate: "packages[].tools[].systems[].archiveFileName value less than the minimum length in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5031,7 +5031,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].archiveFileName", Description: "", MessageTemplate: "packages[].tools[].systems[].archiveFileName has an invalid format in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5048,7 +5048,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].checksum missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].checksum property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5065,7 +5065,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].checksum type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].checksum property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5082,7 +5082,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].checksum", Description: "", MessageTemplate: "packages[].tools[].systems[].checksum has an invalid format in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5099,7 +5099,7 @@ var configurations = []Type{ Brief: "discouraged packages[].tools[].systems[].checksum algorithm", Description: "", MessageTemplate: "packages[].tools[].systems[].checksum uses a discouraged hash algorithm in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5116,7 +5116,7 @@ var configurations = []Type{ Brief: "packages[].tools[].systems[].size missing", Description: "", MessageTemplate: "Missing packages[].tools[].systems[].size property in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5133,7 +5133,7 @@ var configurations = []Type{ Brief: "incorrect packages[].tools[].systems[].size type", Description: "Must be a string.", MessageTemplate: "packages[].tools[].systems[].size property has incorrect type in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, @@ -5150,7 +5150,7 @@ var configurations = []Type{ Brief: "invalid packages[].tools[].systems[].size", Description: "", MessageTemplate: "packages[].tools[].systems[].size has an invalid format in tool(s):\n{{.}}", - Reference: "", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, From d126e7058c38618011ea776ec72be4beef40b6d9 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 23 Aug 2021 03:30:08 -0700 Subject: [PATCH 06/12] Add and expand rule descriptions The `Description` field of the rule configuration was previously only used to add supplemental information to the verbose tool output. In this usage, it did not need to stand on its own as a complete documentation of the rule, and also was not a high priority since the verbose output is likely not as frequently used. A new requirement for the rule configuration data has emerged from the project to publish a list of rules. The `MessageTemplate` data is not suitable for use in this application due to being written for use in indicating a problem that was found, rather than a documentation of the rule. The new requirement is compatible with the existing use of the `Description` field, so it is not necessary to add a new field. However, the existing content of the `Description field is mostly not inadequate, so it must be expanded. This content is now written in Markdown. Its existing use is limited to the JSON format output. Since the Markdown syntax is very lightweight and intuitive, and any reader of the JSON format output will already have been presented with plenty of syntax, I don't think the change has a harmful effect on that output. --- .../ruleconfiguration/ruleconfiguration.go | 602 +++++++++--------- 1 file changed, 301 insertions(+), 301 deletions(-) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index fcf3a72a..f72679b2 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -38,7 +38,7 @@ type Type struct { Subcategory string ID string // Unique rule identifier: Brief string // Short description of the rule. - Description string // Supplemental information about the rule. + Description string // Verbose description of the rule. MessageTemplate string // The warning/error message template displayed when the rule is violated. Will be filled by rule function output. Reference string // URL to visit for more information about the rule subject. // The following fields define under which tool configuration modes the rule will run: @@ -65,7 +65,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LS001", Brief: "invalid library", - Description: "", + Description: "The path does not contain a valid Arduino library.", MessageTemplate: "Path does not contain a valid Arduino library.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification", DisableModes: nil, @@ -82,7 +82,7 @@ var configurations = []Type{ Subcategory: "root folder", ID: "LS002", Brief: "folder name too long", - Description: "This will be problematic for people doing manual installation of the library.", + Description: "The library root folder name exceeds the maximum length supported by the Arduino development tools. This will be problematic for people doing manual installation of the library.", MessageTemplate: "Folder name {{.}} exceeds maximum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", DisableModes: nil, @@ -99,7 +99,7 @@ var configurations = []Type{ Subcategory: "root folder", ID: "LS003", Brief: "prohibited character in folder name", - Description: "This will be problematic for people doing manual installation of the library.", + Description: "The library root folder name contains prohibited characters. This will be problematic for people doing manual installation of the library.", MessageTemplate: "Prohibited character(s) in folder name: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", DisableModes: nil, @@ -116,7 +116,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LS004", Brief: "submodule", - Description: "", + Description: `A [Git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) was found under the library folder. Library Manager installations and installations of libraries downloaded via GitHub's "Download ZIP" feature will only contain an empty folder in place of the submodule.`, MessageTemplate: `Git submodule detected. Library Manager installations and installations from GitHub's "Download ZIP" will only contain an empty folder in place of the submodule.`, Reference: "", DisableModes: nil, @@ -133,7 +133,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LS005", Brief: "symlink", - Description: "", + Description: "A symlink was found under the library folder. Symlinks cause difficulties for Windows users due to restrictions on their use. The presence of a symlink blocks addition to the Arduino Library Manager index.", MessageTemplate: "Symlink(s) found. Symlinks cause difficulties for Windows users. These block addition to the Arduino Library Manager index:\n{{.}}", Reference: "", DisableModes: nil, @@ -150,7 +150,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LS006", Brief: ".development file", - Description: "", + Description: "A `.development` file was found in the library root folder. Presence of this file blocks addition to the Library Manager index.", MessageTemplate: ".development flag file found. This file allows users to accidentally modify examples. Presence of this file blocks addition to the Library Manager index.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#development-flag-file", DisableModes: nil, @@ -167,7 +167,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LS007", Brief: ".exe file", - Description: "", + Description: "A file with `.exe` file extension was found under the library folder. Presence of this file blocks addition to the Library Manager index.", MessageTemplate: ".exe file(s) found. Presence of these files blocks addition to the Library Manager index:\n{{.}}", Reference: "", DisableModes: []rulemode.Type{rulemode.Default}, @@ -184,7 +184,7 @@ var configurations = []Type{ Subcategory: "source code", ID: "LS008", Brief: "name-header mismatch", - Description: `The name value determines the installation folder name and the folder match to the filename in the #include directive influences "folder name priority".`, + Description: "The match between the `library.properties` `name` field and the filename in an `#include` directive is a factor in the library's [dependency resolution priority](https://arduino.github.io/arduino-cli/dev/sketch-build-process/#dependency-resolution). It's recommended for the primary header filename to match the library name.", MessageTemplate: "No header file found matching library name ({{.}}). Best practices are for primary header filename to match library name.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -201,7 +201,7 @@ var configurations = []Type{ Subcategory: "source code", ID: "LS009", Brief: "src folder case", - Description: "", + Description: "The library's source subfolder name has incorrect case. This folder must be named exactly `src` in order for the library to work on case sensitive file systems (e.g., Linux).", MessageTemplate: "Incorrect src folder name case: {{.}}. This will cause the library to not be recognized on case-sensitive file systems.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-root-folder", DisableModes: nil, @@ -218,7 +218,7 @@ var configurations = []Type{ Subcategory: "source code", ID: "LS010", Brief: "recursive with utility folder", - Description: "", + Description: "A library with \"1.5 format\" (recursive layout) contains a subfolder named `utility`. Although the `utility` folder has special treatment in libraries with the old \"1.5 format\" (flat layout), it is not supported in libraries of the new layout.", MessageTemplate: `Utility folder found in "1.5" format library. Compilation of this folder is only supported on "1.0" format libraries.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#source-code", DisableModes: nil, @@ -235,7 +235,7 @@ var configurations = []Type{ Subcategory: "extras folder", ID: "LS011", Brief: "incorrect extras folder name", - Description: "", + Description: "A subfolder was found under the library root with a name similar to `extras`. The `extras` subfolder has been designated as the location for any supplemental files for the library. The name must be spelled exactly `extras`.", MessageTemplate: "Potentially misspelled extras folder name found: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation", DisableModes: nil, @@ -252,7 +252,7 @@ var configurations = []Type{ Subcategory: "extras folder", ID: "LS012", Brief: "extras folder name case", - Description: "", + Description: "The library's extras subfolder name has incorrect case. The `extras` subfolder has been designated as the location for any supplemental files for the library. The folder name must be spelled exactly `extras`", MessageTemplate: "Incorrect extras folder name case: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation", DisableModes: nil, @@ -269,7 +269,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LP001", Brief: "missing library.properties", - Description: `Although not required for 1.0 format libraries (AKA "legacy") not in Library Manager, metadata is useful, hence recommended.`, + Description: "The `library.properties` file provides metadata for Arduino libraries. Although not required for 1.0 format libraries (AKA \"legacy\") which are not in the Library Manager index, this metadata is useful, hence recommended.", MessageTemplate: "Library has no library.properties metadata file. This file provides useful information and is required for admission to the Library Manager index.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, @@ -286,7 +286,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LP002", Brief: "incorrect library.properties file name", - Description: "", + Description: "A file was found under the library root with a name similar to `library.properties`. The `library.properties` file provides metadata for Arduino libraries. The file name must be spelled exactly `library.properties`", MessageTemplate: "Incorrectly spelled library.properties file name found: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, @@ -303,7 +303,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LP003", Brief: "library.properties file name case", - Description: `This causes "1.5" format (AKA "recursive layout") libraries to not be recognized on case-sensitive file systems.`, + Description: "The library's metadata file has incorrect case. This causes \"1.5\" format (AKA \"recursive layout\") libraries to not be recognized on case-sensitive file systems. The file name must be spelled exactly `library.properties`", MessageTemplate: "Incorrect library.properties file name case: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, @@ -320,7 +320,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LP004", Brief: "redundant library.properties", - Description: "", + Description: "The library contains a `library.properties` file in a subfolder. Only the file in the root of the library is used by the Arduino development tools for library metadata. Superfluous `library.properties` files can result in confusion or unnecessary maintenance effort.", MessageTemplate: "Redundant library.properties file found at {{.}}. Only the file in the root of the library is used.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-metadata", DisableModes: nil, @@ -337,7 +337,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LP005", Brief: "library.properties format", - Description: "", + Description: "The `library.properties` file provides metadata for Arduino libraries. This file has a specific format that must be followed in order for the library to be valid.", MessageTemplate: "library.properties has an invalid format: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -354,7 +354,7 @@ var configurations = []Type{ Subcategory: "general", ID: "LP006", Brief: "misspelled library.properties field", - Description: "", + Description: "A field was found in the `library.properties` metadata file with a name similar, but not matching, one of the standard fields.", MessageTemplate: "Potentially misspelled library.properties field name detected.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -371,7 +371,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP007", Brief: "missing name", - Description: "", + Description: "The `name` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing name field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -388,7 +388,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP008", Brief: "name < min length", - Description: "", + Description: "The `name` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties name value is less than minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -405,7 +405,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP009", Brief: "name > max length", - Description: "", + Description: "The `name` field in the library's `library.properties` metadata file is greater than the maximum length.", MessageTemplate: "library.properties name value {{.}} is longer than maximum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -422,7 +422,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP010", Brief: "name > recommended length", - Description: "", + Description: "The `name` field in the library's `library.properties` metadata file is longer than the recommended length. As the unique identifier for the library, the name will be typed by the users of command line tools (e.g., `arduino-cli lib install Servo`). For this reason, it is best practices to avoid unnecessary name length.", MessageTemplate: "library.properties name value {{.}} is longer than the recommended length of 16 characters.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -439,7 +439,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP011", Brief: "prohibited character in name", - Description: "", + Description: "The `name` field in the library's `library.properties` metadata file contains a prohibited character.", MessageTemplate: "Prohibited character(s) in library.properties name value: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -456,7 +456,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP012", Brief: `name starts with "Arduino"`, - Description: `Case insensitive. Only 3rd party libraries added to the Library Manager index prior to the enactment of this rule are allowed to have this name prefix.`, + Description: "The `name` field in the library's `library.properties` metadata file starts with \"Arduino\" (case insensitive). Libraries with this name prefix are only allowed in Library Manager under one of the following conditions:\n\n- official libraries\n- 3rd party libraries added to the Library Manager index prior to the enactment of this rule\n\nIf the former, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).\nIf the latter, use [the `--library-manager=update` flag](https://arduino.github.io/arduino-lint/latest/commands/arduino-lint/#options)", MessageTemplate: `Library name {{.}} starts with "Arduino". These names are reserved for official libraries.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, @@ -473,8 +473,8 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP013", Brief: "name missing official prefix", - Description: "", - MessageTemplate: `Library name {{.}} is missing the "Arduino_" prefix. All new official library names must use this prefix.`, + Description: "The `name` field in the library's `library.properties` metadata file is missing the \"Arduino_\" prefix. The names of all new official libraries must have this prefix.", + MessageTemplate: `Library name {{.}} is missing the "Arduino_" prefix. The names of all new official libraries must have this prefix.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Default}, EnableModes: []rulemode.Type{rulemode.Official}, @@ -490,7 +490,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP014", Brief: `name contains "Arduino"`, - Description: "Case insensitive", + Description: "The `name` field in the library's `library.properties` metadata file contains \"Arduino\" (case insensitive). This is usually implicit, only adding unnecessary length to the name.", MessageTemplate: `Library name {{.}} contains "Arduino". This is superfluous.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, @@ -507,7 +507,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP015", Brief: "name contains spaces", - Description: "Best practices is for the name value, installation folder, and primary header filename to all match, but this is not possible with names containing spaces.", + Description: "The `name` field in the library's `library.properties` metadata file contains spaces. It's recommended that the name value, installation folder, and primary header filename all match. Since spaces are not allowed in library folder or file names, this is not possible when the name contains spaces.", MessageTemplate: "library.properties name {{.}} contains spaces. Although supported, best practices is to not use spaces.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -524,7 +524,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP016", Brief: `name contains "library"`, - Description: "Case insensitive", + Description: "The `name` field in the library's `library.properties` metadata file contains \"library\" (case insensitive). This is implicit, only adding unnecessary length to the name.", MessageTemplate: `Library name {{.}} contains "library". This is superfluous.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -541,7 +541,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP017", Brief: "duplicate name", - Description: "This requirement only applies to the library.properties name value. There is no requirement to change the repository or header file names.", + Description: "The `name` field in the library's `library.properties` metadata file is in use by a library in the Library Manager index. A library must have a unique name value in order to be accepted into the Library Manager index.\n\nThis requirement only applies to the library.properties name value. There is no requirement to change the repository or header file names.\n\nIf your library is already in the index, use [the `--library-manager update` flag](https://arduino.github.io/arduino-lint/latest/commands/arduino-lint/#options).", MessageTemplate: "Library name {{.}} is in use by a library in the Library Manager index. Each library must have a unique name value. If your library is already in the index, use the \"--library-manager update\" flag.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Default}, @@ -558,7 +558,7 @@ var configurations = []Type{ Subcategory: "name field", ID: "LP018", Brief: "not in LM index", - Description: "The name value is the identifier used to install the library and define dependencies, so it should not be changed.", + Description: "The library name (as defined by `name` field in [the `library.properties` metadata file](https://arduino.github.io/arduino-cli/dev/library-specification/#library-metadata)) was not found in the Library Manager index, but Arduino Lint was run in the [`--library-manager update` mode](https://arduino.github.io/arduino-lint/latest/commands/arduino-lint/#options), indicating that it was expected there.\n\nBecause the `name` value is the identifier used to install the library and define dependencies, it is not allowed to change after the library has been added to the index.", MessageTemplate: "Library name {{.}} not found in the Library Manager index. Library names are not allowed to change after being added to the index.", Reference: "https://github.com/arduino/library-registry/blob/main/FAQ.md#how-can-i-change-a-librarys-name", DisableModes: []rulemode.Type{rulemode.Default}, @@ -575,7 +575,7 @@ var configurations = []Type{ Subcategory: "version field", ID: "LP019", Brief: "missing version field", - Description: "", + Description: "The `version` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing version field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -592,7 +592,7 @@ var configurations = []Type{ Subcategory: "version field", ID: "LP020", Brief: "invalid version", - Description: `Must be compliant with "relaxed semver".`, + Description: "The `version` field in the library's `library.properties` metadata file is invalid. It must be compliant with \"relaxed semver\".", MessageTemplate: "library.properties version value {{.}} is invalid.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -609,7 +609,7 @@ var configurations = []Type{ Subcategory: "version field", ID: "LP021", Brief: "non-semver version", - Description: "", + Description: "The `version` field in the library's `library.properties` metadata file is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", MessageTemplate: "library.properties version value {{.}} is not compliant with the semver specification.", Reference: "https://semver.org/", DisableModes: nil, @@ -626,7 +626,7 @@ var configurations = []Type{ Subcategory: "version field", ID: "LP022", Brief: "tag mismatch", - Description: "The Library Manager indexer will reject any tag that has a library.properties version equal to a previous tag in the index.", + Description: "The latest [Git tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging) appears to be greater than the `version` field in the library's `library.properties` metadata file. The Library Manager indexer will reject any tag that has a `library.properties` `version` value equal to a previous tag in the index.", MessageTemplate: "The latest Git tag appears to be greater than the library.properties version value: {{.}}. You must update the version value before making the tag.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Default}, @@ -643,7 +643,7 @@ var configurations = []Type{ Subcategory: "author field", ID: "LP023", Brief: "missing author field", - Description: "", + Description: "The `author` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing author field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -660,7 +660,7 @@ var configurations = []Type{ Subcategory: "author field", ID: "LP024", Brief: "author < min length", - Description: "", + Description: "The `author` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties author value is less than minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -677,7 +677,7 @@ var configurations = []Type{ Subcategory: "maintainer field", ID: "LP025", Brief: "missing maintainer field", - Description: "", + Description: "The `maintainer` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing maintainer field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -694,7 +694,7 @@ var configurations = []Type{ Subcategory: "maintainer field", ID: "LP026", Brief: "maintainer < min length", - Description: "", + Description: "The `maintainer` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties maintainer value is less than minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -711,7 +711,7 @@ var configurations = []Type{ Subcategory: "maintainer field", ID: "LP027", Brief: `maintainer starts with "Arduino"`, - Description: "Case insensitive.", + Description: "The `maintainer` field in the library's `library.properties` metadata file starts with \"Arduino\" (case insensitive). 3rd party libraries are not maintained by Arduino.\n\nIf the library is maintained by Arduino, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).", MessageTemplate: `library.properties maintainer value {{.}} starts with "Arduino". 3rd party libraries are not maintained by Arduino.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, @@ -728,7 +728,7 @@ var configurations = []Type{ Subcategory: "maintainer field", ID: "LP057", Brief: `maintainer contains "Arduino"`, - Description: "Case insensitive.", + Description: "The `maintainer` field in the library's `library.properties` metadata file contains \"Arduino\" (case insensitive). 3rd party libraries are not maintained by Arduino.\n\nIf the library is maintained by Arduino, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).", MessageTemplate: `library.properties maintainer value {{.}} contains "Arduino". 3rd party libraries are not maintained by Arduino.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.Official}, @@ -745,7 +745,7 @@ var configurations = []Type{ Subcategory: "email field", ID: "LP028", Brief: `"email" used as alias for "maintainer"`, - Description: "This was only in an early draft of the beta 1.5 library specification.", + Description: "The library's `library.properties` metadata file uses the deprecated `email` field instead of the standard `maintainer`.", MessageTemplate: `library.properties "email" field used as alias for "maintainer". This is deprecated.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -762,7 +762,7 @@ var configurations = []Type{ Subcategory: "email field", ID: "LP029", Brief: "email < min length", - Description: "", + Description: "The `email` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties email value is less than minimum length.", Reference: "", DisableModes: nil, @@ -779,7 +779,7 @@ var configurations = []Type{ Subcategory: "email field", ID: "LP030", Brief: `email starts with "Arduino"`, - Description: "Case insensitive.", + Description: "The `maintainer` field in the library's `library.properties` metadata file starts with \"Arduino\" (case insensitive). 3rd party libraries are not maintained by Arduino.", MessageTemplate: `library.properties email value {{.}} starts with "Arduino". 3rd party libraries are not maintained by Arduino.`, Reference: "", DisableModes: []rulemode.Type{rulemode.Official}, @@ -796,7 +796,7 @@ var configurations = []Type{ Subcategory: "sentence field", ID: "LP031", Brief: "missing sentence field", - Description: "", + Description: "The `sentence` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing sentence field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -813,7 +813,7 @@ var configurations = []Type{ Subcategory: "sentence field", ID: "LP032", Brief: "sentence < min length", - Description: "", + Description: "The `sentence` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties sentence value is less than minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -830,7 +830,7 @@ var configurations = []Type{ Subcategory: "sentence field", ID: "LP033", Brief: "sentence spell check", - Description: "", + Description: "The `sentence` field in the library's `library.properties` metadata file contains a commonly misspelled word.", MessageTemplate: "A commonly misspelled word was found in the library.properties sentence field. Suggested correction: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -847,7 +847,7 @@ var configurations = []Type{ Subcategory: "paragraph field", ID: "LP034", Brief: "missing paragraph field", - Description: "", + Description: "The `paragraph` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing paragraph field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -864,7 +864,7 @@ var configurations = []Type{ Subcategory: "paragraph field", ID: "LP035", Brief: "paragraph spell check", - Description: "", + Description: "The `paragraph` field in the library's `library.properties` metadata file contains a commonly misspelled word.", MessageTemplate: "A commonly misspelled word was found in the library.properties paragraph field. Suggested correction: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -881,7 +881,7 @@ var configurations = []Type{ Subcategory: "paragraph field", ID: "LP036", Brief: "paragraph repeats sentence", - Description: "", + Description: "The `paragraph` field in the library's `library.properties` metadata file repeats the `sentence` field. These are displayed together so redundancy is not needed.", MessageTemplate: "The library.properties paragraph field repeats the sentence field. These are displayed together so redundancy is not needed.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -898,7 +898,7 @@ var configurations = []Type{ Subcategory: "category field", ID: "LP037", Brief: "missing category field", - Description: `This can cause a warning and results in the default "Uncategorized" category being used.`, + Description: "The `category` field is missing from the library's `library.properties` metadata file.This can cause a warning and results in the default \"Uncategorized\" category being used.", MessageTemplate: "Missing category field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -915,7 +915,7 @@ var configurations = []Type{ Subcategory: "category field", ID: "LP038", Brief: "invalid category value", - Description: `This can cause a warning and results in the default "Uncategorized" category being used.`, + Description: "The `category` field in the library's `library.properties` metadata file has an invalid value. This can cause a warning and results in the default \"Uncategorized\" category being used.", MessageTemplate: "Invalid category field value {{.}} in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -932,7 +932,7 @@ var configurations = []Type{ Subcategory: "category field", ID: "LP039", Brief: `"Uncategorized" category value`, - Description: "There is no good reason for using this non-specification compliant category value.", + Description: "The `category` field in the library's `library.properties` metadata file is set to \"Uncategorized\". There is no good reason for using this non-specification compliant category value.", MessageTemplate: `Use of "Uncategorized" category value in library.properties. Please use one of the allowed categories.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -949,7 +949,7 @@ var configurations = []Type{ Subcategory: "url field", ID: "LP040", Brief: "missing url field", - Description: "", + Description: "The `url` field is missing from the library's `library.properties` metadata file.", MessageTemplate: "Missing url field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -966,7 +966,7 @@ var configurations = []Type{ Subcategory: "url field", ID: "LP056", Brief: "url < min length", - Description: "", + Description: "The `url` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties url value is less than minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -983,7 +983,7 @@ var configurations = []Type{ Subcategory: "url field", ID: "LP041", Brief: "invalid url format", - Description: "", + Description: "The `url` field in the library's `library.properties` metadata file has an invalid URL format.", MessageTemplate: "library.properties url field value {{.}} does not have a valid URL format.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1000,7 +1000,7 @@ var configurations = []Type{ Subcategory: "url field", ID: "LP042", Brief: "dead URL", - Description: "", + Description: "The `url` field in the library's `library.properties` metadata file can not be loaded.", MessageTemplate: "Unable to load the library.properties url field: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1017,7 +1017,7 @@ var configurations = []Type{ Subcategory: "architectures field", ID: "LP043", Brief: "missing architectures field", - Description: "Defaults to *, but it's better to explicitly define architectures.", + Description: "The `architectures` field is missing from the library's `library.properties` metadata file. The architecture defaults to `*`, but it's better to explicitly define architectures.", MessageTemplate: "Missing architectures field in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1034,7 +1034,7 @@ var configurations = []Type{ Subcategory: "architectures field", ID: "LP044", Brief: "architectures blank", - Description: "Causes library to be considered incompatible with all architectures.", + Description: "The `architectures` field in the library's `library.properties` metadata file is blank. This causes the library to be considered incompatible with all architectures.", MessageTemplate: "Empty library.properties architectures field. Please define specific architectures or set to * if compatible with all.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1051,7 +1051,7 @@ var configurations = []Type{ Subcategory: "architectures field", ID: "LP045", Brief: "architecture alias", - Description: "Alternative development frameworks diverged on architecture naming.", + Description: "The `architectures` field in the library's `library.properties` metadata file contains architecture aliases.\n\nAlternative development frameworks diverged on architecture naming. It is fine to specify those, but compatibilities with the true Arduino architectures should also be defined.", MessageTemplate: "Architecture alias(es) in library.properties architectures field: {{.}}. Please also specify the true Arduino architectures compatibilities of the library.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1068,7 +1068,7 @@ var configurations = []Type{ Subcategory: "architectures field", ID: "LP046", Brief: "architecture case", - Description: "", + Description: "The `architecture` field in the library's `library.properties` metadata file contains architecture names with incorrect case. These are case sensitive (e.g., `AVR` != `avr`).", MessageTemplate: "Incorrect case of library.properties architectures field item(s): {{.}}. Architectures are case sensitive.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1085,7 +1085,7 @@ var configurations = []Type{ Subcategory: "depends field", ID: "LP047", Brief: "invalid depends format", - Description: "", + Description: "The `depends` field in the library's `library.properties` metadata file has an invalid format. This is a comma-separated list of library references.", MessageTemplate: "Invalid format of library.properties depends field {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1102,7 +1102,7 @@ var configurations = []Type{ Subcategory: "depends field", ID: "LP048", Brief: "depends not in index", - Description: "This field should be used to define the dependencies available from Library Manager. Library names are case-sensitive.", + Description: "The `depends` field in the library's `library.properties` metadata file contains library names not found in the Library Manager index. This field should be used to define only the dependencies available from Library Manager. Library names are case-sensitive.", MessageTemplate: "library.properties depends field item(s) {{.}} not found in the Library Manager index.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: []rulemode.Type{rulemode.LibraryManagerIndexing}, @@ -1119,7 +1119,7 @@ var configurations = []Type{ Subcategory: "dot_a_linkage field", ID: "LP049", Brief: "invalid dot_a_linkage value", - Description: "", + Description: "The `dot_a_linkage` field in the library's `library.properties` metadata file has an invalid value.", MessageTemplate: "Invalid dot_a_linkage field value {{.}} in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1136,7 +1136,7 @@ var configurations = []Type{ Subcategory: "dot_a_linkage field", ID: "LP050", Brief: `dot_a_linkage=true with "1.0" library format`, - Description: `dot_a_linkage feature is only supported for the "1.5" or "recursive" library format.`, + Description: "The `dot_a_linkage` field in the library's `library.properties` metadata file has a setting incompatible with the library format in use. The `dot_a_linkage` feature is only supported for \"1.5 format\" (recursive layout) libraries.", MessageTemplate: `library.properties dot_a_linkage field enabled but library is not in "1.5" format.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#source-code", DisableModes: nil, @@ -1153,7 +1153,7 @@ var configurations = []Type{ Subcategory: "includes field", ID: "LP051", Brief: "includes blank", - Description: `Caused the "Sketch > Include library" feature of previous IDE versions to add an empty #include directive to the sketch.`, + Description: "The `includes` field in the library's `library.properties` metadata file is blank.\n\nThis caused the \"**Sketch > Include library**\" feature of previous Arduino IDE versions to add an invalid empty `#include` directive to the sketch.", MessageTemplate: "Empty library.properties includes field. Please either define includes or remove this optional field.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1170,7 +1170,7 @@ var configurations = []Type{ Subcategory: "includes field", ID: "LP052", Brief: "includes not in library", - Description: `People often think this is the way to define their library's dependencies, which breaks the "Sketch > Include Library" feature for that library.`, + Description: "The `includes` field in the library's `library.properties` metadata file contains file names not found in the library. This should be a list of header file names that must be added to `#include` directives in the sketch in order to use the library.\n\nLibrary authors sometimes think this is the way to define their library's dependencies, which breaks the Arduino IDE's \"**Sketch > Include Library**\" feature for that library.", MessageTemplate: "library.properties includes field item(s) {{.}} not found in library.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1187,7 +1187,7 @@ var configurations = []Type{ Subcategory: "precompiled field", ID: "LP053", Brief: "invalid precompiled value", - Description: "", + Description: "The `precompiled` field in the library's `library.properties` metadata file has an invalid value.", MessageTemplate: "Invalid precompiled field value {{.}} in library.properties", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1204,7 +1204,7 @@ var configurations = []Type{ Subcategory: "precompiled field", ID: "LP054", Brief: "precompiled with \"1.0\" format", - Description: `precompiled feature is only supported for the "1.5" or "recursive" library format.`, + Description: "The `precompiled` field in the library's `library.properties` metadata file has a setting incompatible with the library format in use. The `precompiled` feature is only supported for the \"1.5 format\" (recursive layout) library format.", MessageTemplate: `library.properties precompiled field value {{.}}, is not supported with "1.0" format.`, Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1221,7 +1221,7 @@ var configurations = []Type{ Subcategory: "ldflags field", ID: "LP055", Brief: "ldflags < min length", - Description: "", + Description: "The `ldflags` field in the library's `library.properties` metadata file is shorter than the minimum length.", MessageTemplate: "library.properties ldflags value is less than minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format", DisableModes: nil, @@ -1238,7 +1238,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LC001", Brief: "Arduino.h case", - Description: "This causes compilation failure on case-sensitive file systems.", + Description: "An `#include` directive for a file matching the standardized Arduino core library's `Arduino.h` header in all except case (e.g., `#include `) was found in the library's code. This causes compilation failure on case-sensitive file systems.", MessageTemplate: "Incorrect Arduino.h filename case in #include directive: {{.}}", Reference: "", DisableModes: nil, @@ -1255,7 +1255,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LD001", Brief: "no readme", - Description: "", + Description: "None of the standard README file names (e.g., `README.md`) were found in the library's root folder. This file provides interested parties with a convenient and standardized location to get information about the project.", MessageTemplate: "No readme found. Please document your library.", Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes", DisableModes: nil, @@ -1272,7 +1272,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "LD002", Brief: "no license file", - Description: "", + Description: "None of the standard license file names (e.g., `LICENSE.txt`) were found in the library's root folder. This file provides interested parties with a convenient and standardized location to get information about the project's licensing and is also used by GitHub for automatic license type classification.", MessageTemplate: "No license file found.", Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository", DisableModes: nil, @@ -1289,7 +1289,7 @@ var configurations = []Type{ Subcategory: "examples", ID: "LD003", Brief: "stray sketch", - Description: "", + Description: "A sketch was found outside the library's `examples` and/or `extras` subfolders. Example sketches must be placed in the standardized location.", MessageTemplate: "Sketch(es) found outside examples and extras folders:\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, @@ -1306,7 +1306,7 @@ var configurations = []Type{ Subcategory: "examples", ID: "LD004", Brief: "no examples", - Description: "", + Description: "No example sketches were found in the library. Examples demonstrating usage of the library serve as an important form of documentation for Arduino users. If the library does contain example sketches, make sure they are valid sketches and in the appropriate location.", MessageTemplate: "No example sketches found. Please provide examples.", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, @@ -1323,7 +1323,7 @@ var configurations = []Type{ Subcategory: "examples", ID: "LD005", Brief: "incorrect examples folder name", - Description: "", + Description: "A subfolder was found in the library with name similar to the standard `examples` folder used for example sketches.", MessageTemplate: "Potentially misspelled examples folder name found: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, @@ -1340,7 +1340,7 @@ var configurations = []Type{ Subcategory: "examples", ID: "LD006", Brief: "examples folder name case", - Description: "", + Description: "The library's examples subfolder name has incorrect case. The folder name must be spelled exactly `examples`", MessageTemplate: "Incorrect examples folder name case: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/library-specification/#library-examples", DisableModes: nil, @@ -1357,7 +1357,7 @@ var configurations = []Type{ Subcategory: "root folder", ID: "SS001", Brief: "name mismatch", - Description: "", + Description: "There is no `.ino` sketch file with name matching the sketch folder. The primary sketch file name must match the folder for the sketch to be valid.", MessageTemplate: "Sketch file/folder name mismatch. The primary sketch file name must match the folder: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#primary-sketch-file", DisableModes: nil, @@ -1374,7 +1374,7 @@ var configurations = []Type{ Subcategory: "file name", ID: "SS002", Brief: "prohibited character in filename", - Description: "", + Description: "A sketch file's name contains a prohibited character.", MessageTemplate: "Prohibited character(s) in file name(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-root-folder", DisableModes: nil, @@ -1391,7 +1391,7 @@ var configurations = []Type{ Subcategory: "file name", ID: "SS003", Brief: "file name too long", - Description: "", + Description: "The sketch file's name exceeds the maximum length.", MessageTemplate: "File name(s): {{.}} exceed maximum length.", Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#sketch-root-folder", DisableModes: nil, @@ -1408,7 +1408,7 @@ var configurations = []Type{ Subcategory: "file name", ID: "SS004", Brief: ".pde extension", - Description: "The .pde extension is used by both Processing sketches and Arduino sketches. Processing sketches should either be in the \"data\" subfolder of the sketch or in the \"extras\" folder of the library. Arduino sketches should use the modern .ino extension.", + Description: "A sketch file uses the deprecated `.pde` file extension. The .pde extension is used by both [Processing](https://processing.org/) sketches and Arduino sketches. If the project has supplemental Processing sketches, they should either be in the [`data` subfolder of the sketch](https://arduino.github.io/arduino-cli/latest/sketch-specification/#data-subfolder) or in the [`extras` folder of the library](https://arduino.github.io/arduino-cli/latest/library-specification/#extra-documentation). Arduino sketches should use the modern `.ino` extension.", MessageTemplate: "{{.}} uses deprecated .pde file extension. Use .ino for Arduino sketches.", Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification", DisableModes: nil, @@ -1425,7 +1425,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "SS005", Brief: "src folder case", - Description: "", + Description: "The sketch's source subfolder name has incorrect case. This folder must be named exactly `src` in order for the contents to be compiled on case sensitive file systems (e.g., Linux).", MessageTemplate: "Incorrect src folder case: {{.}}. This will cause the source files under it to not be compiled on case-sensitive file systems.", Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#src-subfolder", DisableModes: nil, @@ -1442,7 +1442,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "SC001", Brief: "Arduino.h case", - Description: "This causes compilation failure on filename case-sensitive file systems.", + Description: "An `#include` directive for a file matching the standardized Arduino core library's `Arduino.h` header in all except case (e.g., `#include `) was found in the sketch's code. This causes compilation failure on case-sensitive file systems.", MessageTemplate: "Incorrect Arduino.h filename case in #include directive: {{.}}", Reference: "", DisableModes: nil, @@ -1459,7 +1459,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "SD001", Brief: "no readme", - Description: "", + Description: "None of the standard README file names (e.g., `README.md`) were found in the sketch folder. This file provides interested parties with a convenient and standardized location to get information about the project.", MessageTemplate: "No readme found. Please document your sketch.", Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes", DisableModes: nil, @@ -1476,7 +1476,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "SD002", Brief: "no license file", - Description: "", + Description: "None of the standard license file names (e.g., `LICENSE.txt`) were found in the sketch's root folder. This file provides interested parties with a convenient and standardized location to get information about the project's licensing and is also used by GitHub for automatic license type classification.", MessageTemplate: "No license file found.", Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository", DisableModes: nil, @@ -1493,7 +1493,7 @@ var configurations = []Type{ Subcategory: "general", ID: "SM001", Brief: "sketch.json JSON format", - Description: "", + Description: "The sketch's `sketch.json` metadata file is not a valid JSON document.", MessageTemplate: "sketch.json is not a valid JSON document.", Reference: "", DisableModes: nil, @@ -1510,7 +1510,7 @@ var configurations = []Type{ Subcategory: "general", ID: "SM002", Brief: "sketch.json data format", - Description: "", + Description: "The sketch's `sketch.json` metadata file does not have a valid data format.", MessageTemplate: "sketch.json has an invalid data format: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#metadata", DisableModes: nil, @@ -1527,7 +1527,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "PD001", Brief: "no readme", - Description: "", + Description: "None of the standard README file names (e.g., `README.md`) were found in the platform folder. This file provides interested parties with a convenient and standardized location to get information about the project.", MessageTemplate: "No readme found. Please document your boards platform.", Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-readmes", DisableModes: []rulemode.Type{rulemode.Default}, @@ -1544,7 +1544,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "PD002", Brief: "no license file", - Description: "", + Description: "None of the standard license file names (e.g., `LICENSE.txt`) were found in the platform folder. This file provides interested parties with a convenient and standardized location to get information about the project's licensing and is also used by GitHub for automatic license type classification.", MessageTemplate: "No license file found.", Reference: "https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/licensing-a-repository", DisableModes: []rulemode.Type{rulemode.Default}, @@ -1561,7 +1561,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF001", Brief: "boards.txt missing", - Description: "", + Description: "The `boards.txt` configuration file was not found in the platform folder", MessageTemplate: "Required boards.txt is missing. Expected at: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, @@ -1578,7 +1578,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF002", Brief: "invalid boards.txt", - Description: "", + Description: "The platform's `boards.txt` configuration file has an invalid data format.", MessageTemplate: "boards.txt has an invalid format: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, @@ -1595,7 +1595,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF003", Brief: "missing boardID.name", - Description: "", + Description: "A board definition in the platform's `boards.txt` configuration file is missing a `name` property (e.g., `uno.name=Arduino Uno`).", MessageTemplate: "Missing name property for board ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, @@ -1612,7 +1612,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF004", Brief: "boardID.name < min length", - Description: "", + Description: "The `name` property for a board definition in the platform's `boards.txt` configuration file is shorter than the minimum length.", MessageTemplate: "name value for board ID(s) {{.}} is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, @@ -1629,7 +1629,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF005", Brief: "missing build.board", - Description: "", + Description: "A board definition in the platform's `boards.txt` configuration file is missing the `build.board` property.", MessageTemplate: "Missing build.board property for board ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, @@ -1646,7 +1646,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF006", Brief: "build.board < min length", - Description: "", + Description: "The `build.board` property for a board definition in the platform's `boards.txt` configuration file is shorter than the minimum length.", MessageTemplate: "build.board value for board ID(s) {{.}} is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", DisableModes: nil, @@ -1663,7 +1663,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF007", Brief: "missing build.core", - Description: "", + Description: "A board definition in the platform's `boards.txt` configuration file is missing the `build.core` property.", MessageTemplate: "Missing build.core property for board ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#cores", DisableModes: nil, @@ -1680,7 +1680,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF008", Brief: "build.core < min length", - Description: "", + Description: "The `build.core` property for a board definition in the platform's `boards.txt` configuration file is shorter than the minimum length.", MessageTemplate: "build.core value for board ID(s) {{.}} is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#cores", DisableModes: nil, @@ -1697,8 +1697,8 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF009", Brief: "use of compiler.x.extra_flags", - Description: "", MessageTemplate: "Board ID(s) {{.}} use compiler.x.extra_flags properties. These are intended to be left for use by the user.", + Description: "A board definition in the platform's `boards.txt` configuration file is using one of the `compiler..extra_flags` properties (e.g., `compiler.cpp.extra_flags`). These are intended to be left for use by the user as a standardized interface for customizing the compilation commands. The platform author can define as many arbitrary properties as they like, so there is no need for them to take the user's properties.", Reference: "", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -1714,7 +1714,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF011", Brief: "non-empty hide value", - Description: "", + Description: "The `hide` property for a board definition in the platform's `boards.txt` configuration file is not empty. The hiding is based purely on whether or not the property was defined. The value is ignored. For this reason, setting a value for the property might cause confusion later (e.g., if someone changes `foo.hide=true` to `foo.hide=false`, the `foo` board will still be hidden).", MessageTemplate: "hide value for board ID(s) {{.}} is not empty. The value of this property is ignored.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#hiding-boards", DisableModes: nil, @@ -1731,7 +1731,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF012", Brief: "menu title < min length", - Description: "", + Description: "The title text length of a custom board options menu in the platform's `boards.txt` configuration file is shorter than the minimum length.", MessageTemplate: "title for menu ID(s) {{.}} are less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#custom-board-options", DisableModes: nil, @@ -1748,7 +1748,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF014", Brief: "serial.disableDTR value invalid", - Description: "", + Description: "The `serial.disableDTR` property for a board definition in the platform's `boards.txt` configuration file has an invalid value.", MessageTemplate: "serial.disableDTR value for board ID(s) {{.}} is invalid.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#serial-monitor-control-signal-configuration", DisableModes: nil, @@ -1765,7 +1765,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF015", Brief: "serial.disableRTS value invalid", - Description: "", + Description: "The `serial.disableRTS` property for a board definition in the platform's `boards.txt` configuration file has an invalid value.", MessageTemplate: "serial.disableRTS value for board ID(s) {{.}} is invalid.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#serial-monitor-control-signal-configuration", DisableModes: nil, @@ -1782,7 +1782,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF016", Brief: "missing upload.tool", - Description: "", + Description: "A board definition in the platform's `boards.txt` configuration file is missing the `upload.tool` property.", MessageTemplate: "Missing upload.tool property for board ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration", DisableModes: nil, @@ -1799,7 +1799,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF017", Brief: "upload.tool < min length", - Description: "", + Description: "The `upload.tool` property for a board definition in the platform's `boards.txt` configuration file is shorter than the minimum length.", MessageTemplate: "upload.tool value for board ID(s) {{.}} is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-upload-configuration", DisableModes: nil, @@ -1816,7 +1816,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF018", Brief: "missing upload.maximum_size", - Description: "Although not required, this provides the build system and the user with very useful information so should be provided.", + Description: "A board definition in the platform's `boards.txt` configuration file is missing the `upload.maximum_size` property. Although not required, this provides the build system and the user with very useful information, so it should be provided.", MessageTemplate: "Missing upload.maximum_size property for board ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -1833,7 +1833,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF019", Brief: "upload.maximum_size not a number", - Description: "", + Description: "The `upload.maximum_size` property for a board definition in the platform's `boards.txt` configuration file is not number.", MessageTemplate: "upload.maximum_size value for board ID(s) {{.}} is not a number.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -1850,7 +1850,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF020", Brief: "missing upload.maximum_data_size", - Description: "Although not required, this provides the build system and the user with very useful information so should be provided.", + Description: "A board definition in the platform's `boards.txt` configuration file is missing the `upload.maximum_data_size` property. Although not required, this provides the build system and the user with very useful information, so it should be provided.", MessageTemplate: "Missing upload.maximum_data_size property for board ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -1867,7 +1867,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF021", Brief: "upload.maximum_data_size not a number", - Description: "", + Description: "The `upload.maximum_size` property for a board definition in the platform's `boards.txt` configuration file is not number.", MessageTemplate: "upload.maximum_data_size value for board ID(s) {{.}} is not a number.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -1884,7 +1884,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF022", Brief: "upload.use_1200bps_touch value invalid", - Description: "", + Description: "The `upload.use_1200bps_touch` property for a board definition in the platform's `boards.txt` configuration file has an invalid value.", MessageTemplate: "upload.use_1200bps_touch value for board ID(s) {{.}} is invalid.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#1200-bps-bootloader-reset", DisableModes: nil, @@ -1901,7 +1901,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF023", Brief: "upload.wait_for_upload_port value invalid", - Description: "", + Description: "The `upload.wait_for_upload_port` property for a board definition in the platform's `boards.txt` configuration file has an invalid value.", MessageTemplate: "upload.wait_for_upload_port value for board ID(s) {{.}} is invalid.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#1200-bps-bootloader-reset", DisableModes: nil, @@ -1918,7 +1918,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF024", Brief: "vid.n value invalid format", - Description: "", + Description: "The `vid.n` property for a board definition in the platform's `boards.txt` configuration file has an invalid value.", MessageTemplate: "vid.n value for board ID(s) {{.}} has invalid format.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid", DisableModes: nil, @@ -1935,7 +1935,7 @@ var configurations = []Type{ Subcategory: "boards.txt", ID: "PF025", Brief: "pid.n value invalid format", - Description: "", + Description: "The `pid.n` property for a board definition in the platform's `boards.txt` configuration file has an invalid value.", MessageTemplate: "pid.n value for board ID(s) {{.}} has invalid format.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#board-vidpid", DisableModes: nil, @@ -1952,7 +1952,7 @@ var configurations = []Type{ Subcategory: "programmers.txt", ID: "PF026", Brief: "invalid programmers.txt", - Description: "", + Description: "The platform's `programmers.txt` configuration file has an invalid data format.", MessageTemplate: "programmers.txt has an invalid format: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, @@ -1969,7 +1969,7 @@ var configurations = []Type{ Subcategory: "programmers.txt", ID: "PF027", Brief: "missing programmerID.name", - Description: "", + Description: "A programmer definition in the platform's `boards.txt` configuration file is missing the `name` property.", MessageTemplate: "Missing name property for programmer ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, @@ -1986,7 +1986,7 @@ var configurations = []Type{ Subcategory: "programmers.txt", ID: "PF028", Brief: "programmerID.name < min length", - Description: "", + Description: "The `name` property for a programmer definition in the platform's `programmers.txt` configuration file is shorter than the minimum length.", MessageTemplate: "name value for programmer ID(s) {{.}} is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, @@ -2003,7 +2003,7 @@ var configurations = []Type{ Subcategory: "programmers.txt", ID: "PF029", Brief: "missing programmerID.program.tool", - Description: "", + Description: "A programmer definition in the platform's `programmers.txt` configuration file is missing the `program.tool` property.", MessageTemplate: "Missing program.tool property for programmer ID(s) {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, @@ -2020,7 +2020,7 @@ var configurations = []Type{ Subcategory: "programmers.txt", ID: "PF030", Brief: "programmerID.program.tool < min length", - Description: "", + Description: "The `program.tool` property for a programmer definition in the platform's `programmers.txt` configuration file is shorter than the minimum length.", MessageTemplate: "program.tool value for programmer ID(s) {{.}} is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#programmerstxt", DisableModes: nil, @@ -2037,7 +2037,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF031", Brief: "invalid platform.txt", - Description: "", + Description: "The platform's `platform.txt` configuration file has an invalid data format.", MessageTemplate: "platform.txt has an invalid format: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, @@ -2054,7 +2054,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF032", Brief: "missing name", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `name` property.", MessageTemplate: "Missing name property in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, @@ -2071,7 +2071,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF033", Brief: "name < min length", - Description: "", + Description: "The `name` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "platform.txt name property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, @@ -2088,7 +2088,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF034", Brief: "missing version", - Description: "", + Description: "The `version` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "Missing version property in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, @@ -2105,7 +2105,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF035", Brief: "invalid version", - Description: `Must be compliant with "relaxed semver".`, + Description: "The `version` property in the platform's `platform.txt` configuration file has an invalid format. It must be compliant with \"relaxed semver\".", MessageTemplate: "platform.txt version value {{.}} is invalid.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#platformtxt", DisableModes: nil, @@ -2122,7 +2122,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF036", Brief: "non-semver version", - Description: "", + Description: "The `version` property in the platform's `platform.txt` configuration file is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", MessageTemplate: "platform.txt version value {{.}} is not compliant with the semver specification.", Reference: "https://semver.org/", DisableModes: nil, @@ -2139,7 +2139,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF037", Brief: "missing compiler.warning_flags.none", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.warning_flags.none` property.", MessageTemplate: "Missing compiler.warning_flags.none in platform.txt", Reference: "", DisableModes: nil, @@ -2156,7 +2156,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF038", Brief: "missing compiler.warning_flags.default", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.warning_flags.default` property.", MessageTemplate: "Missing compiler.warning_flags.default in platform.txt", Reference: "", DisableModes: nil, @@ -2173,7 +2173,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF039", Brief: "missing compiler.warning_flags.more", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.warning_flags.more` property.", MessageTemplate: "Missing compiler.warning_flags.more in platform.txt", Reference: "", DisableModes: nil, @@ -2190,7 +2190,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF040", Brief: "missing compiler.warning_flags.all", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.warning_flags.all` property.", MessageTemplate: "Missing compiler.warning_flags.all in platform.txt", Reference: "", DisableModes: nil, @@ -2207,7 +2207,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF041", Brief: "missing compiler.optimization_flags.debug", - Description: "In order to support the optimization level feature, both compiler.optimization_flags.release and compiler.optimization_flags.debug must be defined.", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.optimization_flags.debug` property. In order to support the optimization level feature, both `compiler.optimization_flags.release` and `compiler.optimization_flags.debug` must be defined.", MessageTemplate: "Missing compiler.optimization_flags.debug in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration", DisableModes: nil, @@ -2241,7 +2241,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF043", Brief: "missing compiler.c.extra_flags", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.c.extra_flags` property. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "Missing compiler.c.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", Reference: "", DisableModes: nil, @@ -2258,7 +2258,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF044", Brief: "compiler.c.extra_flags not empty", - Description: "", + Description: "The `compiler.c.extra_flags` property in the platform's `platform.txt` configuration file is not empty. This property is exclusively for use by the user. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "platform.txt compiler.c.extra_flags property value is not empty. This property is exclusively for use by the user.", Reference: "", DisableModes: nil, @@ -2275,7 +2275,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF045", Brief: "missing compiler.cpp.extra_flags", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.cpp.extra_flags` property. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "Missing compiler.cpp.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", Reference: "", DisableModes: nil, @@ -2292,7 +2292,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF046", Brief: "compiler.cpp.extra_flags not empty", - Description: "", + Description: "The `compiler.cpp.extra_flags` property in the platform's `platform.txt` configuration file is not empty. This property is exclusively for use by the user. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "platform.txt compiler.cpp.extra_flags property value is not empty. This property is exclusively for use by the user.", Reference: "", DisableModes: nil, @@ -2309,7 +2309,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF047", Brief: "missing compiler.S.extra_flags", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.S.extra_flags` property. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "Missing compiler.S.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", Reference: "", DisableModes: nil, @@ -2326,7 +2326,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF048", Brief: "compiler.S.extra_flags not empty", - Description: "", + Description: "The `compiler.S.extra_flags` property in the platform's `platform.txt` configuration file is not empty. This property is exclusively for use by the user. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "platform.txt compiler.S.extra_flags property value is not empty. This property is exclusively for use by the user.", Reference: "", DisableModes: nil, @@ -2343,7 +2343,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF049", Brief: "missing compiler.ar.extra_flags", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.ar.extra_flags` property. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "Missing compiler.ar.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", Reference: "", DisableModes: nil, @@ -2360,7 +2360,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF050", Brief: "compiler.ar.extra_flags not empty", - Description: "", + Description: "The `compiler.ar.extra_flags` property in the platform's `platform.txt` configuration file is not empty. This property is exclusively for use by the user. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "platform.txt compiler.ar.extra_flags property value is not empty. This property is exclusively for use by the user.", Reference: "", DisableModes: nil, @@ -2377,7 +2377,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF051", Brief: "missing compiler.c.elf.extra_flags", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `compiler.c.elf.extra_flags` property. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "Missing compiler.c.elf.extra_flags in platform.txt. An empty default definition should be provided, which the user can override.", Reference: "", DisableModes: nil, @@ -2394,7 +2394,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF052", Brief: "compiler.c.elf.extra_flags not empty", - Description: "", + Description: "The `compiler.c.elf.extra_flags` property in the platform's `platform.txt` configuration file is not empty. This property is exclusively for use by the user. An empty default definition should be provided to provide a fallback, which the user can override.", MessageTemplate: "platform.txt compiler.c.elf.extra_flags property value is not empty. This property is exclusively for use by the user.", Reference: "", DisableModes: nil, @@ -2411,7 +2411,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF053", Brief: "recipe.preproc.macros < min length", - Description: "", + Description: "The `recipe.preproc.macros` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.preproc.macros property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipe-to-run-the-preprocessor", DisableModes: nil, @@ -2428,7 +2428,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF054", Brief: "recipe.preproc.macros lacks extra flags support", - Description: "", + Description: "The `recipe.preproc.macros` property in the platform's `platform.txt` configuration file does not contain a `{compiler.cpp.extra_flags}` reference. This is necessary to allow the user to customize the compiler command.", MessageTemplate: "recipe.preproc.macros property value does not contain a {compiler.cpp.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", Reference: "", DisableModes: nil, @@ -2445,7 +2445,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF055", Brief: "missing recipe.c.o.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.c.o.pattern` property.", MessageTemplate: "Missing recipe.c.o.pattern in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, @@ -2462,7 +2462,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF056", Brief: "recipe.c.o.pattern < min length", - Description: "", + Description: "The `recipe.c.o.pattern` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.c.o.pattern property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, @@ -2479,7 +2479,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF057", Brief: "recipe.c.o.pattern lacks extra flags support", - Description: "", + Description: "The `recipe.c.o.pattern` property in the platform's `platform.txt` configuration file does not contain a `{compiler.c.extra_flags}` reference. This is necessary to allow the user to customize the compiler command.", MessageTemplate: "recipe.c.o.pattern property value does not contain a {compiler.c.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", Reference: "", DisableModes: nil, @@ -2496,7 +2496,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF058", Brief: "missing recipe.cpp.o.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.cpp.o.pattern` property.", MessageTemplate: "Missing recipe.cpp.o.pattern in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, @@ -2513,7 +2513,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF059", Brief: "recipe.cpp.o.pattern < min length", - Description: "", + Description: "The `recipe.cpp.o.pattern` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.cpp.o.pattern property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, @@ -2530,7 +2530,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF060", Brief: "recipe.cpp.o.pattern lacks extra flags support", - Description: "", + Description: "The `recipe.cpp.o.pattern` property in the platform's `platform.txt` configuration file does not contain a `{compiler.cpp.extra_flags}` reference. This is necessary to allow the user to customize the compiler command.", MessageTemplate: "recipe.cpp.o.pattern property value does not contain a {compiler.cpp.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", Reference: "", DisableModes: nil, @@ -2547,7 +2547,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF061", Brief: "missing recipe.S.o.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.S.o.pattern` property.", MessageTemplate: "Missing recipe.S.o.pattern in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, @@ -2564,7 +2564,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF062", Brief: "recipe.S.o.pattern < min length", - Description: "", + Description: "The `recipe.S.o.pattern` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.S.o.pattern property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compile-source-code", DisableModes: nil, @@ -2581,7 +2581,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF063", Brief: "recipe.S.o.pattern lacks extra flags support", - Description: "", + Description: "The `recipe.S.o.pattern` property in the platform's `platform.txt` configuration file does not contain a `{compiler.S.extra_flags}` reference. This is necessary to allow the user to customize the compiler command.", MessageTemplate: "recipe.S.o.pattern property value does not contain a {compiler.S.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", Reference: "", DisableModes: nil, @@ -2598,7 +2598,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF064", Brief: "missing recipe.ar.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.ar.pattern` property.", MessageTemplate: "Missing recipe.ar.pattern in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file", DisableModes: nil, @@ -2615,7 +2615,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF065", Brief: "recipe.ar.pattern < min length", - Description: "", + Description: "The `recipe.ar.pattern` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.ar.pattern property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file", DisableModes: nil, @@ -2632,7 +2632,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF066", Brief: "recipe.ar.pattern lacks extra flags support", - Description: "", + Description: "The `recipe.ar.pattern` property in the platform's `platform.txt` configuration file does not contain a `{compiler.ar.extra_flags}` reference. This is necessary to allow the user to customize the compiler command.", MessageTemplate: "recipe.ar.pattern property value does not contain a {compiler.ar.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", Reference: "", DisableModes: nil, @@ -2649,7 +2649,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF067", Brief: "missing recipe.c.combine.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.c.combine.pattern` property.", MessageTemplate: "Missing recipe.c.combine.pattern in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-for-linking", DisableModes: nil, @@ -2666,7 +2666,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF068", Brief: "recipe.c.combine.pattern < min length", - Description: "", + Description: "The `recipe.c.combine.pattern` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.c.combine.pattern property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-for-linking", DisableModes: nil, @@ -2683,7 +2683,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF069", Brief: "recipe.c.combine.pattern lacks extra flags support", - Description: "", + Description: "The `recipe.c.combine.pattern` property in the platform's `platform.txt` configuration file does not contain a `{compiler.c.elf.extra_flags}` reference. This is necessary to allow the user to customize the compiler command.", MessageTemplate: "recipe.c.combine.pattern property value does not contain a {compiler.c.elf.extra_flags} reference. This is necessary to allow the user to customize the compiler command.", Reference: "", DisableModes: nil, @@ -2700,7 +2700,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF070", Brief: "missing recipe.output.tmp_file", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.output.tmp_file` property.", MessageTemplate: "Missing recipe.output.tmp_file in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, @@ -2717,7 +2717,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF071", Brief: "recipe.output.tmp_file < min length", - Description: "", + Description: "The `recipe.output.tmp_file` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.output.tmp_file property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, @@ -2734,7 +2734,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF072", Brief: "missing recipe.output.save_file", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.output.save_file` property.", MessageTemplate: "Missing recipe.output.save_file in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, @@ -2751,7 +2751,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF073", Brief: "recipe.output.save_file < min length", - Description: "", + Description: "The `recipe.output.save_file` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.output.save_file property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-export-compiled-binary", DisableModes: nil, @@ -2768,7 +2768,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF074", Brief: "missing recipe.size.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.size.pattern` property.", MessageTemplate: "Missing recipe.size.pattern in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -2785,7 +2785,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF075", Brief: "recipe.size.pattern < min length", - Description: "", + Description: "The `recipe.size.pattern` property in the platform's `platform.txt` configuration file is shorter than the minimum length.", MessageTemplate: "recipe.size.pattern property value is less than the minimum length.", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -2802,7 +2802,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF076", Brief: "missing recipe.size.regex", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.size.regex` property.", MessageTemplate: "Missing recipe.size.regex in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -2819,7 +2819,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF077", Brief: "missing recipe.size.regex.data", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `recipe.size.regex.data` property.", MessageTemplate: "Missing recipe.size.regex.data in platform.txt", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-compute-binary-sketch-size", DisableModes: nil, @@ -2836,7 +2836,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF080", Brief: "missing upload.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `upload.pattern` property.", MessageTemplate: "Missing upload.pattern for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, @@ -2853,7 +2853,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF081", Brief: "missing program.params.verbose", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `program.params.verbose` property.", MessageTemplate: "Missing program.params.verbose for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, @@ -2870,7 +2870,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF082", Brief: "missing program.params.quiet", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `program.params.quiet` property.", MessageTemplate: "Missing program.params.quiet for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, @@ -2887,7 +2887,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF083", Brief: "missing program.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `program.pattern` property.", MessageTemplate: "Missing program.pattern for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, @@ -2904,7 +2904,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF084", Brief: "missing erase.params.verbose", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `erase.params.verbose` property.", MessageTemplate: "Missing erase.params.verbose for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, @@ -2921,7 +2921,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF085", Brief: "missing erase.params.quiet", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `erase.params.quiet` property.", MessageTemplate: "Missing erase.params.quiet for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, @@ -2938,7 +2938,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF086", Brief: "missing erase.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `erase.pattern` property.", MessageTemplate: "Missing erase.pattern for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, @@ -2955,7 +2955,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF087", Brief: "missing bootloader.params.verbose", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `bootloader.params.verbose` property.", MessageTemplate: "Missing bootloader.params.verbose for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, @@ -2972,7 +2972,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF088", Brief: "missing bootloader.params.quiet", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `bootloader.params.quiet` property.", MessageTemplate: "Missing bootloader.params.quiet for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#verbose-parameter", DisableModes: nil, @@ -2989,7 +2989,7 @@ var configurations = []Type{ Subcategory: "platform.txt", ID: "PF089", Brief: "missing bootloader.pattern", - Description: "", + Description: "The platform's `platform.txt` configuration file is missing the `bootloader.pattern` property.", MessageTemplate: "Missing bootloader.pattern for {{.}} tool(s).", Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#tools", DisableModes: nil, @@ -3006,7 +3006,7 @@ var configurations = []Type{ Subcategory: "miscellaneous", ID: "PC001", Brief: "Arduino.h case", - Description: "This causes compilation failure on filename case-sensitive file systems.", + Description: "An `#include` directive for a file matching the standardized Arduino core library's `Arduino.h` header in all except case (e.g., `#include `) was found in the platform's code. This causes compilation failure on case-sensitive file systems.", MessageTemplate: "Incorrect Arduino.h filename case in #include directive: {{.}}", Reference: "", DisableModes: nil, @@ -3023,7 +3023,7 @@ var configurations = []Type{ Subcategory: "general", ID: "IS001", Brief: "missing", - Description: "", + Description: "No package index file was found in the specified project path.", MessageTemplate: "No package index was found in specified project path.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: nil, @@ -3040,7 +3040,7 @@ var configurations = []Type{ Subcategory: "general", ID: "IS002", Brief: "invalid filename", - Description: "", + Description: "The package index's filename is not compliant with the required format.", MessageTemplate: "Invalid package index filename {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: []rulemode.Type{rulemode.Official}, @@ -3057,7 +3057,7 @@ var configurations = []Type{ Subcategory: "general", ID: "IS003", Brief: "invalid official filename", - Description: "", + Description: "The package index's filename is not compliant with the required format (`package_YOURNAME_PACKAGENAME_index.json` or `package_index.json`).", MessageTemplate: "Invalid official package index filename {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: []rulemode.Type{rulemode.Default}, @@ -3074,7 +3074,7 @@ var configurations = []Type{ Subcategory: "general", ID: "ID001", Brief: "JSON format", - Description: "", + Description: "The package index is not a valid JSON document.", MessageTemplate: "Invalid JSON format.", Reference: "", DisableModes: nil, @@ -3091,7 +3091,7 @@ var configurations = []Type{ Subcategory: "general", ID: "ID002", Brief: "data format", - Description: "", + Description: "The package index does not have a valid data format.", MessageTemplate: "Invalid package index format: {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: nil, @@ -3108,7 +3108,7 @@ var configurations = []Type{ Subcategory: "root", ID: "ID003", Brief: "Additional properties in root", - Description: "", + Description: "Unknown data properties were found in the package index root.", MessageTemplate: "Unknown properties found in package index root.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", DisableModes: nil, @@ -3125,7 +3125,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA001", Brief: "packages[] missing", - Description: "", + Description: "The package index is missing the `packages` property.", MessageTemplate: "Missing packages property.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3142,7 +3142,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA002", Brief: "Incorrect packages type", - Description: "", + Description: "The package index's `packages` property has an incorrect type.", MessageTemplate: "packages property has incorrect type.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3159,7 +3159,7 @@ var configurations = []Type{ Subcategory: "root", ID: "IA003", Brief: "Additional properties in packages", - Description: "", + Description: "The package index has a package containing unknown data properties.", MessageTemplate: "Unknown properties found in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3176,7 +3176,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA004", Brief: "packages[].name missing", - Description: "", + Description: "The package index has a package without a `name` property.", MessageTemplate: "Missing packages[].name property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3193,7 +3193,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA005", Brief: "Incorrect packages[].name type", - Description: "The name value must be a string.", + Description: "The package index has a package with a `name` property of incorrect type. The `name` value must be a string.", MessageTemplate: "packages[].name property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3210,7 +3210,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA006", Brief: "packages[].name < min length", - Description: "", + Description: "The package index has a package with a `name` property shorter than the minimum length.", MessageTemplate: "packages[].name value less than the minimum length in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3227,7 +3227,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA007", Brief: "packages[].name is arduino", - Description: "Case insensitive.", + Description: "The package index has a package with a `name` property of `arduino` (case insensitive). This name is reserved for official packages.\n\nIf the package index is maintained by Arduino, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).", MessageTemplate: "Use of packages[].name value \"arduino\" found. This name is reserved for official packages.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: []rulemode.Type{rulemode.Official}, @@ -3244,7 +3244,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA008", Brief: "packages[].maintainer missing", - Description: "", + Description: "The package index has a package without a `maintainer` property.", MessageTemplate: "Missing packages[].maintainer property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3261,7 +3261,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA009", Brief: "Incorrect packages[].maintainer type", - Description: "The maintainer value must be a string.", + Description: "The package index has a package with a `maintainer` property of incorrect type. The `maintainer` value must be a string.", MessageTemplate: "packages[].maintainer property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3278,7 +3278,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA010", Brief: "packages[].maintainer < min length", - Description: "", + Description: "The package index has a package with a `maintainer` property shorter than the minimum length.", MessageTemplate: "packages[].maintainer value less than the minimum length in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3295,7 +3295,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA011", Brief: "packages[].maintainer starts with \"arduino\"", - Description: "Case insensitive.", + Description: "The package index has a package with a `maintainer` value starting with \"Arduino\" (case insensitive). 3rd party packages are not maintained by Arduino.\n\nIf the package index is maintained by Arduino, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).", MessageTemplate: "packages[].maintainer value starts with \"arduino\" in package(s): {{.}}. 3rd party packages are not maintained by Arduino.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: []rulemode.Type{rulemode.Official}, @@ -3312,7 +3312,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA012", Brief: "packages[].websiteURL missing", - Description: "", + Description: "The package index has a package without a `websiteURL` property.", MessageTemplate: "Missing packages[].websiteURL property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3329,7 +3329,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA013", Brief: "Incorrect packages[].websiteURL type", - Description: "Must be a string.", + Description: "The package index has a package with a `websiteURL` property of incorrect type.", MessageTemplate: "packages[].websiteURL property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3346,7 +3346,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA014", Brief: "Invalid packages[].websiteURL format", - Description: "", + Description: "The package index has a package with a `websiteURL` property that is not a valid format for a URL.", MessageTemplate: "packages[].websiteURL property does not have a valid URL format in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3363,7 +3363,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA015", Brief: "dead packages[].websiteURL", - Description: "", + Description: "The package index has a package with a `websiteURL` property that did not load from the Internet.", MessageTemplate: "Unable to load the packages[].websiteURL URL for package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3380,7 +3380,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA016", Brief: "packages[].email missing", - Description: "", + Description: "The package index has a package without an `email` property.", MessageTemplate: "Missing packages[].email property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3397,7 +3397,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA017", Brief: "Incorrect packages[].email type", - Description: "Must be a string.", + Description: "The package index has a package with an `email` property of incorrect type.", MessageTemplate: "packages[].email property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3414,7 +3414,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA018", Brief: "Incorrect packages[].help type", - Description: "Must be a string.", + Description: "The package index has a package with a `help` property of incorrect type.", MessageTemplate: "packages[].help property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3431,7 +3431,7 @@ var configurations = []Type{ Subcategory: "root", ID: "IA019", Brief: "Additional properties in packages[].help", - Description: "", + Description: "The package index has a package with `help` property containing unknown data properties.", MessageTemplate: "Unknown properties under packages[].help found in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3448,7 +3448,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA020", Brief: "packages[].help.online missing", - Description: "", + Description: "The package index has a package without a `help.online` property.", MessageTemplate: "Missing packages[].help.online property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3465,7 +3465,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA021", Brief: "Incorrect packages[].help.online type", - Description: "Must be a string.", + Description: "The package index has a package with a `help.online` property of incorrect type.", MessageTemplate: "packages[].help.online property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3482,7 +3482,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA022", Brief: "Invalid packages[].help.online format", - Description: "", + Description: "The package index has a package with a `websiteURL` property that is not a valid format for a URL.", MessageTemplate: "packages[].help.online property does not have a valid URL format in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3499,7 +3499,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IA023", Brief: "dead packages[].help.online", - Description: "", + Description: "The package index has a package with a `help.online` property that did not load from the Internet.", MessageTemplate: "Unable to load the packages[].help.online URL for package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3516,7 +3516,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL001", Brief: "packages[].platforms missing", - Description: "", + Description: "The package index has a package without a `platforms` property.", MessageTemplate: "Missing packages[].platforms property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3533,7 +3533,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL002", Brief: "incorrect packages[].platforms type", - Description: "Must be an array.", + Description: "The package index has a package with a `platforms` property of incorrect type.", MessageTemplate: "packages[].platforms property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, @@ -3550,7 +3550,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL003", Brief: "additional properties in packages[].platforms[]", - Description: "", + Description: "The package index has a platform containing unknown data properties.", MessageTemplate: "Unknown properties under packages[].platforms[] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3567,7 +3567,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL004", Brief: "packages[].platforms[].name missing", - Description: "", + Description: "The package index has a platform without a `name` property.", MessageTemplate: "Missing packages[].platforms[].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3584,7 +3584,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL005", Brief: "incorrect packages[].platforms[].name type", - Description: "Must be a string.", + Description: "The package index has a platform with a `name` property of incorrect type.", MessageTemplate: "packages[].platforms[].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3601,7 +3601,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL006", Brief: "packages[].platforms[].name < min length", - Description: "", + Description: "The package index has a platform with a `name` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3618,7 +3618,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL007", Brief: "packages[].platforms[].architecture missing", - Description: "", + Description: "The package index has a platform without an `architecture` property.", MessageTemplate: "Missing packages[].platforms[].architecture property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3635,7 +3635,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL008", Brief: "incorrect packages[].platforms[].architecture type", - Description: "Must be a string.", + Description: "The package index has a platform with an `architecture` property of incorrect type.", MessageTemplate: "packages[].platforms[].architecture property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3652,7 +3652,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL009", Brief: "packages[].platforms[].architecture < min length", - Description: "", + Description: "The package index has a platform with an `architecture` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].architecture value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3669,7 +3669,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL010", Brief: "packages[].platforms[].version missing", - Description: "", + Description: "The package index has a platform without a `version` property.", MessageTemplate: "Missing packages[].platforms[].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3686,7 +3686,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL011", Brief: "incorrect packages[].platforms[].version type", - Description: "Must be a string.", + Description: "The package index has a platform with a `version` property of incorrect type.", MessageTemplate: "packages[].platforms[].version property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3703,7 +3703,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL012", Brief: "invalid packages[].platforms[].version", - Description: "Must be compliant with \"relaxed semver\".", + Description: "The package index has a platform with an invalid `version` property. It must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].platforms[].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3720,7 +3720,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL013", Brief: "non-semver packages[].platforms[].version", - Description: "", + Description: "The package index has a platform with a `version` property that is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", MessageTemplate: "packages[].platforms[].version property in violation of semver specification found in platform(s):\n{{.}}", Reference: "https://semver.org/", DisableModes: nil, @@ -3737,7 +3737,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL058", Brief: "incorrect packages[].platforms[].deprecated type", - Description: "Must be a boolean.", + Description: "The package index has a platform with a `deprecated` property of incorrect type.", MessageTemplate: "packages[].platforms[].deprecated property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3754,7 +3754,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL014", Brief: "packages[].platforms[].category missing", - Description: "", + Description: "The package index has a platform without a `category` property.", MessageTemplate: "Missing packages[].platforms[].category property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3771,7 +3771,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL015", Brief: "incorrect packages[].platforms[].category type", - Description: "Must be a string.", + Description: "The package index has a platform with a `category` property of incorrect type.", MessageTemplate: "packages[].platforms[].category property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3788,7 +3788,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL016", Brief: "invalid packages[].platforms[].category", - Description: "", + Description: "The `category` property of a platform in the package index has an invalid value.", MessageTemplate: "packages[].platforms[].category property invalid in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: []rulemode.Type{rulemode.Official}, @@ -3805,7 +3805,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL017", Brief: "packages[].platforms[].help missing", - Description: "", + Description: "The package index has a platform without a `help` property.", MessageTemplate: "Missing packages[].platforms[].help property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3822,7 +3822,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL018", Brief: "incorrect packages[].platforms[].help type", - Description: "Must be an object.", + Description: "The package index has a platform with a `help` property of incorrect type.", MessageTemplate: "packages[].platforms[].help property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3839,7 +3839,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL019", Brief: "additional properties in packages[].platforms[].help", - Description: "", + Description: "The `help` property of a platform in the package index contains unknown data properties.", MessageTemplate: "Unknown properties under packages[].platforms[].help found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3856,7 +3856,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL020", Brief: "packages[].platforms[].help.online missing", - Description: "", + Description: "The package index has a platform without a `help.online` property.", MessageTemplate: "Missing packages[].platforms[].help.online property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3873,7 +3873,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL021", Brief: "incorrect packages[].platforms[].help.online type", - Description: "Must be a string.", + Description: "The package index has a platform with a `help.online` property of incorrect type.", MessageTemplate: "packages[].platforms[].help.online property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3890,7 +3890,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL022", Brief: "invalid packages[].platforms[].help.online format", - Description: "", + Description: "The package index has a platform with a `help.online` property that is not a valid format for a URL.", MessageTemplate: "packages[].platforms[].help.online property does not have a valid URL format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3907,7 +3907,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL023", Brief: "dead packages[].platforms[].help.online", - Description: "", + Description: "The package index has a platform with a `help.online` property that did not load from the Internet.", MessageTemplate: "Unable to load the packages[].platforms[].help.online URL for platforms(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3924,7 +3924,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL024", Brief: "packages[].platforms[].url missing", - Description: "", + Description: "The package index has a platform without a `url` property.", MessageTemplate: "Missing packages[].platforms[].url property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3941,7 +3941,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL025", Brief: "incorrect packages[].platforms[].url type", - Description: "Must be a string.", + Description: "The package index has a platform with a `url` property of incorrect type.", MessageTemplate: "packages[].platforms[].url property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3958,7 +3958,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL026", Brief: "invalid packages[].platforms[].url format", - Description: "", + Description: "The package index has a platform with a `url` property that is not a valid format for a URL.", MessageTemplate: "packages[].platforms[].url property does not have a valid URL format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3975,7 +3975,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL027", Brief: "dead packages[].platforms[].url", - Description: "", + Description: "The package index has a platform with a `url` property that did not load from the Internet.", MessageTemplate: "Unable to load the packages[].platforms[].url URL for platforms(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -3992,7 +3992,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL028", Brief: "packages[].platforms[].archiveFileName missing", - Description: "", + Description: "The package index has a platform without an `archiveFileName` property.", MessageTemplate: "Missing packages[].platforms[].archiveFileName property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4009,7 +4009,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL029", Brief: "incorrect packages[].platforms[].archiveFileName type", - Description: "Must be a string.", + Description: "The package index has a platform with an `archiveFileName` property of incorrect type.", MessageTemplate: "packages[].platforms[].archiveFileName property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4026,7 +4026,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL030", Brief: "packages[].platforms[].archiveFileName < min length", - Description: "", + Description: "The package index has a platform with an `archiveFileName` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].archiveFileName value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4043,7 +4043,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL031", Brief: "invalid packages[].platforms[].archiveFileName", - Description: "", + Description: "The package index has a platform with an `archiveFileName` property that uses an unsupported file extension.", MessageTemplate: "packages[].platforms[].archiveFileName filename uses unsupported file extension in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4060,7 +4060,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL032", Brief: "packages[].platforms[].checksum missing", - Description: "", + Description: "The package index has a platform without a `checksum` property.", MessageTemplate: "Missing packages[].platforms[].checksum property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4077,7 +4077,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL033", Brief: "incorrect packages[].platforms[].checksum type", - Description: "Must be a string.", + Description: "The package index has a platform with a `checksum` property of incorrect type.", MessageTemplate: "packages[].platforms[].checksum property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4094,7 +4094,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL034", Brief: "invalid packages[].platforms[].checksum", - Description: "", + Description: "The `checksum` property of a platform in the package index has an invalid format.", MessageTemplate: "packages[].platforms[].checksum has an invalid format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4111,7 +4111,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL035", Brief: "discouraged packages[].platforms[].checksum algorithm", - Description: "", + Description: "The `checksum` property of a platform in the package index uses a discouraged hash algorithm.", MessageTemplate: "packages[].platforms[].checksum uses a discouraged hash algorithm in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4128,7 +4128,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL036", Brief: "packages[].platforms[].size missing", - Description: "", + Description: "The package index has a platform without a `size` property.", MessageTemplate: "Missing packages[].platforms[].size property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4145,7 +4145,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL037", Brief: "incorrect packages[].platforms[].size type", - Description: "Must be a string.", + Description: "The package index has a platform with a `size` property of incorrect type.", MessageTemplate: "packages[].platforms[].size property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4162,7 +4162,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IL038", Brief: "invalid packages[].platforms[].size", - Description: "", + Description: "The `size` property of a platform in the package index has an invalid value.", MessageTemplate: "packages[].platforms[].size has an invalid format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4179,7 +4179,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL039", Brief: "packages[].platforms[].boards[] missing", - Description: "", + Description: "The package index has a platform without a `boards` property.", MessageTemplate: "Missing packages[].platforms[].boards[] property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4196,7 +4196,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL040", Brief: "incorrect packages[].platforms[].boards type", - Description: "Must be an array.", + Description: "The package index has a platform with a `boards` property of incorrect type.", MessageTemplate: "packages[].platforms[].boards property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4213,7 +4213,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL041", Brief: "additional properties in packages[].platforms[].boards[]", - Description: "", + Description: "A `boards` object for one of the package index's platforms contains unknown data properties.", MessageTemplate: "Unknown properties under packages[].platforms[].boards[] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4230,7 +4230,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL042", Brief: "packages[].platforms[].boards[].name missing", - Description: "", + Description: "A `boards` object for one of the package index's platforms is missing a `name` property.", MessageTemplate: "Missing packages[].platforms[].boards[].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4247,7 +4247,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL043", Brief: "incorrect packages[].platforms[].boards[].name type", - Description: "Must be a string.", + Description: "A `boards` object for one of the package index's platforms has a `name` property of incorrect type.", MessageTemplate: "packages[].platforms[].boards[].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4264,7 +4264,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL044", Brief: "packages[].platforms[].boards[].name < min length", - Description: "", + Description: "A `boards` object for one of the package index's platforms has a `name` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].boards[].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4281,7 +4281,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL045", Brief: "packages[].platforms[].toolsDependencies[] missing", - Description: "", + Description: "The package index has a platform without a `toolsDependencies` property.", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[] property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4298,7 +4298,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL046", Brief: "incorrect packages[].platforms[].toolsDependencies type", - Description: "Must be an array.", + Description: "The package index has a platform with a `toolsDependencies` property of incorrect type.", MessageTemplate: "packages[].platforms[].toolsDependencies property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4315,7 +4315,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL047", Brief: "additional properties in packages[].platforms[].toolsDependencies[]", - Description: "", + Description: "The `toolsDependencies` property of a platform in the package index contains unknown data properties.", MessageTemplate: "Unknown properties under packages[].platforms[].toolsDependencies[] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4332,7 +4332,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL048", Brief: "packages[].platforms[].toolsDependencies[].packager missing", - Description: "", + Description: "A `toolsDependencies` object for one of the package index's platforms is missing a `packager` property.", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].packager property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4349,7 +4349,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL049", Brief: "incorrect packages[].platforms[].toolsDependencies[].packager type", - Description: "Must be a string.", + Description: "A `toolsDependencies` object for one of the package index's platforms has a `packager` property of incorrect type.", MessageTemplate: "packages[].platforms[].toolsDependencies[].packager property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4366,7 +4366,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL050", Brief: "packages[].platforms[].toolsDependencies[].packager < min length", - Description: "", + Description: "A `toolsDependencies` object for one of the package index's platforms has a `packager` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].toolsDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4383,7 +4383,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL051", Brief: "packages[].platforms[].toolsDependencies[].name missing", - Description: "", + Description: "A `toolsDependencies` object for one of the package index's platforms is missing a `name` property.", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4400,7 +4400,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL052", Brief: "incorrect packages[].platforms[].toolsDependencies[].name type", - Description: "Must be a string.", + Description: "A `toolsDependencies` object for one of the package index's platforms has a `name` property of incorrect type.", MessageTemplate: "packages[].platforms[].toolsDependencies[].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4417,7 +4417,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL053", Brief: "packages[].platforms[].toolsDependencies[].name < min length", - Description: "", + Description: "A `toolsDependencies` object for one of the package index's platforms has a `name` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].toolsDependencies[].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4434,7 +4434,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL054", Brief: "packages[].platforms[].toolsDependencies[].version missing", - Description: "", + Description: "A `toolsDependencies` object for one of the package index's platforms is missing a `version` property.", MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4451,7 +4451,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL055", Brief: "incorrect packages[].platforms[].toolsDependencies[].version type", - Description: "Must be a string.", + Description: "A `toolsDependencies` object for one of the package index's platforms has a `version` property of incorrect type.", MessageTemplate: "packages[].platforms[].toolsDependencies[].version property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4468,7 +4468,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL056", Brief: "invalid packages[].platforms[].toolsDependencies[].version", - Description: "Must be compliant with \"relaxed semver\".", + Description: "A `toolsDependencies` object for one of the package index's platforms has an invalid `version` property. It must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4485,7 +4485,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL057", Brief: "non-semver packages[].platforms[].toolsDependencies[].version", - Description: "", + Description: "A `toolsDependencies` object for one of the package index's platforms has a `version` property that is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", MessageTemplate: "packages[].platforms[].toolsDependencies[].version property in violation of semver specification found in platform(s):\n{{.}}", Reference: "https://semver.org/", DisableModes: nil, @@ -4502,7 +4502,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL059", Brief: "incorrect packages[].platforms[].discoveryDependencies type", - Description: "Must be an array.", + Description: "The package index has a platform with a `discoveryDependencies` property of incorrect type.", MessageTemplate: "packages[].platforms[].discoveryDependencies property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4519,7 +4519,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL060", Brief: "additional properties in packages[].platforms[].discoveryDependencies[]", - Description: "", + Description: "A `discoveryDependencies` object for one of the package index's platforms contains unknown data properties.", MessageTemplate: "Unknown properties under packages[].platforms[].discoveryDependencies[] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4536,7 +4536,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL061", Brief: "packages[].platforms[].discoveryDependencies[].packager missing", - Description: "", + Description: "A `discoveryDependencies` object for one of the package index's platforms is missing a `packager` property.", MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].packager property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4553,7 +4553,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL062", Brief: "incorrect packages[].platforms[].discoveryDependencies[].packager type", - Description: "Must be a string.", + Description: "A `discoveryDependencies` object for one of the package index's platforms has a `packager` property of incorrect type.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4570,7 +4570,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL063", Brief: "packages[].platforms[].discoveryDependencies[].packager < min length", - Description: "", + Description: "A `discoveryDependencies` object for one of the package index's platforms has a `packager` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4587,7 +4587,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL064", Brief: "packages[].platforms[].discoveryDependencies[].name missing", - Description: "", + Description: "A `discoveryDependencies` object for one of the package index's platforms is missing a `name` property.", MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4604,7 +4604,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL065", Brief: "incorrect packages[].platforms[].discoveryDependencies[].name type", - Description: "Must be a string.", + Description: "A `discoveryDependencies` object for one of the package index's platforms has a `name` property of incorrect type.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4621,7 +4621,7 @@ var configurations = []Type{ Subcategory: "platform", ID: "IL066", Brief: "packages[].platforms[].discoveryDependencies[].name < min length", - Description: "", + Description: "A `discoveryDependencies` object for one of the package index's platforms has a `name` property shorter than the minimum length.", MessageTemplate: "packages[].platforms[].discoveryDependencies[].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, @@ -4638,7 +4638,7 @@ var configurations = []Type{ Subcategory: "package", ID: "IT001", Brief: "packages[].tools[] missing", - Description: "", + Description: "The package index has a package without a `tools` property.", MessageTemplate: "Missing packages[].tools property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4655,7 +4655,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT002", Brief: "incorrect packages[].tools type", - Description: "Must be an array.", + Description: "The package index has a package with a `tools` property of incorrect type.", MessageTemplate: "packages[].tools property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4672,7 +4672,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT003", Brief: "additional properties in packages[].tools[]", - Description: "", + Description: "The package index has a tool containing unknown data properties.", MessageTemplate: "Unknown properties under packages[].tools[] found in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4689,7 +4689,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT004", Brief: "packages[].tools[].name missing", - Description: "", + Description: "The package index has a tool without a `name` property.", MessageTemplate: "Missing packages[].tools[].name property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4706,7 +4706,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT005", Brief: "incorrect packages[].tools[].name type", - Description: "Must be a string.", + Description: "The package index has a tool with a `name` property of incorrect type.", MessageTemplate: "packages[].tools[].name property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4723,7 +4723,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT006", Brief: "packages[].tools[].name < min length", - Description: "", + Description: "The package index has a tool with a `name` property shorter than the minimum length.", MessageTemplate: "packages[].tools[].name value less than the minimum length in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4740,7 +4740,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT007", Brief: "packages[].tools[].version missing", - Description: "", + Description: "The package index has a tool without a `version` property.", MessageTemplate: "Missing packages[].tools[].version property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4757,7 +4757,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT008", Brief: "incorrect packages[].tools[].version type", - Description: "Must be a string.", + Description: "The package index has a tool with a `version` property of incorrect type.", MessageTemplate: "packages[].tools[].version property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4774,7 +4774,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT009", Brief: "invalid packages[].tools[].version", - Description: "Must be compliant with \"relaxed semver\".", + Description: "The package index has a tool with an invalid `version` property. It must be compliant with \"relaxed semver\".", MessageTemplate: "Invalid packages[].tools[].version property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4791,7 +4791,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT010", Brief: "non-semver packages[].tools[].version", - Description: "", + Description: "The package index has a tool with a `version` property that is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", MessageTemplate: "packages[].tools[].version property in violation of semver specification found in tool(s):\n{{.}}", Reference: "https://semver.org/", DisableModes: nil, @@ -4808,7 +4808,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT011", Brief: "packages[].tools[].systems[] missing", - Description: "", + Description: "The package index has a tool without a `systems` property.", MessageTemplate: "Missing packages[].tools[].systems[] property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4825,7 +4825,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT012", Brief: "incorrect packages[].tools[].systems type", - Description: "Must be an array.", + Description: "The package index has a tool with a `systems` property of incorrect type.", MessageTemplate: "packages[].tools[].systems property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4842,7 +4842,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT013", Brief: "additional properties in packages[].tools[].systems[]", - Description: "", + Description: "A `systems` object for one of the package index's tools contains unknown data properties.", MessageTemplate: "Unknown properties under packages[].tools[].systems[] found in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4859,7 +4859,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT014", Brief: "packages[].tools[].systems[].host missing", - Description: "", + Description: "A `systems` object for one of the package index's tools is missing a `host` property.", MessageTemplate: "Missing packages[].tools[].systems[].host property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4876,7 +4876,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT015", Brief: "incorrect packages[].tools[].systems[].host type", - Description: "Must be a string.", + Description: "A `systems` object for one of the package index's tools has a `host` property of incorrect type.", MessageTemplate: "packages[].tools[].systems[].host property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4893,7 +4893,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT0016", Brief: "invalid packages[].tools[].systems[].host", - Description: "", + Description: "A `systems` object for one of the package index's tools has an invalid `host` property.", MessageTemplate: "packages[].tools[].systems[].host has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4910,7 +4910,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT017", Brief: "packages[].tools[].systems[].url missing", - Description: "", + Description: "A `systems` object for one of the package index's tools is missing a `url` property.", MessageTemplate: "Missing packages[].tools[].systems[].url property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4927,7 +4927,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT018", Brief: "incorrect packages[].tools[].systems[].url type", - Description: "Must be a string.", + Description: "A `systems` object for one of the package index's tools has a `url` property of incorrect type.", MessageTemplate: "packages[].tools[].systems[].url property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4944,7 +4944,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT019", Brief: "invalid packages[].tools[].systems[].url format", - Description: "", + Description: "A `systems` object for one of the package index's tools has a `url` property that is not a valid format for a URL.", MessageTemplate: "packages[].tools[].systems[].url property does not have a valid URL format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4961,7 +4961,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT020", Brief: "dead packages[].tools[].systems[].url", - Description: "", + Description: "A `systems` object for one of the package index's tools has a `url` property that did not load from the Internet.", MessageTemplate: "Unable to load the packages[].tools[].systems[].url URL for tools(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4978,7 +4978,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT021", Brief: "packages[].tools[].systems[].archiveFileName missing", - Description: "", + Description: "A `systems` object for one of the package index's tools is missing an `archiveFileName` property.", MessageTemplate: "Missing packages[].tools[].systems[].archiveFileName property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -4995,7 +4995,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT022", Brief: "incorrect packages[].tools[].systems[].archiveFileName type", - Description: "Must be a string.", + Description: "A `systems` object for one of the package index's tools has an `archiveFileName` property of incorrect type.", MessageTemplate: "packages[].tools[].systems[].archiveFileName property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5012,7 +5012,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT023", Brief: "packages[].tools[].systems[].archiveFileName < min length", - Description: "", + Description: "A `systems` object for one of the package index's tools has an `archiveFileName` property shorter than the minimum length.", MessageTemplate: "packages[].tools[].systems[].archiveFileName value less than the minimum length in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5029,7 +5029,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT0024", Brief: "invalid packages[].tools[].systems[].archiveFileName", - Description: "", + Description: "A `systems` object for one of the package index's tools has an invalid `archiveFileName` value.", MessageTemplate: "packages[].tools[].systems[].archiveFileName has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5046,7 +5046,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT025 ", Brief: "packages[].tools[].systems[].checksum missing", - Description: "", + Description: "A `systems` object for one of the package index's tools is missing a `checksum` property.", MessageTemplate: "Missing packages[].tools[].systems[].checksum property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5063,7 +5063,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT026", Brief: "incorrect packages[].tools[].systems[].checksum type", - Description: "Must be a string.", + Description: "A `systems` object for one of the package index's tools has a `checksum` property of incorrect type.", MessageTemplate: "packages[].tools[].systems[].checksum property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5080,7 +5080,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT027", Brief: "invalid packages[].tools[].systems[].checksum", - Description: "", + Description: "A `systems` object for one of the package index's tools has a `checksum` property with an invalid format.", MessageTemplate: "packages[].tools[].systems[].checksum has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5097,7 +5097,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT028", Brief: "discouraged packages[].tools[].systems[].checksum algorithm", - Description: "", + Description: "A `systems` object for one of the package index's tools has a `checksum` property using a discouraged hash algorithm.", MessageTemplate: "packages[].tools[].systems[].checksum uses a discouraged hash algorithm in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5114,7 +5114,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT029", Brief: "packages[].tools[].systems[].size missing", - Description: "", + Description: "A `systems` object for one of the package index's tools is missing a `size` property.", MessageTemplate: "Missing packages[].tools[].systems[].size property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5131,7 +5131,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT030", Brief: "incorrect packages[].tools[].systems[].size type", - Description: "Must be a string.", + Description: "A `systems` object for one of the package index's tools has a `size` property of incorrect type.", MessageTemplate: "packages[].tools[].systems[].size property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, @@ -5148,7 +5148,7 @@ var configurations = []Type{ Subcategory: "tool", ID: "IT031", Brief: "invalid packages[].tools[].systems[].size", - Description: "", + Description: "A `systems` object for one of the package index's tools has an invalid `size` property.", MessageTemplate: "packages[].tools[].systems[].size has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, From 8aca928072d44095059bafb86b4c03aca6d0cdb5 Mon Sep 17 00:00:00 2001 From: per1234 Date: Mon, 23 Aug 2021 21:45:06 -0700 Subject: [PATCH 07/12] Add test for empty required rule configuration fields The tool output and rules list assume that the text in the required rule configuration fields is present. In cases where it is left empty, this assumption might result in strange or misformatted output. At the moment they are all populated, so that assumption is fine. In the event the test catches an empty field, it can either be fixed or the code changed to not rely on that field being populated. --- .../rule/ruleconfiguration/ruleconfiguration_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration_test.go b/internal/rule/ruleconfiguration/ruleconfiguration_test.go index e4389a54..1b015011 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration_test.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration_test.go @@ -95,3 +95,13 @@ func TestDuplicateRuleID(t *testing.T) { require.Equalf(t, ruleIndex+1, len(ruleIDMap), "ID %s of rule #%v is a duplicate", ruleConfiguration.ID, ruleIndex) } } + +func TestRequiredConfigField(t *testing.T) { + for _, ruleConfiguration := range ruleconfiguration.Configurations() { + assert.NotEmptyf(t, ruleConfiguration.Category, "No category defined for rule %s", ruleConfiguration.ID) + assert.NotEmptyf(t, ruleConfiguration.Subcategory, "No subcategory defined for rule %s", ruleConfiguration.ID) + assert.NotEmptyf(t, ruleConfiguration.Brief, "No brief defined for rule %s", ruleConfiguration.ID) + assert.NotEmptyf(t, ruleConfiguration.Description, "No description defined for rule %s", ruleConfiguration.ID) + assert.NotEmptyf(t, ruleConfiguration.MessageTemplate, "No message template defined for rule %s", ruleConfiguration.ID) + } +} From 13d8760aca34f20e1e335dd9db1aa101244aee6b Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 24 Aug 2021 07:13:08 -0700 Subject: [PATCH 08/12] Publish generated list of rules on documentation website This will provide a convenient reference for information about the rules Arduino Lint applies to projects. - More verbose description of the rule than would be appropriate for the command line output. - Link to the reference information that will allow the reader to fully understand the cause of the rule violation and how to fix it. - Table showing the rule violation level (i.e., error/warning/disabled) vs. common tool configuration. I added a bespoke "Rules > Introduction" page to give some general information about the rule system. , but the "Sketch", "Library", "Platform", and "Package index" pages are all auto-generated from the Arduino Lint source code and will be automatically updated any time rules are added or modified without any additional effort. The rule documentation content is generated by the "ruledocsgen" Go program, which is a separate module, located in its own subfolder of the repository, similar to the standardized "docsgen" program that generates the command line reference. --- .github/workflows/check-go-task.yml | 5 + .github/workflows/check-mkdocs-task.yml | 2 + .../deploy-cobra-mkdocs-versioned-poetry.yml | 1 + .github/workflows/test-go-task.yml | 2 + .gitignore | 3 + .prettierignore | 1 + Taskfile.yml | 17 + docs/index.md | 4 +- docs/rules.md | 47 + mkdocs.yml | 7 + ruledocsgen/go.mod | 12 + ruledocsgen/go.sum | 1865 +++++++++++++++++ ruledocsgen/main.go | 213 ++ ruledocsgen/main_test.go | 144 ++ ruledocsgen/testdata/golden/library.md | 49 + ruledocsgen/testdata/golden/package-index.md | 22 + ruledocsgen/testdata/golden/platform.md | 22 + ruledocsgen/testdata/golden/sketch.md | 22 + ruledocsgen/tests/__init__.py | 13 + ruledocsgen/tests/pytest.ini | 10 + ruledocsgen/tests/test_all.py | 94 + 21 files changed, 2553 insertions(+), 2 deletions(-) create mode 100644 docs/rules.md create mode 100644 ruledocsgen/go.mod create mode 100644 ruledocsgen/go.sum create mode 100644 ruledocsgen/main.go create mode 100644 ruledocsgen/main_test.go create mode 100644 ruledocsgen/testdata/golden/library.md create mode 100644 ruledocsgen/testdata/golden/package-index.md create mode 100644 ruledocsgen/testdata/golden/platform.md create mode 100644 ruledocsgen/testdata/golden/sketch.md create mode 100644 ruledocsgen/tests/__init__.py create mode 100644 ruledocsgen/tests/pytest.ini create mode 100644 ruledocsgen/tests/test_all.py diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 7a229e00..d96c0389 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -62,6 +62,7 @@ jobs: module: - path: ./ - path: docsgen + - path: ruledocsgen steps: - name: Checkout repository @@ -96,6 +97,7 @@ jobs: module: - path: ./ - path: docsgen + - path: ruledocsgen steps: - name: Checkout repository @@ -133,6 +135,7 @@ jobs: module: - path: ./ - path: docsgen + - path: ruledocsgen steps: - name: Checkout repository @@ -170,6 +173,7 @@ jobs: module: - path: ./ - path: docsgen + - path: ruledocsgen steps: - name: Checkout repository @@ -207,6 +211,7 @@ jobs: module: - path: ./ - path: docsgen + - path: ruledocsgen steps: - name: Checkout repository diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index d7332a2a..91d559b1 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -18,6 +18,7 @@ on: - "pyproject.toml" - "docs/**" - "docsgen/**" + - "ruledocsgen/**" - "**.go" pull_request: paths: @@ -28,6 +29,7 @@ on: - "pyproject.toml" - "docs/**" - "docsgen/**" + - "ruledocsgen/**" - "**.go" workflow_dispatch: repository_dispatch: diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index d26aafa0..e54d23fc 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -20,6 +20,7 @@ on: - "Taskfile.ya?ml" - "**.go" - "docsgen/**" + - "ruledocsgen/**" - "mkdocs.ya?ml" - "poetry.lock" - "pyproject.toml" diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index f41a538b..d134f3e2 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -69,6 +69,8 @@ jobs: module: - path: ./ codecov-flags: unit + - path: ruledocsgen/ + codecov-flags: unit runs-on: ${{ matrix.operating-system }} diff --git a/.gitignore b/.gitignore index 864cfbc4..9dec1f42 100644 --- a/.gitignore +++ b/.gitignore @@ -18,5 +18,8 @@ coverage_unit.txt /docsgen/arduino-cli /docsgen/arduino-cli.exe /docs/commands/*.md +/ruledocsgen/ruledocsgen +/ruledocsgen/ruledocsgen.exe +/docs/rules/ /dist diff --git a/.prettierignore b/.prettierignore index 2c32cb2a..776a47be 100644 --- a/.prettierignore +++ b/.prettierignore @@ -9,3 +9,4 @@ /internal/project/projectdata/testdata/packageindexes/invalid-JSON/package_foo_index.json /internal/rule/rulefunction/testdata/packageindexes/invalid-JSON/package_foo_index.json /internal/rule/rulefunction/testdata/sketches/InvalidJSONMetadataFile/sketch.json +/ruledocsgen/testdata/golden diff --git a/Taskfile.yml b/Taskfile.yml index 8cf149ad..620d9941 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -106,6 +106,7 @@ tasks: desc: Create all generated documentation content deps: - task: go:cli-docs + - task: go:rule-docs # Make the formatting consistent with the non-generated Markdown - task: general:format-prettier @@ -198,6 +199,20 @@ tasks: {{default "-min_confidence 0.8 -set_exit_status" .GO_LINT_FLAGS}} \ {{default .DEFAULT_GO_PACKAGES .GO_PACKAGES}} + go:rule-docs: + desc: Generate rules documentation + dir: ./ruledocsgen + deps: + - task: go:rule-docs:build + cmds: + - ./ruledocsgen ../docs/rules + + go:rule-docs:build: + desc: Generate rules documentation + dir: ./ruledocsgen + cmds: + - go build + # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-go-task/Taskfile.yml go:test: desc: Run unit tests @@ -217,9 +232,11 @@ tasks: desc: Run integration tests deps: - task: go:build + - task: go:rule-docs:build - task: poetry:install-deps cmds: - poetry run pytest tests + - poetry run pytest ruledocsgen/tests # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml go:vet: diff --git a/docs/index.md b/docs/index.md index 5c9eedca..a2064503 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,8 @@ **Arduino Lint** is a command line tool that checks for common problems with [Arduino](https://www.arduino.cc/) projects. -Its focus is on the structure, metadata, and configuration of Arduino projects, rather than the code. Rules cover -specification compliance, Library Manager submission requirements, and best practices. +Its focus is on the structure, metadata, and configuration of Arduino projects, rather than the code. [Rules](rules.md) +cover specification compliance, Library Manager submission requirements, and best practices. ## Installation diff --git a/docs/rules.md b/docs/rules.md new file mode 100644 index 00000000..54837aae --- /dev/null +++ b/docs/rules.md @@ -0,0 +1,47 @@ +**Arduino Lint** inspects Arduino projects for common problems. This is done by checking the project against a series of +"rules", each of which is targeted to detecting a specific potential issue. Only the rules of relevance to the project +being linted are applied. + +## Rule documentation + +Additional information is available for each of the **Arduino Lint** rules, organized by project type: + +- [Sketch](rules/sketch.md) +- [Library](rules/library.md) +- [Boards platform](rules/platform.md) +- [Package index](rules/package-index.md) + +## Rule ID + +In order to allow particular rules to be referenced unequivocally, each has been assigned a permanent unique +identification code (e.g., `SS001`). + +## Rule level + +In addition to checking for critical flaws, **Arduino Lint** also advocates for best practices in Arduino projects. For +this reason, not all rule violations are treated as fatal linting errors. + +A violation of a rule is assigned a level according to its severity. In cases where a rule violation indicates a serious +problem with the project, the violation is treated as an error, and will result in a non-zero exit status from the +`arduino-lint` command. In cases where the violation indicates a possible problem, or where the rule is a recommendation +for an optional improvement to enhance the project user's experience, the violation is treated as a warning. It is hoped +that these warning-level violations will be given consideration by the user, but they do not affect the `arduino-lint` +exit status. + +Of the hundreds of rules provided by **Arduino Lint**, only the ones relevant to the current target project are applied, +with the rest disabled. + +The rule levels and enabled subset of rules is dependent on the target project type and how the user has configured +Arduino Lint via the [command line flags](commands/arduino-lint.md) and +[environment variables](index.md#environment-variables). + +## Projects and "superprojects" + +Arduino projects may contain other Arduino projects as subprojects. For example, the libraries +[bundled](https://arduino.github.io/arduino-cli/latest/platform-specification/#platform-bundled-libraries) with an +Arduino boards platform. These subprojects may, in turn, contain their own subprojects, such as the example sketches +included with a platform bundled library. + +**Arduino Lint** also lints any subprojects the target project might contain. The type of the top level "superproject" +is a factor in the configuration of some rules. For example, there is no need to take Library Manager requirements into +consideration in the case of a platform bundled library, since it will never be distributed via that system. diff --git a/mkdocs.yml b/mkdocs.yml index 75ac2aa2..8eaed626 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,6 +22,7 @@ markdown_extensions: guess_lang: false - markdown.extensions.toc: permalink: true + toc_depth: 4 - mdx_truly_sane_lists: nested_indent: 2 truly_sane: true @@ -44,6 +45,12 @@ nav: - Home: index.md - installation.md - Command reference: commands/arduino-lint.md + - Rules: + - Introduction: rules.md + - Sketch: rules/sketch.md + - Library: rules/library.md + - Platform: rules/platform.md + - Package index: rules/package-index.md - CONTRIBUTING.md extra: diff --git a/ruledocsgen/go.mod b/ruledocsgen/go.mod new file mode 100644 index 00000000..137da5a6 --- /dev/null +++ b/ruledocsgen/go.mod @@ -0,0 +1,12 @@ +module github.com/arduino/arduino-lint/ruledocsgen + +go 1.16 + +replace github.com/arduino/arduino-lint => ../ + +require ( + github.com/arduino/arduino-lint v0.0.0 + github.com/arduino/go-paths-helper v1.6.1 + github.com/olekukonko/tablewriter v0.0.5 + github.com/stretchr/testify v1.7.0 +) diff --git a/ruledocsgen/go.sum b/ruledocsgen/go.sum new file mode 100644 index 00000000..1615fd69 --- /dev/null +++ b/ruledocsgen/go.sum @@ -0,0 +1,1865 @@ +bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +cloud.google.com/go v0.16.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.41.0/go.mod h1:OauMR7DV8fzvZIl2qg6rkaIhD/vmgk4iwEw/h6ercmg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= +github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= +github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/arduino/arduino-cli v0.0.0-20201210103408-bf7a3194bb63 h1:PfD8CENlfpZr3jG7XNyg7zbJ/BqbPMuqxZ5k52tt63Q= +github.com/arduino/arduino-cli v0.0.0-20201210103408-bf7a3194bb63/go.mod h1:PpHwX4OKp/PFumezvkSRixh5N9uLiCASm3gqK/Da5is= +github.com/arduino/board-discovery v0.0.0-20180823133458-1ba29327fb0c/go.mod h1:HK7SpkEax/3P+0w78iRQx1sz1vCDYYw9RXwHjQTB5i8= +github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= +github.com/arduino/go-paths-helper v1.2.0/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= +github.com/arduino/go-paths-helper v1.3.2/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= +github.com/arduino/go-paths-helper v1.6.1 h1:lha+/BuuBsx0qTZ3gy6IO1kU23lObWdQ/UItkzVWQ+0= +github.com/arduino/go-paths-helper v1.6.1/go.mod h1:V82BWgAAp4IbmlybxQdk9Bpkz8M4Qyx+RAFKaG9NuvU= +github.com/arduino/go-properties-orderedmap v1.3.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= +github.com/arduino/go-properties-orderedmap v1.7.0 h1:8bxVibJP+LjnyTFqsg3LsvgpAzovpuv0QQ6mXZXOxRs= +github.com/arduino/go-properties-orderedmap v1.7.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= +github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= +github.com/arduino/go-win32-utils v0.0.0-20180330194947-ed041402e83b h1:3PjgYG5gVPA7cipp7vIR2lF96KkEJIFBJ+ANnuv6J20= +github.com/arduino/go-win32-utils v0.0.0-20180330194947-ed041402e83b/go.mod h1:iIPnclBMYm1g32Q5kXoqng4jLhMStReIP7ZxaoUC2y8= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= +github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= +github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= +github.com/bmatcuk/doublestar/v2 v2.0.3/go.mod h1:QMmcs3H2AUQICWhfzLXz+IYln8lRQmTZRptLie8RgRw= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= +github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= +github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cmaglie/go.rice v1.0.3 h1:ZBLmBdQp6ejc+n8eMNH0uuRSKkg6kKe6ORjXKnyHBYw= +github.com/cmaglie/go.rice v1.0.3/go.mod h1:AF3bOWkvdOpp8/S3UL8qbQ4N7DiISIbJtj54GWFPAsc= +github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/cockroach-go v0.0.0-20190925194419-606b3d062051/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/cockroachdb/cockroach-go v0.0.0-20200312223839-f565e4789405/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/codeclysm/cc v1.2.2/go.mod h1:XtW4ArCNgQwFphcRGG9+sPX5WM1J6/u0gMy5ZdV3obA= +github.com/codeclysm/extract/v3 v3.0.2 h1:sB4LcE3Php7LkhZwN0n2p8GCwZe92PEQutdbGURf5xc= +github.com/codeclysm/extract/v3 v3.0.2/go.mod h1:NKsw+hqua9H+Rlwy/w/3Qgt9jDonYEgB6wJu+25eOKw= +github.com/codegangsta/negroni v1.0.0/go.mod h1:v0y3T5G7Y1UlFfyxFn/QLRU4a2EuNau2iZY63YTKWo0= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/continuity v0.0.0-20181203112020-004b46473808/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200107194136-26c1120b8d41/go.mod h1:Dq467ZllaHgAtVp4p1xUQWBrFXR9s/wyoTpG8zOJGkY= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/goselect v0.1.1/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA= +github.com/daaku/go.zipexe v1.0.0/go.mod h1:z8IiR6TsVLEYKwXAoE/I+8ys/sDkgTzSL0CLnGVd57E= +github.com/daaku/go.zipexe v1.0.1 h1:wV4zMsDOI2SZ2m7Tdz1Ps96Zrx+TzaK15VbUaGozw0M= +github.com/daaku/go.zipexe v1.0.1/go.mod h1:5xWogtqlYnfBXkSB1o9xysukNP9GTvaNkqzUZbt3Bw8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgraph-io/ristretto v0.0.1/go.mod h1:T40EBc7CJke8TkpiYfGGKAeFjSaxuFXhuXRyumBd6RE= +github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI= +github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= +github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v17.12.0-ce-rc1.0.20201201034508-7d75c1d40d88+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v0.0.0-20180713052910-9f541cc9db5d/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= +github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= +github.com/elazarl/goproxy v0.0.0-20181003060214-f58a169a71a5/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= +github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/facchinm/gohex v0.0.0-20201008150446-be2a6be25790/go.mod h1:sErAiirjQXs3P13DBW7oPmJ6Q0WsFjYXVAhz7Xt59UQ= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/structs v1.0.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fluxio/iohelpers v0.0.0-20160419043813-3a4dd67a94d2/go.mod h1:c7sGIpDbBo0JZZ1tKyC1p5smWf8QcUjK4bFtZjHAecg= +github.com/fluxio/multierror v0.0.0-20160419044231-9c68d39025e5/go.mod h1:BEUDl7FG1cc76sM0J0x8dqr6RhiL4uqvk6oFkwuNyuM= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fsnotify/fsnotify v1.4.3-0.20170329110642-4da3e2cfbabc/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/garyburd/redigo v1.1.1-0.20170914051019-70e1b1943d4f/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/gliderlabs/ssh v0.3.1 h1:L6VrMUGZaMlNIMN8Hj+CHh4U9yodJE3FAt/rgvfaKvE= +github.com/gliderlabs/ssh v0.3.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-bindata/go-bindata v3.1.1+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo= +github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= +github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8= +github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= +github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= +github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= +github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= +github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= +github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= +github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= +github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.0/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= +github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= +github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= +github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= +github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= +github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= +github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= +github.com/go-openapi/runtime v0.19.26/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= +github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= +github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= +github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= +github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= +github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= +github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= +github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= +github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= +github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= +github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= +github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= +github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= +github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= +github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.6.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/attrs v0.1.0/go.mod h1:fmNpaWyHM0tRm8gCZWKx8yY9fvaNLo2PyzBNSrBZ5Hw= +github.com/gobuffalo/buffalo v0.12.8-0.20181004233540-fac9bb505aa8/go.mod h1:sLyT7/dceRXJUxSsE813JTQtA3Eb1vjxWfo/N//vXIY= +github.com/gobuffalo/buffalo v0.13.0/go.mod h1:Mjn1Ba9wpIbpbrD+lIDMy99pQ0H0LiddMIIDGse7qT4= +github.com/gobuffalo/buffalo-plugins v1.0.2/go.mod h1:pOp/uF7X3IShFHyobahTkTLZaeUXwb0GrUTb9ngJWTs= +github.com/gobuffalo/buffalo-plugins v1.0.4/go.mod h1:pWS1vjtQ6uD17MVFWf7i3zfThrEKWlI5+PYLw/NaDB4= +github.com/gobuffalo/buffalo-plugins v1.4.3/go.mod h1:uCzTY0woez4nDMdQjkcOYKanngeUVRO2HZi7ezmAjWY= +github.com/gobuffalo/buffalo-plugins v1.5.1/go.mod h1:jbmwSZK5+PiAP9cC09VQOrGMZFCa/P0UMlIS3O12r5w= +github.com/gobuffalo/buffalo-plugins v1.6.4/go.mod h1:/+N1aophkA2jZ1ifB2O3Y9yGwu6gKOVMtUmJnbg+OZI= +github.com/gobuffalo/buffalo-plugins v1.6.5/go.mod h1:0HVkbgrVs/MnPZ/FOseDMVanCTm2RNcdM0PuXcL1NNI= +github.com/gobuffalo/buffalo-plugins v1.6.7/go.mod h1:ZGZRkzz2PiKWHs0z7QsPBOTo2EpcGRArMEym6ghKYgk= +github.com/gobuffalo/buffalo-plugins v1.6.9/go.mod h1:yYlYTrPdMCz+6/+UaXg5Jm4gN3xhsvsQ2ygVatZV5vw= +github.com/gobuffalo/buffalo-plugins v1.6.11/go.mod h1:eAA6xJIL8OuynJZ8amXjRmHND6YiusVAaJdHDN1Lu8Q= +github.com/gobuffalo/buffalo-plugins v1.8.2/go.mod h1:9te6/VjEQ7pKp7lXlDIMqzxgGpjlKoAcAANdCgoR960= +github.com/gobuffalo/buffalo-plugins v1.8.3/go.mod h1:IAWq6vjZJVXebIq2qGTLOdlXzmpyTZ5iJG5b59fza5U= +github.com/gobuffalo/buffalo-plugins v1.9.4/go.mod h1:grCV6DGsQlVzQwk6XdgcL3ZPgLm9BVxlBmXPMF8oBHI= +github.com/gobuffalo/buffalo-plugins v1.10.0/go.mod h1:4osg8d9s60txLuGwXnqH+RCjPHj9K466cDFRl3PErHI= +github.com/gobuffalo/buffalo-plugins v1.11.0/go.mod h1:rtIvAYRjYibgmWhnjKmo7OadtnxuMG5ZQLr25ozAzjg= +github.com/gobuffalo/buffalo-plugins v1.15.0/go.mod h1:BqSx01nwgKUQr/MArXzFkSD0QvdJidiky1OKgyfgrK8= +github.com/gobuffalo/buffalo-pop v1.0.5/go.mod h1:Fw/LfFDnSmB/vvQXPvcXEjzP98Tc+AudyNWUBWKCwQ8= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.4/go.mod h1:Abh+Jfw475/NWtYMEt+hnJWRiC8INKWibIMyNt1w2Mc= +github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.6/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.7/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.8/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.9/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ= +github.com/gobuffalo/envy v1.6.10/go.mod h1:X0CFllQjTV5ogsnUrg+Oks2yTI+PU2dGYBJOEI2D1Uo= +github.com/gobuffalo/envy v1.6.11/go.mod h1:Fiq52W7nrHGDggFPhn2ZCcHw4u/rqXkqo+i7FB6EAcg= +github.com/gobuffalo/envy v1.6.12/go.mod h1:qJNrJhKkZpEW0glh5xP2syQHH5kgdmgsKss2Kk8PTP0= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/envy v1.9.0/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= +github.com/gobuffalo/events v1.0.3/go.mod h1:Txo8WmqScapa7zimEQIwgiJBvMECMe9gJjsKNPN3uZw= +github.com/gobuffalo/events v1.0.7/go.mod h1:z8txf6H9jWhQ5Scr7YPLWg/cgXBRj8Q4uYI+rsVCCSQ= +github.com/gobuffalo/events v1.0.8/go.mod h1:A5KyqT1sA+3GJiBE4QKZibse9mtOcI9nw8gGrDdqYGs= +github.com/gobuffalo/events v1.1.3/go.mod h1:9yPGWYv11GENtzrIRApwQRMYSbUgCsZ1w6R503fCfrk= +github.com/gobuffalo/events v1.1.4/go.mod h1:09/YRRgZHEOts5Isov+g9X2xajxdvOAcUuAHIX/O//A= +github.com/gobuffalo/events v1.1.5/go.mod h1:3YUSzgHfYctSjEjLCWbkXP6djH2M+MLaVRzb4ymbAK0= +github.com/gobuffalo/events v1.1.7/go.mod h1:6fGqxH2ing5XMb3EYRq9LEkVlyPGs4oO/eLzh+S8CxY= +github.com/gobuffalo/events v1.1.8/go.mod h1:UFy+W6X6VbCWS8k2iT81HYX65dMtiuVycMy04cplt/8= +github.com/gobuffalo/events v1.1.9/go.mod h1:/0nf8lMtP5TkgNbzYxR6Bl4GzBy5s5TebgNTdRfRbPM= +github.com/gobuffalo/events v1.3.1/go.mod h1:9JOkQVoyRtailYVE/JJ2ZQ/6i4gTjM5t2HsZK4C1cSA= +github.com/gobuffalo/events v1.4.1/go.mod h1:SjXgWKpeSuvQDvGhgMz5IXx3Czu+IbL+XPLR41NvVQY= +github.com/gobuffalo/fizz v1.0.12/go.mod h1:C0sltPxpYK8Ftvf64kbsQa2yiCZY4RZviurNxXdAKwc= +github.com/gobuffalo/fizz v1.9.8/go.mod h1:w1FEn1yKNVCc49KnADGyYGRPH7jFON3ak4Bj1yUudHo= +github.com/gobuffalo/fizz v1.10.0/go.mod h1:J2XGPO0AfJ1zKw7+2BA+6FEGAkyEsdCOLvN93WCT2WI= +github.com/gobuffalo/flect v0.0.0-20180907193754-dc14d8acaf9f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181002182613-4571df4b1daf/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181007231023-ae7ed6bfe683/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181018182602-fd24a256709f/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181019110701-3d6f0b585514/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181024204909-8f6be1a8c6c2/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181104133451-1f6e9779237a/go.mod h1:rCiQgmAE4axgBNl3jZWzS5rETRYTGOsrixTRaCPzNdA= +github.com/gobuffalo/flect v0.0.0-20181114183036-47375f6d8328/go.mod h1:0HvNbHdfh+WOvDSIASqJOSxTOWSxCCUF++k/Y53v9rI= +github.com/gobuffalo/flect v0.0.0-20181210151238-24a2b68e0316/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= +github.com/gobuffalo/flect v0.0.0-20190104192022-4af577e09bf2/go.mod h1:en58vff74S9b99Eg42Dr+/9yPu437QjlNsO/hBYPuOk= +github.com/gobuffalo/flect v0.0.0-20190117212819-a62e61d96794/go.mod h1:397QT6v05LkZkn07oJXXT6y9FCfwC8Pug0WA2/2mE9k= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= +github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= +github.com/gobuffalo/flect v0.2.1/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= +github.com/gobuffalo/genny v0.0.0-20180924032338-7af3a40f2252/go.mod h1:tUTQOogrr7tAQnhajMSH6rv1BVev34H2sa1xNHMy94g= +github.com/gobuffalo/genny v0.0.0-20181003150629-3786a0744c5d/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= +github.com/gobuffalo/genny v0.0.0-20181005145118-318a41a134cc/go.mod h1:WAd8HmjMVrnkAZbmfgH5dLBUchsZfqzp/WS5sQz+uTM= +github.com/gobuffalo/genny v0.0.0-20181007153042-b8de7d566757/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= +github.com/gobuffalo/genny v0.0.0-20181012161047-33e5f43d83a6/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= +github.com/gobuffalo/genny v0.0.0-20181017160347-90a774534246/go.mod h1:+oG5Ljrw04czAHbPXREwaFojJbpUvcIy4DiOnbEJFTA= +github.com/gobuffalo/genny v0.0.0-20181024195656-51392254bf53/go.mod h1:o9GEH5gn5sCKLVB5rHFC4tq40rQ3VRUzmx6WwmaqISE= +github.com/gobuffalo/genny v0.0.0-20181025145300-af3f81d526b8/go.mod h1:uZ1fFYvdcP8mu0B/Ynarf6dsGvp7QFIpk/QACUuFUVI= +github.com/gobuffalo/genny v0.0.0-20181027191429-94d6cfb5c7fc/go.mod h1:x7SkrQQBx204Y+O9EwRXeszLJDTaWN0GnEasxgLrQTA= +github.com/gobuffalo/genny v0.0.0-20181027195209-3887b7171c4f/go.mod h1:JbKx8HSWICu5zyqWOa0dVV1pbbXOHusrSzQUprW6g+w= +github.com/gobuffalo/genny v0.0.0-20181106193839-7dcb0924caf1/go.mod h1:x61yHxvbDCgQ/7cOAbJCacZQuHgB0KMSzoYcw5debjU= +github.com/gobuffalo/genny v0.0.0-20181107223128-f18346459dbe/go.mod h1:utQD3aKKEsdb03oR+Vi/6ztQb1j7pO10N3OBoowRcSU= +github.com/gobuffalo/genny v0.0.0-20181114215459-0a4decd77f5d/go.mod h1:kN2KZ8VgXF9VIIOj/GM0Eo7YK+un4Q3tTreKOf0q1ng= +github.com/gobuffalo/genny v0.0.0-20181119162812-e8ff4adce8bb/go.mod h1:BA9htSe4bZwBDJLe8CUkoqkypq3hn3+CkoHqVOW718E= +github.com/gobuffalo/genny v0.0.0-20181127225641-2d959acc795b/go.mod h1:l54xLXNkteX/PdZ+HlgPk1qtcrgeOr3XUBBPDbH+7CQ= +github.com/gobuffalo/genny v0.0.0-20181128191930-77e34f71ba2a/go.mod h1:FW/D9p7cEEOqxYA71/hnrkOWm62JZ5ZNxcNIVJEaWBU= +github.com/gobuffalo/genny v0.0.0-20181203165245-fda8bcce96b1/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= +github.com/gobuffalo/genny v0.0.0-20181203201232-849d2c9534ea/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= +github.com/gobuffalo/genny v0.0.0-20181206121324-d6fb8a0dbe36/go.mod h1:wpNSANu9UErftfiaAlz1pDZclrYzLtO5lALifODyjuM= +github.com/gobuffalo/genny v0.0.0-20181207164119-84844398a37d/go.mod h1:y0ysCHGGQf2T3vOhCrGHheYN54Y/REj0ayd0Suf4C/8= +github.com/gobuffalo/genny v0.0.0-20181211165820-e26c8466f14d/go.mod h1:sHnK+ZSU4e2feXP3PA29ouij6PUEiN+RCwECjCTB3yM= +github.com/gobuffalo/genny v0.0.0-20190104222617-a71664fc38e7/go.mod h1:QPsQ1FnhEsiU8f+O0qKWXz2RE4TiDqLVChWkBuh1WaY= +github.com/gobuffalo/genny v0.0.0-20190112155932-f31a84fcacf5/go.mod h1:CIaHCrSIuJ4il6ka3Hub4DR4adDrGoXGEEt2FbBxoIo= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/genny v0.2.0/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.3.0/go.mod h1:ywJ2CoXrTZj7rbS8HTbzv7uybnLKlsNSBhEQ+yFI3E8= +github.com/gobuffalo/genny v0.6.0/go.mod h1:Vigx9VDiNscYpa/LwrURqGXLSIbzTfapt9+K6gF1kTA= +github.com/gobuffalo/genny/v2 v2.0.5/go.mod h1:kRkJuAw9mdI37AiEYjV4Dl+TgkBDYf8HZVjLkqe5eBg= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/github_flavored_markdown v1.0.4/go.mod h1:uRowCdK+q8d/RF0Kt3/DSalaIXbb0De/dmTqMQdkQ4I= +github.com/gobuffalo/github_flavored_markdown v1.0.5/go.mod h1:U0643QShPF+OF2tJvYNiYDLDGDuQmJZXsf/bHOJPsMY= +github.com/gobuffalo/github_flavored_markdown v1.0.7/go.mod h1:w93Pd9Lz6LvyQXEG6DktTPHkOtCbr+arAD5mkwMzXLI= +github.com/gobuffalo/github_flavored_markdown v1.1.0/go.mod h1:TSpTKWcRTI0+v7W3x8dkSKMLJSUpuVitlptCkpeY8ic= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/gogen v0.2.0/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/helpers v0.2.2/go.mod h1:xYbzUdCUpVzLwLnqV8HIjT6hmG0Cs7YIBCJkNM597jw= +github.com/gobuffalo/helpers v0.2.4/go.mod h1:NX7v27yxPDOPTgUFYmJ5ow37EbxdoLraucOGvMNawyk= +github.com/gobuffalo/helpers v0.5.0/go.mod h1:stpgxJ2C7T99NLyAxGUnYMM2zAtBk5NKQR0SIbd05j4= +github.com/gobuffalo/helpers v0.6.0/go.mod h1:pncVrer7x/KRvnL5aJABLAuT/RhKRR9klL6dkUOhyv8= +github.com/gobuffalo/helpers v0.6.1/go.mod h1:wInbDi0vTJKZBviURTLRMFLE4+nF2uRuuL2fnlYo7w4= +github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= +github.com/gobuffalo/httptest v1.0.2/go.mod h1:7T1IbSrg60ankme0aDLVnEY0h056g9M1/ZvpVThtB7E= +github.com/gobuffalo/licenser v0.0.0-20180924033006-eae28e638a42/go.mod h1:Ubo90Np8gpsSZqNScZZkVXXAo5DGhTb+WYFIjlnog8w= +github.com/gobuffalo/licenser v0.0.0-20181025145548-437d89de4f75/go.mod h1:x3lEpYxkRG/XtGCUNkio+6RZ/dlOvLzTI9M1auIwFcw= +github.com/gobuffalo/licenser v0.0.0-20181027200154-58051a75da95/go.mod h1:BzhaaxGd1tq1+OLKObzgdCV9kqVhbTulxOpYbvMQWS0= +github.com/gobuffalo/licenser v0.0.0-20181109171355-91a2a7aac9a7/go.mod h1:m+Ygox92pi9bdg+gVaycvqE8RVSjZp7mWw75+K5NPHk= +github.com/gobuffalo/licenser v0.0.0-20181128165715-cc7305f8abed/go.mod h1:oU9F9UCE+AzI/MueCKZamsezGOOHfSirltllOVeRTAE= +github.com/gobuffalo/licenser v0.0.0-20181203160806-fe900bbede07/go.mod h1:ph6VDNvOzt1CdfaWC+9XwcBnlSTBz2j49PBwum6RFaU= +github.com/gobuffalo/licenser v0.0.0-20181211173111-f8a311c51159/go.mod h1:ve/Ue99DRuvnTaLq2zKa6F4KtHiYf7W046tDjuGYPfM= +github.com/gobuffalo/licenser v1.1.0/go.mod h1:ZVWE6uKUE3rGf7sedUHWVjNWrEgxaUQLVFL+pQiWpfY= +github.com/gobuffalo/logger v0.0.0-20181022175615-46cfb361fc27/go.mod h1:8sQkgyhWipz1mIctHF4jTxmJh1Vxhp7mP8IqbljgJZo= +github.com/gobuffalo/logger v0.0.0-20181027144941-73d08d2bb969/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= +github.com/gobuffalo/logger v0.0.0-20181027193913-9cf4dd0efe46/go.mod h1:7uGg2duHKpWnN4+YmyKBdLXfhopkAdVM6H3nKbyFbz8= +github.com/gobuffalo/logger v0.0.0-20181109185836-3feeab578c17/go.mod h1:oNErH0xLe+utO+OW8ptXMSA5DkiSEDW1u3zGIt8F9Ew= +github.com/gobuffalo/logger v0.0.0-20181117211126-8e9b89b7c264/go.mod h1:5etB91IE0uBlw9k756fVKZJdS+7M7ejVhmpXXiSFj0I= +github.com/gobuffalo/logger v0.0.0-20181127160119-5b956e21995c/go.mod h1:+HxKANrR9VGw9yN3aOAppJKvhO05ctDi63w4mDnKv2U= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/logger v1.0.1/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= +github.com/gobuffalo/makr v1.1.5/go.mod h1:Y+o0btAH1kYAMDJW/TX3+oAXEu0bmSLLoC9mIFxtzOw= +github.com/gobuffalo/mapi v1.0.0/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.1.0/go.mod h1:pqQ1XAqvpy/JYtRwoieNps2yU8MFiMxBUpAm2FBtQ50= +github.com/gobuffalo/mapi v1.2.1/go.mod h1:giGJ2AUESRepOFYAzWpq8Gf/s/QDryxoEHisQtFN3cY= +github.com/gobuffalo/meta v0.0.0-20181018155829-df62557efcd3/go.mod h1:XTTOhwMNryif3x9LkTTBO/Llrveezd71u3quLd0u7CM= +github.com/gobuffalo/meta v0.0.0-20181018192820-8c6cef77dab3/go.mod h1:E94EPzx9NERGCY69UWlcj6Hipf2uK/vnfrF4QD0plVE= +github.com/gobuffalo/meta v0.0.0-20181025145500-3a985a084b0a/go.mod h1:YDAKBud2FP7NZdruCSlmTmDOZbVSa6bpK7LJ/A/nlKg= +github.com/gobuffalo/meta v0.0.0-20181114191255-b130ebedd2f7/go.mod h1:K6cRZ29ozr4Btvsqkjvg5nDFTLOgTqf03KA70Ks0ypE= +github.com/gobuffalo/meta v0.0.0-20181127070345-0d7e59dd540b/go.mod h1:RLO7tMvE0IAKAM8wny1aN12pvEKn7EtkBLkUZR00Qf8= +github.com/gobuffalo/meta v0.0.0-20190120163247-50bbb1fa260d/go.mod h1:KKsH44nIK2gA8p0PJmRT9GvWJUdphkDUA8AJEvFWiqM= +github.com/gobuffalo/meta v0.0.0-20190329152330-e161e8a93e3b/go.mod h1:mCRSy5F47tjK8yaIDcJad4oe9fXxY5gLrx3Xx2spK+0= +github.com/gobuffalo/meta v0.3.0/go.mod h1:cpr6mrUX5H/B4wEP86Gdq568TK4+dKUD8oRPl698RUw= +github.com/gobuffalo/mw-basicauth v1.0.3/go.mod h1:dg7+ilMZOKnQFHDefUzUHufNyTswVUviCBgF244C1+0= +github.com/gobuffalo/mw-contenttype v0.0.0-20180802152300-74f5a47f4d56/go.mod h1:7EvcmzBbeCvFtQm5GqF9ys6QnCxz2UM1x0moiWLq1No= +github.com/gobuffalo/mw-csrf v0.0.0-20180802151833-446ff26e108b/go.mod h1:sbGtb8DmDZuDUQoxjr8hG1ZbLtZboD9xsn6p77ppcHo= +github.com/gobuffalo/mw-forcessl v0.0.0-20180802152810-73921ae7a130/go.mod h1:JvNHRj7bYNAMUr/5XMkZaDcw3jZhUZpsmzhd//FFWmQ= +github.com/gobuffalo/mw-i18n v0.0.0-20180802152014-e3060b7e13d6/go.mod h1:91AQfukc52A6hdfIfkxzyr+kpVYDodgAeT5cjX1UIj4= +github.com/gobuffalo/mw-paramlogger v0.0.0-20181005191442-d6ee392ec72e/go.mod h1:6OJr6VwSzgJMqWMj7TYmRUqzNe2LXu/W1rRW4MAz/ME= +github.com/gobuffalo/mw-tokenauth v0.0.0-20181001105134-8545f626c189/go.mod h1:UqBF00IfKvd39ni5+yI5MLMjAf4gX7cDKN/26zDOD6c= +github.com/gobuffalo/nulls v0.2.0/go.mod h1:w4q8RoSCEt87Q0K0sRIZWYeIxkxog5mh3eN3C/n+dUc= +github.com/gobuffalo/nulls v0.3.0/go.mod h1:UP49vd/k+bcaz6m0cHMyuk8oQ7XgLnkfxeiVoPAvBSs= +github.com/gobuffalo/packd v0.0.0-20181027182251-01ad393492c8/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= +github.com/gobuffalo/packd v0.0.0-20181027190505-aafc0d02c411/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= +github.com/gobuffalo/packd v0.0.0-20181027194105-7ae579e6d213/go.mod h1:SmdBdhj6uhOsg1Ui4SFAyrhuc7U4VCildosO5IDJ3lc= +github.com/gobuffalo/packd v0.0.0-20181031195726-c82734870264/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181104210303-d376b15f8e96/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181111195323-b2e760a5f0ff/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181114190715-f25c5d2471d7/go.mod h1:Yf2toFaISlyQrr5TfO3h6DB9pl9mZRmyvBGQb/aQ/pI= +github.com/gobuffalo/packd v0.0.0-20181124090624-311c6248e5fb/go.mod h1:Foenia9ZvITEvG05ab6XpiD5EfBHPL8A6hush8SJ0o8= +github.com/gobuffalo/packd v0.0.0-20181207120301-c49825f8f6f4/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= +github.com/gobuffalo/packd v0.0.0-20181212173646-eca3b8fd6687/go.mod h1:LYc0TGKFBBFTRC9dg2pcRcMqGCTMD7T2BIMP7OBuQAA= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.2.0/go.mod h1:k2CkHP3bjbqL2GwxwhxUy1DgnlbW644hkLC9iIUvZwY= +github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= +github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= +github.com/gobuffalo/packr v1.13.7/go.mod h1:KkinLIn/n6+3tVXMwg6KkNvWwVsrRAz4ph+jgpk3Z24= +github.com/gobuffalo/packr v1.15.0/go.mod h1:t5gXzEhIviQwVlNx/+3SfS07GS+cZ2hn76WLzPp6MGI= +github.com/gobuffalo/packr v1.15.1/go.mod h1:IeqicJ7jm8182yrVmNbM6PR4g79SjN9tZLH8KduZZwE= +github.com/gobuffalo/packr v1.19.0/go.mod h1:MstrNkfCQhd5o+Ct4IJ0skWlxN8emOq8DsoT1G98VIU= +github.com/gobuffalo/packr v1.20.0/go.mod h1:JDytk1t2gP+my1ig7iI4NcVaXr886+N0ecUga6884zw= +github.com/gobuffalo/packr v1.21.0/go.mod h1:H00jGfj1qFKxscFJSw8wcL4hpQtPe1PfU2wa6sg/SR0= +github.com/gobuffalo/packr v1.22.0/go.mod h1:Qr3Wtxr3+HuQEwWqlLnNW4t1oTvK+7Gc/Rnoi/lDFvA= +github.com/gobuffalo/packr/v2 v2.0.0-rc.8/go.mod h1:y60QCdzwuMwO2R49fdQhsjCPv7tLQFR0ayzxxla9zes= +github.com/gobuffalo/packr/v2 v2.0.0-rc.9/go.mod h1:fQqADRfZpEsgkc7c/K7aMew3n4aF1Kji7+lIZeR98Fc= +github.com/gobuffalo/packr/v2 v2.0.0-rc.10/go.mod h1:4CWWn4I5T3v4c1OsJ55HbHlUEKNWMITG5iIkdr4Px4w= +github.com/gobuffalo/packr/v2 v2.0.0-rc.11/go.mod h1:JoieH/3h3U4UmatmV93QmqyPUdf4wVM9HELaHEu+3fk= +github.com/gobuffalo/packr/v2 v2.0.0-rc.12/go.mod h1:FV1zZTsVFi1DSCboO36Xgs4pzCZBjB/tDV9Cz/lSaR8= +github.com/gobuffalo/packr/v2 v2.0.0-rc.13/go.mod h1:2Mp7GhBFMdJlOK8vGfl7SYtfMP3+5roE39ejlfjw0rA= +github.com/gobuffalo/packr/v2 v2.0.0-rc.14/go.mod h1:06otbrNvDKO1eNQ3b8hst+1010UooI2MFg+B2Ze4MV8= +github.com/gobuffalo/packr/v2 v2.0.0-rc.15/go.mod h1:IMe7H2nJvcKXSF90y4X1rjYIRlNMJYCxEhssBXNZwWs= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/packr/v2 v2.4.0/go.mod h1:ra341gygw9/61nSjAbfwcwh8IrYL4WmR4IsPkPBhQiY= +github.com/gobuffalo/packr/v2 v2.5.2/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= +github.com/gobuffalo/packr/v2 v2.7.1/go.mod h1:qYEvAazPaVxy7Y7KR0W8qYEE+RymX74kETFqjFoFlOc= +github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= +github.com/gobuffalo/plush v3.7.16+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.20+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.21+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.22+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.23+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.30+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.31+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.7.32+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.8.2+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush v3.8.3+incompatible/go.mod h1:rQ4zdtUUyZNqULlc6bqd5scsPfLKfT0+TGMChgduDvI= +github.com/gobuffalo/plush/v4 v4.0.0/go.mod h1:ErFS3UxKqEb8fpFJT7lYErfN/Nw6vHGiDMTjxpk5bQ0= +github.com/gobuffalo/plushgen v0.0.0-20181128164830-d29dcb966cb2/go.mod h1:r9QwptTFnuvSaSRjpSp4S2/4e2D3tJhARYbvEBcKSb4= +github.com/gobuffalo/plushgen v0.0.0-20181203163832-9fc4964505c2/go.mod h1:opEdT33AA2HdrIwK1aibqnTJDVVKXC02Bar/GT1YRVs= +github.com/gobuffalo/plushgen v0.0.0-20181207152837-eedb135bd51b/go.mod h1:Lcw7HQbEVm09sAQrCLzIxuhFbB3nAgp4c55E+UlynR0= +github.com/gobuffalo/plushgen v0.0.0-20190104222512-177cd2b872b3/go.mod h1:tYxCozi8X62bpZyKXYHw1ncx2ZtT2nFvG42kuLwYjoc= +github.com/gobuffalo/plushgen v0.1.2/go.mod h1:3U71v6HWZpVER1nInTXeAwdoRNsRd4W8aeIa1Lyp+Bk= +github.com/gobuffalo/pop v4.8.2+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop v4.8.3+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop v4.8.4+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop v4.13.1+incompatible h1:AhbqPxNOBN/DBb2DBaiBqzOXIBQXxEYzngHHJ+ytP4g= +github.com/gobuffalo/pop v4.13.1+incompatible/go.mod h1:DwBz3SD5SsHpTZiTubcsFWcVDpJWGsxjVjMPnkiThWg= +github.com/gobuffalo/pop/v5 v5.0.11/go.mod h1:mZJHJbA3cy2V18abXYuVop2ldEJ8UZ2DK6qOekC5u5g= +github.com/gobuffalo/pop/v5 v5.3.1/go.mod h1:vcEDhh6cJ3WVENqJDFt/6z7zNb7lLnlN8vj3n5G9rYA= +github.com/gobuffalo/pop/v5 v5.3.3 h1:L8TRyREUSO2Jtai3DeqnPTHV0AOAMZYyf6TaVsLBVsc= +github.com/gobuffalo/pop/v5 v5.3.3/go.mod h1:Ey1hqzDLkWQKNEfsnafaz+3P1h/TrS++W9PmpGsNxvk= +github.com/gobuffalo/release v1.0.35/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= +github.com/gobuffalo/release v1.0.38/go.mod h1:VtHFAKs61vO3wboCec5xr9JPTjYyWYcvaM3lclkc4x4= +github.com/gobuffalo/release v1.0.42/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= +github.com/gobuffalo/release v1.0.52/go.mod h1:RPs7EtafH4oylgetOJpGP0yCZZUiO4vqHfTHJjSdpug= +github.com/gobuffalo/release v1.0.53/go.mod h1:FdF257nd8rqhNaqtDWFGhxdJ/Ig4J7VcS3KL7n/a+aA= +github.com/gobuffalo/release v1.0.54/go.mod h1:Pe5/RxRa/BE8whDpGfRqSI7D1a0evGK1T4JDm339tJc= +github.com/gobuffalo/release v1.0.61/go.mod h1:mfIO38ujUNVDlBziIYqXquYfBF+8FDHUjKZgYC1Hj24= +github.com/gobuffalo/release v1.0.72/go.mod h1:NP5NXgg/IX3M5XmHmWR99D687/3Dt9qZtTK/Lbwc1hU= +github.com/gobuffalo/release v1.1.1/go.mod h1:Sluak1Xd6kcp6snkluR1jeXAogdJZpFFRzTYRs/2uwg= +github.com/gobuffalo/release v1.1.3/go.mod h1:CuXc5/m+4zuq8idoDt1l4va0AXAn/OSs08uHOfMVr8E= +github.com/gobuffalo/release v1.1.6/go.mod h1:18naWa3kBsqO0cItXZNJuefCKOENpbbUIqRL1g+p6z0= +github.com/gobuffalo/release v1.7.0/go.mod h1:xH2NjAueVSY89XgC4qx24ojEQ4zQ9XCGVs5eXwJTkEs= +github.com/gobuffalo/shoulders v1.0.1/go.mod h1:V33CcVmaQ4gRUmHKwq1fiTXuf8Gp/qjQBUL5tHPmvbA= +github.com/gobuffalo/shoulders v1.0.4/go.mod h1:LqMcHhKRuBPMAYElqOe3POHiZ1x7Ry0BE8ZZ84Bx+k4= +github.com/gobuffalo/syncx v0.0.0-20181120191700-98333ab04150/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobuffalo/syncx v0.0.0-20181120194010-558ac7de985f/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/gobuffalo/syncx v0.1.0/go.mod h1:Mg/s+5pv7IgxEp6sA+NFpqS4o2x+R9dQNwbwT0iuOGQ= +github.com/gobuffalo/tags v2.0.11+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.0.14+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.0.15+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.1.0+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags v2.1.7+incompatible/go.mod h1:9XmhOkyaB7UzvuY4UoZO4s67q8/xRMVJEaakauVQYeY= +github.com/gobuffalo/tags/v3 v3.0.2/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= +github.com/gobuffalo/tags/v3 v3.1.0/go.mod h1:ZQeN6TCTiwAFnS0dNcbDtSgZDwNKSpqajvVtt6mlYpA= +github.com/gobuffalo/uuid v2.0.3+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= +github.com/gobuffalo/uuid v2.0.4+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= +github.com/gobuffalo/uuid v2.0.5+incompatible/go.mod h1:ErhIzkRhm0FtRuiE/PeORqcw4cVi1RtSpnwYrxuvkfE= +github.com/gobuffalo/validate v2.0.3+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= +github.com/gobuffalo/validate v2.0.4+incompatible/go.mod h1:N+EtDe0J8252BgfzQUChBgfd6L93m9weay53EWFVsMM= +github.com/gobuffalo/validate/v3 v3.0.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= +github.com/gobuffalo/validate/v3 v3.1.0/go.mod h1:HFpjq+AIiA2RHoQnQVTFKF/ZpUPXwyw82LgyDPxQ9r0= +github.com/gobuffalo/validate/v3 v3.2.0/go.mod h1:PrhDOdDHxtN8KUgMvF3TDL0r1YZXV4sQnyFX/EmeETY= +github.com/gobuffalo/x v0.0.0-20181003152136-452098b06085/go.mod h1:WevpGD+5YOreDJznWevcn8NTmQEW5STSBgIkpkjzqXc= +github.com/gobuffalo/x v0.0.0-20181007152206-913e47c59ca7/go.mod h1:9rDPXaB3kXdKWzMc4odGQQdG2e2DIEmANy5aSJ9yesY= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.1.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid/v3 v3.1.2/go.mod h1:xPwMqoocQ1L5G6pXX5BcE7N5jlzn2o19oqAKxwZW/kI= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/gddo v0.0.0-20180828051604-96d2a289f41e/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= +github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= +github.com/golang/gddo v0.0.0-20201207183808-b853219a4332 h1:UMb0+CT9Vz0Mejs6CjdntIKcup/rc5BkQi5cQtzL0FA= +github.com/golang/gddo v0.0.0-20201207183808-b853219a4332/go.mod h1:ijRvpgDJDI262hYq/IQVYgf8hd8IHUs93Ol0kvMBAx4= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/lint v0.0.0-20170918230701-e5d664eb928e/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.1.1-0.20171103154506-982329095285/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-jsonnet v0.16.0/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181004151105-1babbf986f6f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0= +github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/pat v0.0.0-20180118222023-199c85a7f6d1/go.mod h1:YeAe0gNeiNT5hoiZRI4yiOky6jVdNvfO2N6Kav/HmxY= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.1.2/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/gorilla/sessions v1.1.3/go.mod h1:8KCfur6+4Mqcc6S0FEfKuN15Vl5MgXW92AE8ovaJD0w= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gotestyourself/gotestyourself v1.3.0/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/gregjones/httpcache v0.0.0-20170920190843-316c5e0ff04e/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/h2non/filetype v1.0.6/go.mod h1:isekKqOuhMj+s/7r3rIeTErIRy4Rub5uBWHfvMusLMU= +github.com/h2non/filetype v1.0.8/go.mod h1:isekKqOuhMj+s/7r3rIeTErIRy4Rub5uBWHfvMusLMU= +github.com/h2non/filetype v1.1.0 h1:Or/gjocJrJRNK/Cri/TDEKFjAR+cfG6eK65NGYB6gBA= +github.com/h2non/filetype v1.1.0/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1 h1:dH3aiDG9Jvb5r5+bYHsikaOUIpcM0xvgMXVoDkXMzJM= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-retryablehttp v0.6.8 h1:92lWxgpa+fF3FozM4B3UZtHZMJX8T5XT+TFdCxsPyWs= +github.com/hashicorp/go-retryablehttp v0.6.8/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v0.0.0-20170914154624-68e816d1c783/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imjasonmiller/godice v0.1.2/go.mod h1:8cTkdnVI+NglU2d6sv+ilYcNaJ5VSTBwvMbFULJd/QQ= +github.com/inconshreveable/log15 v0.0.0-20170622235902-74a0988b5f80/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inhies/go-bytesize v0.0.0-20201103132853-d0aed0d254f8/go.mod h1:KrtyD5PFj++GKkFS/7/RRrfnRhAMGQwy75GLCHWrCNs= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.3.2/go.mod h1:LvCquS3HbBKwgl7KbX9KyqEIumJAbm1UMcTvGaIf3bM= +github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= +github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= +github.com/jackc/pgconn v1.6.0/go.mod h1:yeseQo4xhQbgyJs2c87RAXOH2i624N0Fh1KSPJya7qo= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= +github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik= +github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= +github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= +github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= +github.com/jackc/pgx v3.2.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= +github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.4.1/go.mod h1:6iSW+JznC0YT+SgBn7rNxoEBsBgSmnC5FwyCekOGUiE= +github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= +github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg= +github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= +github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= +github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jandelgado/gcov2lcov v1.0.4-0.20210120124023-b83752c6dc08 h1:vn5CHED3UxZKIneSxETU9SXXGgsILP8hZHlx+M0u1BQ= +github.com/jandelgado/gcov2lcov v1.0.4-0.20210120124023-b83752c6dc08/go.mod h1:NnSxK6TMlg1oGDBfGelGbjgorT5/L3cchlbtgFYZSss= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmoiron/sqlx v0.0.0-20180614180643-0dae4fefe7c0/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU= +github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= +github.com/joho/godotenv v1.2.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/ansiterm v0.0.0-20160907234532-b99631de12cf/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU= +github.com/juju/clock v0.0.0-20180524022203-d293bb356ca4/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA= +github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA= +github.com/juju/cmd v0.0.0-20171107070456-e74f39857ca0/go.mod h1:yWJQHl73rdSX4DHVKGqkAip+huBslxRwS8m9CrOLq18= +github.com/juju/collections v0.0.0-20200605021417-0d0ec82b7271/go.mod h1:5XgO71dV1JClcOJE+4dzdn4HrI5LiyKd7PlVG6eZYhY= +github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/errors v0.0.0-20200330140219-3fe23663418f h1:MCOvExGLpaSIzLYB4iQXEHP4jYVU6vmzLNQPdMVrxnM= +github.com/juju/errors v0.0.0-20200330140219-3fe23663418f/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= +github.com/juju/httpprof v0.0.0-20141217160036-14bf14c30767/go.mod h1:+MaLYz4PumRkkyHYeXJ2G5g5cIW0sli2bOfpmbaMV/g= +github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e h1:FdDd7bdI6cjq5vaoYlK1mfQYfF9sF2VZw8VEZMsl5t8= +github.com/juju/loggo v0.0.0-20200526014432-9ce3a2e09b5e/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/mutex v0.0.0-20171110020013-1fe2a4bf0a3a/go.mod h1:Y3oOzHH8CQ0Ppt0oCKJ2JFO81/EsWenH5AEqigLH+yY= +github.com/juju/retry v0.0.0-20151029024821-62c620325291/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= +github.com/juju/retry v0.0.0-20160928201858-1998d01ba1c3/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= +github.com/juju/retry v0.0.0-20180821225755-9058e192b216/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= +github.com/juju/testing v0.0.0-20180402130637-44801989f0f7/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= +github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= +github.com/juju/testing v0.0.0-20200510222523-6c8c298c77a0/go.mod h1:hpGvhGHPVbNBraRLZEhoQwFLMrjK8PSlO4D3nDjKYXo= +github.com/juju/testing v0.0.0-20201030020617-7189b3728523 h1:U110nevNNIKtBz4E4YMhpOtHplDo65ZgJS8MsqQ4Vdk= +github.com/juju/testing v0.0.0-20201030020617-7189b3728523/go.mod h1:IbSKFoKW0bzmbDZ7rBwF/L3lO3b1bpmOIhTXQl/WJxw= +github.com/juju/utils v0.0.0-20180424094159-2000ea4ff043/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= +github.com/juju/utils v0.0.0-20180808125547-9dfc6dbfb02b/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= +github.com/juju/utils v0.0.0-20200116185830-d40c2fe10647/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= +github.com/juju/utils/v2 v2.0.0-20200923005554-4646bfea2ef1/go.mod h1:fdlDtQlzundleLLz/ggoYinEt/LmnrpNKcNTABQATNI= +github.com/juju/version v0.0.0-20161031051906-1f41e27e54f2/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U= +github.com/juju/version v0.0.0-20180108022336-b64dbd566305/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U= +github.com/juju/version v0.0.0-20191219164919-81c1be00b9a6/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U= +github.com/julienschmidt/httprouter v1.1.1-0.20151013225520-77a895ad01eb/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.7.7/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.7.8/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.10.9/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.15.5/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= +github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= +github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/knadh/koanf v0.14.1-0.20201201075439-e0853799f9ec/go.mod h1:H5mEFsTeWizwFXHKtsITL5ipsLTuAMQoGuQpp+1JL9U= +github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leonelquinteros/gotext v1.4.0/go.mod h1:yZGXREmoGTtBvZHNcc+Yfug49G/2spuF/i/Qlsvz1Us= +github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/luna-duclos/instrumentedsql v0.0.0-20181127104832-b7d587d28109/go.mod h1:PWUIzhtavmOR965zfawVsHXbEuU1G29BPZ/CB3C7jXk= +github.com/luna-duclos/instrumentedsql v1.1.2/go.mod h1:4LGbEqDnopzNAiyxPPDXhLspyunZxgPTMJBKtC6U0BQ= +github.com/luna-duclos/instrumentedsql v1.1.3/go.mod h1:9J1njvFds+zN7y85EDhN9XNQLANWwZt2ULeIC8yMNYs= +github.com/lunixbochs/vtclean v0.0.0-20160125035106-4fbf7632a2c6/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magiconair/properties v1.7.4-0.20170902060319-8d7837e64d3c/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.4/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/markbates/deplist v1.0.4/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= +github.com/markbates/deplist v1.0.5/go.mod h1:gRRbPbbuA8TmMiRvaOzUlRfzfjeCCBqX2A6arxN01MM= +github.com/markbates/deplist v1.1.3/go.mod h1:BF7ioVzAJYEtzQN/os4rt8H8Ti3h0T7EoN+7eyALktE= +github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= +github.com/markbates/going v1.0.2/go.mod h1:UWCk3zm0UKefHZ7l8BNqi26UyiEMniznk8naLdTcy6c= +github.com/markbates/grift v1.0.4/go.mod h1:wbmtW74veyx+cgfwFhlnnMWqhoz55rnHR47oMXzsyVs= +github.com/markbates/hmax v1.0.0/go.mod h1:cOkR9dktiESxIMu+65oc/r/bdY4bE8zZw3OLhLx0X2c= +github.com/markbates/inflect v1.0.0/go.mod h1:oTeZL2KHA7CUX6X+fovmK9OvIOFuqu0TwdQrZjLTh88= +github.com/markbates/inflect v1.0.1/go.mod h1:uv3UVNBe5qBIfCm8O8Q+DW+S1EopeyINj+Ikhc7rnCk= +github.com/markbates/inflect v1.0.3/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= +github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs= +github.com/markbates/oncer v0.0.0-20180924031910-e862a676800b/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v0.0.0-20180924034138-723ad0170a46/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v0.0.0-20181014194634-05fccaae8fc4/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= +github.com/markbates/pkger v0.17.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI= +github.com/markbates/refresh v1.4.10/go.mod h1:NDPHvotuZmTmesXxr95C9bjlw1/0frJwtME2dzcVKhc= +github.com/markbates/safe v1.0.0/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/markbates/sigtx v1.0.0/go.mod h1:QF1Hv6Ic6Ca6W+T+DL0Y/ypborFKyvUY9HmuCD4VeTc= +github.com/markbates/willie v1.0.9/go.mod h1:fsrFVWl91+gXpx/6dv715j7i11fYPfZ9ZGfH0DQzY7w= +github.com/masterzen/azure-sdk-for-go v3.2.0-beta.0.20161014135628-ee4f0065d00c+incompatible/go.mod h1:mf8fjOu33zCqxUjuiU3I8S1lJMyEAlH+0F2+M5xl3hE= +github.com/masterzen/simplexml v0.0.0-20160608183007-4572e39b1ab9/go.mod h1:kCEbxUJlNDEBNbdQMkPSp6yaKcRXVI6f4ddk8Riv4bc= +github.com/masterzen/winrm v0.0.0-20161014151040-7a535cd943fc/go.mod h1:CfZSN7zwz5gJiFhZJz49Uzk7mEBHIceWmbFmYx7Hf7E= +github.com/masterzen/xmlpath v0.0.0-20140218185901-13f4951698ad/go.mod h1:A0zPC53iKKKcXYxr4ROjpQRQ5FgJXtelNdSmHHuq/tY= +github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/mattn/go-colorable v0.0.6/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.0.10-0.20170816031813-ad5389df28cd/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.2/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mdlayher/genetlink v0.0.0-20190313224034-60417448a851/go.mod h1:EsbsAEUEs15qC1cosAwxgCWV0Qhd8TmkxnA9Kw1Vhl4= +github.com/mdlayher/netlink v0.0.0-20190313131330-258ea9dff42c/go.mod h1:eQB3mZE4aiYnlUsyGGCOpPETfdQq4Jhsgf1fk3cwQaA= +github.com/mdlayher/taskstats v0.0.0-20190313225729-7cbba52ee072/go.mod h1:sGdS7A6CAETR53zkdjGkgoFlh1vSm7MtX+i8XfEsTMA= +github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= +github.com/miekg/dns v1.0.5/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/monoculum/formam v0.0.0-20180901015400-4e68be1d79ba/go.mod h1:RKgILGEJq24YyJ2ban8EO0RUVSJlF1pGsEvoLEACr/Q= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/moul/http2curl v0.0.0-20170919181001-9ac6cf4d929b/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nicksnyder/go-i18n v1.10.0/go.mod h1:HrK7VCrbOvQoUAQ7Vpy7i87N7JZZZ7R2xBGjv0j365Q= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nkovacs/streamquote v1.0.0/go.mod h1:BN+NaZ2CmdKqUuTUXUEm9j95B2TRbpOWpxbJYzzgUsc= +github.com/nu7hatch/gouuid v0.0.0-20131221200532-179d4d0c4d8d/go.mod h1:YUTz3bUH2ZwIWBy3CJBeOBEugqcmXREj14T+iG/4k4U= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/oleiade/reflections v1.0.0/go.mod h1:RbATFBbKYkVdqmSFtx13Bb/tVhR0lgOBXunWTZKeL4w= +github.com/oleksandr/bonjour v0.0.0-20160508152359-5dcf00d8b228/go.mod h1:MGuVJ1+5TX1SCoO2Sx0eAnjpdRytYla2uC1YIZfkC9c= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.9.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.6.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/ory/analytics-go/v4 v4.0.0/go.mod h1:FMx9cLRD9xN+XevPvZ5FDMfignpmcqPP6FUKnJ9/MmE= +github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= +github.com/ory/dockertest/v3 v3.5.4/go.mod h1:J8ZUbNB2FOhm1cFZW9xBpDsODqsSWcyYgtJYVPcnF70= +github.com/ory/dockertest/v3 v3.6.3/go.mod h1:EFLcVUOl8qCwp9NyDAcCDtq/QviLtYswW/VbWzUnTNE= +github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0= +github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4= +github.com/ory/go-acc v0.2.6 h1:YfI+L9dxI7QCtWn2RbawqO0vXhiThdXu/RgizJBbaq0= +github.com/ory/go-acc v0.2.6/go.mod h1:4Kb/UnPcT8qRAk3IAxta+hvVapdxTLWtrr7bFLlEgpw= +github.com/ory/go-convenience v0.1.0/go.mod h1:uEY/a60PL5c12nYz4V5cHY03IBmwIAEm8TWB0yn9KNs= +github.com/ory/gojsonreference v0.0.0-20190720135523-6b606c2d8ee8/go.mod h1:wsH1C4nIeeQClDtD5AH7kF1uTS6zWyqfjVDTmB0Em7A= +github.com/ory/gojsonschema v1.1.1-0.20190919112458-f254ca73d5e9/go.mod h1:BNZpdJgB74KOLSsWFvzw6roXg1I6O51WO8roMmW+T7Y= +github.com/ory/herodot v0.6.2/go.mod h1:3BOneqcyBsVybCPAJoi92KN2BpJHcmDqAMcAAaJiJow= +github.com/ory/herodot v0.7.0/go.mod h1:YXKOfAXYdQojDP5sD8m0ajowq3+QXNdtxA+QiUXBwn0= +github.com/ory/herodot v0.8.3/go.mod h1:rvLjxOAlU5omtmgjCfazQX2N82EpMfl3BytBWc1jjsk= +github.com/ory/herodot v0.9.2 h1:/54FEEMCJNUJKIYRTioOS/0dxdzc9yNtI8/DRVF6KfY= +github.com/ory/herodot v0.9.2/go.mod h1:Da2HXR8mpwPbPrH+Gv9qV8mM5gI3v+PoJ69BA4l2RAk= +github.com/ory/jsonschema/v3 v3.0.1/go.mod h1:jgLHekkFk0uiGdEWGleC+tOm6JSSP8cbf17PnBuGXlw= +github.com/ory/jsonschema/v3 v3.0.3 h1:Y7KT4n84ROq8pJ3IMf9JDAulXqYKSU5xUtHjdQFbCLI= +github.com/ory/jsonschema/v3 v3.0.3/go.mod h1:JvXwbx7IxAkIAo7Qo5OSC1lea+w12DtYGV8h+MTAfnA= +github.com/ory/viper v1.5.6/go.mod h1:TYmpFpKLxjQwvT4f0QPpkOn4sDXU1kDgAwJpgLYiQ28= +github.com/ory/viper v1.7.4/go.mod h1:T6sodNZKNGPpashUOk7EtXz2isovz8oCd57GNVkkNmE= +github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE= +github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM= +github.com/ory/x v0.0.84/go.mod h1:RXLPBG7B+hAViONVg0sHwK+U/ie1Y/NeXrq1JcARfoE= +github.com/ory/x v0.0.93/go.mod h1:lfcTaGXpTZs7IEQAW00r9EtTCOxD//SiP5uWtNiz31g= +github.com/ory/x v0.0.110/go.mod h1:DJfkE3GdakhshNhw4zlKoRaL/ozg/lcTahA9OCih2BE= +github.com/ory/x v0.0.127/go.mod h1:FwUujfFuCj5d+xgLn4fGMYPnzriR5bdAIulFXMtnK0M= +github.com/ory/x v0.0.205 h1:c8XSfmkbrBsI+QOC1t9eICbukUMJUIsxPDVwbWLbgqI= +github.com/ory/x v0.0.205/go.mod h1:A1s4iwmFIppRXZLF3J9GGWeY/HpREVm0Dk5z/787iek= +github.com/parnurzeal/gorequest v0.2.15/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= +github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= +github.com/pelletier/go-toml v1.0.1-0.20170904195809-1d6b12b7cb29/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= +github.com/pelletier/go-toml v1.6.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= +github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmylund/sortutil v0.0.0-20120526081524-abeda66eb583 h1:ogHi8YLNeIxABOaH6UgtbwkODheuAK+ErP8gWXYQVj0= +github.com/pmylund/sortutil v0.0.0-20120526081524-abeda66eb583/go.mod h1:sFPiU/UgDcsQVu3vkqpZLCXWFwUoQRpHGu9ATihPAl0= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rhnvrm/simples3 v0.5.0/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= +github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.0.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/rubenv/sql-migrate v0.0.0-20190212093014-1007f53448d7/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= +github.com/santhosh-tekuri/jsonschema/v2 v2.1.0/go.mod h1:yzJzKUGV4RbWqWIBBP4wSOBqavX5saE02yirLS0OTyg= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c h1:jwWrlqKHQeSRjTskQaHBtCOWbaMsd54NBAnofYbEHGs= +github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c/go.mod h1:/THDZYi7F/BsVEcYzYPqdcWFQ+1C2InkawTKfLOAnzg= +github.com/segmentio/analytics-go v3.0.1+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= +github.com/segmentio/analytics-go v3.1.0+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= +github.com/segmentio/backo-go v0.0.0-20160424052352-204274ad699c/go.mod h1:kJ9mm9YmoWSkk+oQ+5Cj8DEoRCX2JT6As4kEtIIOp1M= +github.com/segmentio/backo-go v0.0.0-20200129164019-23eae7c10bd3/go.mod h1:9/Rh6yILuLysoQnZ2oNooD2g7aBnvM7r/fNVxRNWfBc= +github.com/segmentio/conf v1.2.0/go.mod h1:Y3B9O/PqqWqjyxyWWseyj/quPEtMu1zDp/kVbSWWaB0= +github.com/segmentio/fasthash v0.0.0-20180216231524-a72b379d632e/go.mod h1:tm/wZFQ8e24NYaBGIlnO2WGCAi67re4HHuOm0sftE/M= +github.com/segmentio/go-snakecase v1.1.0/go.mod h1:jk1miR5MS7Na32PZUykG89Arm+1BUSYhuGR6b7+hJto= +github.com/segmentio/objconv v1.0.1/go.mod h1:auayaH5k3137Cl4SoXTgrzQcuQDmvuVtZgS0fb1Ahys= +github.com/segmentio/stats/v4 v4.5.3/go.mod h1:LsaahUJR7iiSs8mnkvQvdQ/RLHAS5adGLxuntg0ydGo= +github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/highlight_diff v0.0.0-20170515013008-09bb4053de1b/go.mod h1:ZpfEhSmds4ytuByIcDnOLkTHGUI6KNqRNPDLHDk+mUU= +github.com/shurcooL/highlight_go v0.0.0-20170515013102-78fb10f4a5f8/go.mod h1:UDKB5a1T23gOMUJrI+uSuH0VRDStOiUVSjBTRDVBVag= +github.com/shurcooL/octicon v0.0.0-20180602230221-c42b0e3b24d9/go.mod h1:eWdoE5JD4R5UVWDucdOPg1g2fqQRq78IQa9zlOV1vpQ= +github.com/shurcooL/sanitized_anchor_name v0.0.0-20170918181015-86672fcb3f95/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= +github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.3.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.5.0/go.mod h1:+F7Ogzej0PZc/94MaYx/nvG9jOFMD2osvC3s+Squfpo= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= +github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= +github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d/go.mod h1:UdhH50NIW0fCiwBSr0co2m7BnFLdv4fQTgdqdJTHFeE= +github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e/go.mod h1:HuIsMU8RRBOtsCgI77wP899iHVBQpCmg4ErYMZB+2IA= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v0.0.0-20170901052352-ee1bd8ee15a1/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.0/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.5.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.1.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= +github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.2-0.20200723214538-8d17101741c8 h1:GbJaXkBXPYlxE45H4g2wo0Hb4TGzv/YbHVA1OGqx+mo= +github.com/spf13/cast v1.3.2-0.20200723214538-8d17101741c8/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= +github.com/spf13/cobra v1.0.1-0.20200710201246-675ae5f5a98c/go.mod h1:aeNIJzz/GSSVlS+gpCpQWZ83BKbsoW57mr90+YthtkQ= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/jwalterweatherman v0.0.0-20170901151539-12bd96e66386/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.1-0.20170901120850-7aff26db30c1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.0.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= +github.com/spf13/viper v1.2.1/go.mod h1:P4AexN0a+C9tGAnUFNwDMYYZv3pjFuvmeiMyKRaNVlI= +github.com/spf13/viper v1.3.1/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.6.2/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518 h1:iD+PFTQwKEmbwSdwfvP5ld2WEI/g7qbdhmHJ2ASfYGs= +github.com/sqs/goreturns v0.0.0-20181028201513-538ac6014518/go.mod h1:CKI4AZ4XmGV240rTHfO0hfE83S6/a3/Q1siZJ/vXf7A= +github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693/go.mod h1:6hSY48PjDm4UObWmGLyJE9DxYVKTgR9kbCspXXJEhcU= +github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= +github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.1.1/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tidwall/gjson v1.3.2/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= +github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tidwall/sjson v1.0.4/go.mod h1:bURseu1nuBkFpIES5cz6zBtjmYeOQmEESshn7VpF15Y= +github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= +github.com/uber/jaeger-client-go v2.15.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v1.5.0/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/unrolled/secure v0.0.0-20180918153822-f340ee86eb8b/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= +github.com/unrolled/secure v0.0.0-20181005190816-ff9db2ff917f/go.mod h1:mnPT77IAdsi/kV7+Es7y+pXALeV3h7G6dQF6mNYjcLA= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= +github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= +github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= +github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63MEE3IF9l2/ebyx59GyGgPi+tICQdmM= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= +go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= +go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= +go.bug.st/downloader/v2 v2.1.0 h1:VqGOrJrjgz8c0c8ExvF9dvvcpcrbo2IrI+rOoXKD6nQ= +go.bug.st/downloader/v2 v2.1.0/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= +go.bug.st/relaxed-semver v0.0.0-20190922224835-391e10178d18 h1:F1qxtaFuewctYc/SsHRn+Q7Dtwi+yJGPgVq8YLtQz98= +go.bug.st/relaxed-semver v0.0.0-20190922224835-391e10178d18/go.mod h1:Cx1VqMtEhE9pIkEyUj3LVVVPkv89dgW8aCKrRPDR/uE= +go.bug.st/serial v1.1.1/go.mod h1:VmYBeyJWp5BnJ0tw2NUJHZdJTGl2ecBGABHlzRK1knY= +go.bug.st/serial.v1 v0.0.0-20180827123349-5f7892a7bb45/go.mod h1:dRSl/CVCTf56CkXgJMDOdSwNfo2g1orOGE/gBGdvjZw= +go.elastic.co/apm v1.8.0/go.mod h1:tCw6CkOJgkWnzEthFN9HUP1uL3Gjc/Ur6m7gRPLaoH0= +go.elastic.co/apm/module/apmhttp v1.8.0/go.mod h1:9LPFlEON51/lRbnWDfqAWErihIiAFDUMfMV27YjoWQ8= +go.elastic.co/apm/module/apmot v1.8.0/go.mod h1:Q5Xzabte8G/fkvDjr1jlDuOSUt9hkVWNZEHh6ZNaTjI= +go.elastic.co/fastjson v1.0.0/go.mod h1:PmeUOMMtLHQr9ZS9J9owrAVg0FkaZDRZJEFTTGHtchs= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= +go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.18.0 h1:uqBh0brileIvG6luvBjdxzoFL8lxDGuhxJWsvK3BveI= +go.opentelemetry.io/contrib v0.18.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.13.0/go.mod h1:TwTkyRaTam1pOIb2wxcAiC2hkMVbokXkt6DEt5nDkD8= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.18.0 h1:Qc7uU8GzpQ0Gak2oOmEcpiL9uRaVhatxkE1EzNhJW00= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.18.0/go.mod h1:iK1G0FgHurSJ/aYLg5LpnPI0pqdanM73S3dhyDp0Lk4= +go.opentelemetry.io/otel v0.13.0/go.mod h1:dlSNewoRYikTkotEnxdmuBHgzT+k/idJSfDv/FxEnOY= +go.opentelemetry.io/otel v0.18.0 h1:d5Of7+Zw4ANFOJB+TIn2K3QWsgS2Ht7OU9DqZHI6qu8= +go.opentelemetry.io/otel v0.18.0/go.mod h1:PT5zQj4lTsR1YeARt8YNKcFb88/c2IKoSABK9mX0r78= +go.opentelemetry.io/otel/metric v0.18.0 h1:yuZCmY9e1ZTaMlZXLrrbAPmYW6tW1A5ozOZeOYGaTaY= +go.opentelemetry.io/otel/metric v0.18.0/go.mod h1:kEH2QtzAyBy3xDVQfGZKIcok4ZZFvd5xyKPfPcuK6pE= +go.opentelemetry.io/otel/oteltest v0.18.0 h1:FbKDFm/LnQDOHuGjED+fy3s5YMVg0z019GJ9Er66hYo= +go.opentelemetry.io/otel/oteltest v0.18.0/go.mod h1:NyierCU3/G8DLTva7KRzGii2fdxdR89zXKH1bNWY7Bo= +go.opentelemetry.io/otel/trace v0.18.0 h1:ilCfc/fptVKaDMK1vWk0elxpolurJbEgey9J6g6s+wk= +go.opentelemetry.io/otel/trace v0.18.0/go.mod h1:FzdUu3BPwZSZebfQ1vl5/tAa8LyMLXSJN57AXIt/iDk= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180830192347-182538f80094/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181015023909-0c41d7ab0a0e/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181024171144-74cb1d3d52f4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181025113841-85e1b3f9139a/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181106171534-e4dc69e5b2fd/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181127143415-eb0de9b17e85/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190102171810-8d7daa0c54b3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200117160349-530e935923ad/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200320181102-891825fb96df/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200406173513-056763e48d71/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180926154720-4dfa2610cdf3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181017193950-04a2e542c03f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181207154023-610586996380/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/oauth2 v0.0.0-20170912212905-13449ad91cb2/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20170517211232-f52d1811a629/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180816055513-1c9583448a9c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180906133057-8cf3aee42992/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180921163948-d47a0f339242/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180927150500-dad3d9fb7b6e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181011152604-fa43e7bc11ba/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181022134430-8a28ead16f52/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181024145615-5cd93ef61a7c/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181025063200-d989b31c8746/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026064943-731415f00dce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181106135930-3a76605856fd/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181206074257-70b957f3b65e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190102155601-82a175fd1598/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190116161447-11f53e031339/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191105231009-c1f44814a5cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200121082415-34d275377bf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf h1:MZ2shdL+ZM/XzY3ZGOnh4Nlpnxz5GSOhOmtHo3iPU6M= +golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20170424234030-8be79e1e0910/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181003024731-2f84ea8ef872/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181006002542-f60d9635b16a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181013182035-5e66757b835f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181017214349-06f26fdaaa28/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181024171208-a2dc47679d30/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181026183834-f60e5f99f081/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181105230042-78dc5bac0cac/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181107215632-34b416bd17b3/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181114190951-94339b83286c/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181119130350-139d099f6620/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181127195227-b4e97c0ed882/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181127232545-e782529d0ddd/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181203210056-e5f3ab76ea4b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181205224935-3576414c54a4/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181206194817-bcd4e47d0288/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181207183836-8bc39b988060/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181212172921-837e80568c09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190102213336-ca9055ed7d04/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190104182027-498d95493402/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190111214448-fc1d57b08d7b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190118193359-16909d206f00/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190613204242-ed0dc450797f/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624190245-7f2218787638/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190711191110-9a621aea19f8/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191004055002-72853e10c5a3/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191224055732-dd894d0a8a40/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200203215610-ab391d50b528/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2 h1:kRBLX7v7Af8W7Gdbbc908OJcdgtK8bOz9Uaj8/F1ACA= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.2/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20191229114700-bbb4dff026f8/go.mod h1:2IgXn/sJaRbePPBA1wRj8OE+QLvVaH0q8SK6TSTKlnk= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.0.0-20200111075622-4abb28f724d5/go.mod h1:+HbaZVpsa73UwN7kXGCECULRHovLRJjH+t5cFPgxErs= +google.golang.org/api v0.0.0-20170921000349-586095a6e407/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20170918111702-1e559d0a00ee/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190626174449-989357319d63/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190708153700-3bdd9d9f5532/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c h1:wtujag7C+4D6KMoulW9YauvK2lgdvCMS260jsqqBXr0= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/grpc v1.2.1-0.20170921194603-d4b75ebd4f9f/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/DataDog/dd-trace-go.v1 v1.27.0/go.mod h1:Sp1lku8WJMvNV0kjDI4Ni/T7J/U3BO5ct5kEaoVU8+I= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v1 v1.0.0-20161222125816-442357a80af5/go.mod h1:u0ALmqvLRxLI95fkdCEWrE6mhWYZW1aMOJHp5YXLHTg= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/mold.v2 v2.2.0/go.mod h1:XMyyRsGtakkDPbxXbrA5VODo6bUXyvoDjLd5l3T0XoA= +gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw= +gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw= +gopkg.in/httprequest.v1 v1.1.1/go.mod h1:/CkavNL+g3qLOrpFHVrEx4NKepeqR4XTZWNj4sGGjz0= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mail.v2 v2.0.0-20180731213649-a0242b2233b4/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= +gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw= +gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.1.9/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/src-d/go-billy.v4 v4.3.2 h1:0SQA1pRztfTFx2miS8sA97XvooFeNOmvUenF4o0EcVg= +gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= +gopkg.in/src-d/go-git-fixtures.v3 v3.5.0 h1:ivZFOIltbce2Mo8IjzUHAFoq/IylO9WHhNOAJK+LsJg= +gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= +gopkg.in/src-d/go-git.v4 v4.13.1 h1:SRtFyV8Kxc0UP7aCHcijOMQGPxHSmMOPrzulQWolkYE= +gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= +launchpad.net/gocheck v0.0.0-20140225173054-000000000087/go.mod h1:hj7XX3B/0A+80Vse0e+BUHsHMTEhd0O4cpUHr/e/BUM= +launchpad.net/xmlpath v0.0.0-20130614043138-000000000004/go.mod h1:vqyExLOM3qBx7mvYRkoxjSCF945s0mbe7YynlKYXtsA= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/ruledocsgen/main.go b/ruledocsgen/main.go new file mode 100644 index 00000000..399fa0b5 --- /dev/null +++ b/ruledocsgen/main.go @@ -0,0 +1,213 @@ +// Package main generates Markdown documentation for Arduino Lint's rules. +package main + +import ( + "bytes" + "os" + "text/template" + + "github.com/arduino/arduino-lint/internal/cli" + "github.com/arduino/arduino-lint/internal/configuration" + "github.com/arduino/arduino-lint/internal/configuration/rulemode" + "github.com/arduino/arduino-lint/internal/project/projecttype" + "github.com/arduino/arduino-lint/internal/rule" + "github.com/arduino/arduino-lint/internal/rule/ruleconfiguration" + "github.com/arduino/arduino-lint/internal/rule/rulelevel" + "github.com/arduino/go-paths-helper" + "github.com/olekukonko/tablewriter" +) + +func main() { + if len(os.Args) < 2 { + print("error: Please provide the output folder argument") + os.Exit(1) + } + outputPath := paths.New(os.Args[1]) + + generateRulesDocumentation(ruleconfiguration.Configurations(), outputPath) +} + +// generateRulesDocumentation generates documentation in Markdown language for the rules defined by the provided +// configurations and writes them to a file for each project type at the specified path. +func generateRulesDocumentation(ruleConfigurations []ruleconfiguration.Type, outputPath *paths.Path) { + projectTypeReferences := map[projecttype.Type]string{ + projecttype.Sketch: "https://arduino.github.io/arduino-cli/latest/sketch-specification/", + projecttype.Library: "https://arduino.github.io/arduino-cli/latest/library-specification/", + projecttype.Platform: "https://arduino.github.io/arduino-cli/latest/platform-specification/", + projecttype.PackageIndex: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", + } + + projectRulesIntroTemplate := template.Must(template.New("messageTemplate").Parse( + "Arduino Lint provides {{.RuleCount}} rules for the [`{{.ProjectType}}`]({{.ProjectTypeReference}}) project type:\n", + )) + ruleDocumentationTemplate := template.Must(template.New("messageTemplate").Parse(` +--- + + + +## {{.Brief}} (` + "`" + `{{.ID}}` + "`" + `) + +{{.Description}} + +{{if .Reference}}More information: [**here**]({{.Reference}})
{{end}} +Enabled for superproject type: {{.SuperprojectType}}
+Category: {{.Category}}
+Subcategory: {{.Subcategory}} + +##### Rule levels + +`)) + + rulesDocumentation := make( + map[projecttype.Type]struct { + content bytes.Buffer + count int + }, + ) + + // Generate the rule documentation, indexed by project type. + for _, ruleConfiguration := range ruleConfigurations { + projectRulesData := rulesDocumentation[ruleConfiguration.ProjectType] + projectRulesData.count++ + + // Fill the template with the rule's configuration data. + ruleDocumentationTemplate.Execute(&projectRulesData.content, ruleConfiguration) + + // Generate a table of the rule violation levels. + // This is too complex to handle via the template so it is appended to the templated text. + levelsData := ruleLevels(ruleConfiguration) + var table bytes.Buffer + tableWriter := tablewriter.NewWriter(&table) + tableWriter.SetAutoFormatHeaders(false) + tableWriter.SetHeader(levelsData[0]) + tableWriter.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false}) + tableWriter.SetCenterSeparator("|") + tableWriter.AppendBulk(levelsData[1:]) + tableWriter.Render() + if _, err := table.WriteTo(&projectRulesData.content); err != nil { + panic(err) + } + + rulesDocumentation[ruleConfiguration.ProjectType] = projectRulesData + } + + // Write the rule documentation to file, one for each project type. + outputPath.MkdirAll() + for projectType, projectRules := range rulesDocumentation { + projectPage := new(bytes.Buffer) + projectRulesIntroTemplate.Execute(projectPage, struct { + RuleCount int + ProjectType string + ProjectTypeReference string + }{ + RuleCount: projectRules.count, + ProjectType: projectType.String(), + ProjectTypeReference: projectTypeReferences[projectType], + }) + projectRules.content.WriteTo(projectPage) + + outputFile := outputPath.Join(projectType.String() + ".md") + if err := outputFile.WriteFile(projectPage.Bytes()); err != nil { + panic(err) + } + } +} + +// ruleLevels returns the level of a rule violation for each of the relevant Arduino Lint configurations. +func ruleLevels(ruleConfiguration ruleconfiguration.Type) [][]string { + complianceModes := []rulemode.Type{ + rulemode.Permissive, + rulemode.Specification, + rulemode.Strict, + } + + libraryManagerModes := []rulemode.Type{ + rulemode.LibraryManagerSubmission, + rulemode.LibraryManagerIndexed, + } + + // `--library-manager` flag values are defined separately from modes due to the need to also document levels for the "false" value. + libraryManagerFlagValues := []string{ + rulemode.LibraryManagerSubmission.String(), + rulemode.LibraryManagerIndexed.String(), + "false", + } + + ruleConfigurationModeFields := [][]rulemode.Type{ + ruleConfiguration.DisableModes, + ruleConfiguration.EnableModes, + ruleConfiguration.InfoModes, + ruleConfiguration.WarningModes, + ruleConfiguration.ErrorModes, + } + + lmFlagDependentLevel := func() bool { + // Determine whether the `--library-manager` flag setting affects this rule's level + for _, ruleConfigurationModeField := range ruleConfigurationModeFields { + for _, modeConfiguration := range ruleConfigurationModeField { + for _, libraryManagerMode := range libraryManagerModes { + if modeConfiguration == libraryManagerMode { + return true + } + } + } + } + + return false + } + + var levelsData [][]string + if lmFlagDependentLevel() { + // The `--library-manager` flag setting is used by the rule's configuration, so provide compliance vs. library-manager vs. level data. + levelsData = append(levelsData, []string{"`compliance`", "`library-manager`", "Level"}) + for _, complianceMode := range complianceModes { + for _, libraryManagerFlagValue := range libraryManagerFlagValues { + flags := cli.Root().PersistentFlags() + if err := flags.Set("compliance", complianceMode.String()); err != nil { + panic(err) + } + if err := flags.Set("library-manager", libraryManagerFlagValue); err != nil { + panic(err) + } + if err := configuration.Initialize(flags, []string{}); err != nil { + panic(err) + } + ruleModes := configuration.RuleModes(ruleConfiguration.ProjectType) + levelsData = append(levelsData, []string{complianceMode.String(), libraryManagerFlagValue, ruleLevel(ruleConfiguration, ruleModes)}) + } + } + } else { + // The `--library-manager` flag setting is not used by the rule's configuration, so only provide compliance vs. level data. + levelsData = append(levelsData, []string{"`compliance`", "Level"}) + for _, complianceMode := range complianceModes { + flags := cli.Root().PersistentFlags() + if err := flags.Set("compliance", complianceMode.String()); err != nil { + panic(err) + } + if err := configuration.Initialize(flags, []string{}); err != nil { + panic(err) + } + ruleModes := configuration.RuleModes(ruleConfiguration.ProjectType) + levelsData = append(levelsData, []string{complianceMode.String(), ruleLevel(ruleConfiguration, ruleModes)}) + } + } + + return levelsData +} + +// ruleLevel returns the string representation of the violation level of the given rule in the given mode. +func ruleLevel(ruleConfiguration ruleconfiguration.Type, ruleModes map[rulemode.Type]bool) string { + enabled, err := rule.IsEnabled(ruleConfiguration, ruleModes) + if err != nil { + panic(err) + } + if enabled { + ruleLevel, err := rulelevel.FailRuleLevel(ruleConfiguration, ruleModes) + if err != nil { + panic(err) + } + return ruleLevel.String() + } + + return "disabled" +} diff --git a/ruledocsgen/main_test.go b/ruledocsgen/main_test.go new file mode 100644 index 00000000..89f3787a --- /dev/null +++ b/ruledocsgen/main_test.go @@ -0,0 +1,144 @@ +// This file is part of Arduino Lint. +// +// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// +// This software is released under the GNU General Public License version 3, +// which covers the main part of Arduino Lint. +// The terms of this license can be found at: +// https://www.gnu.org/licenses/gpl-3.0.en.html +// +// You can be released from the requirements of the above licenses by purchasing +// a commercial license. Buying such a license is mandatory if you want to +// modify or otherwise use the software for commercial activities involving the +// Arduino software without disclosing the source code of your own applications. +// To purchase a commercial license, send an email to license@arduino.cc. + +package main + +import ( + "testing" + + "github.com/arduino/arduino-lint/internal/configuration/rulemode" + "github.com/arduino/arduino-lint/internal/project/projecttype" + "github.com/arduino/arduino-lint/internal/rule/ruleconfiguration" + "github.com/arduino/arduino-lint/internal/rule/rulefunction" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +var testDataPath *paths.Path + +func init() { + workingDirectory, err := paths.Getwd() + if err != nil { + panic(err) + } + testDataPath = workingDirectory.Join("testdata") +} + +func TestAll(t *testing.T) { + ruleConfigurations := []ruleconfiguration.Type{ + { + ProjectType: projecttype.Library, + SuperprojectType: projecttype.All, + Category: "structure", + Subcategory: "general", + ID: "LS001", + Brief: "invalid library", + Description: "The path does not contain a valid Arduino library.", + MessageTemplate: "Path does not contain a valid Arduino library.", + Reference: "https://arduino.github.io/arduino-cli/latest/library-specification", + DisableModes: nil, + EnableModes: []rulemode.Type{rulemode.Default}, + InfoModes: nil, + WarningModes: nil, + ErrorModes: []rulemode.Type{rulemode.Default}, + RuleFunction: rulefunction.LibraryInvalid, + }, + { + ProjectType: projecttype.Library, + SuperprojectType: projecttype.Library, + Category: "structure", + Subcategory: "miscellaneous", + ID: "LS007", + Brief: ".exe file", + Description: "A file with `.exe` file extension was found under the library folder. Presence of this file blocks addition to the Library Manager index.", + MessageTemplate: ".exe file(s) found. Presence of these files blocks addition to the Library Manager index:\n{{.}}", + Reference: "", + DisableModes: []rulemode.Type{rulemode.Default}, + EnableModes: []rulemode.Type{rulemode.LibraryManagerSubmission, rulemode.LibraryManagerIndexed, rulemode.LibraryManagerIndexing}, + InfoModes: nil, + WarningModes: nil, + ErrorModes: []rulemode.Type{rulemode.Default}, + RuleFunction: rulefunction.LibraryHasExe, + }, + { + ProjectType: projecttype.Sketch, + SuperprojectType: projecttype.All, + Category: "structure", + Subcategory: "root folder", + ID: "SS001", + Brief: "name mismatch", + Description: "There is no `.ino` sketch file with name matching the sketch folder. The primary sketch file name must match the folder for the sketch to be valid.", + MessageTemplate: "Sketch file/folder name mismatch. The primary sketch file name must match the folder: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/sketch-specification/#primary-sketch-file", + DisableModes: nil, + EnableModes: []rulemode.Type{rulemode.Default}, + InfoModes: nil, + WarningModes: []rulemode.Type{rulemode.Permissive}, + ErrorModes: []rulemode.Type{rulemode.Default}, + RuleFunction: rulefunction.SketchNameMismatch, + }, + { + ProjectType: projecttype.Platform, + SuperprojectType: projecttype.All, + Category: "configuration files", + Subcategory: "boards.txt", + ID: "PF001", + Brief: "boards.txt missing", + Description: "The `boards.txt` configuration file was not found in the platform folder", + MessageTemplate: "Required boards.txt is missing. Expected at: {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt", + DisableModes: nil, + EnableModes: []rulemode.Type{rulemode.Default}, + InfoModes: nil, + WarningModes: nil, + ErrorModes: []rulemode.Type{rulemode.Default}, + RuleFunction: rulefunction.BoardsTxtMissing, + }, + { + ProjectType: projecttype.PackageIndex, + SuperprojectType: projecttype.All, + Category: "data", + Subcategory: "general", + ID: "IS001", + Brief: "missing", + Description: "No package index file was found in the specified project path.", + MessageTemplate: "No package index was found in specified project path.", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", + DisableModes: nil, + EnableModes: []rulemode.Type{rulemode.Default}, + InfoModes: nil, + WarningModes: nil, + ErrorModes: []rulemode.Type{rulemode.Default}, + RuleFunction: rulefunction.PackageIndexMissing, + }, + } + + outputPath, err := paths.MkTempDir("", "backup-test-testall") + require.NoError(t, err) + defer outputPath.RemoveAll() + + generateRulesDocumentation(ruleConfigurations, outputPath) + + assert.True(t, outputPath.Exist()) + + for _, outputFileName := range []string{"sketch.md", "library.md", "platform.md", "package-index.md"} { + assert.True(t, outputPath.Join(outputFileName).Exist(), outputFileName) + rules, err := outputPath.Join(outputFileName).ReadFileAsLines() + require.NoError(t, err) + goldenRules, err := testDataPath.Join("golden", outputFileName).ReadFileAsLines() + assert.Equal(t, goldenRules, rules, outputFileName) + } +} diff --git a/ruledocsgen/testdata/golden/library.md b/ruledocsgen/testdata/golden/library.md new file mode 100644 index 00000000..cd989126 --- /dev/null +++ b/ruledocsgen/testdata/golden/library.md @@ -0,0 +1,49 @@ +Arduino Lint provides 2 rules for the [`library`](https://arduino.github.io/arduino-cli/latest/library-specification/) project type: + +--- + + + +## invalid library (`LS001`) + +The path does not contain a valid Arduino library. + +More information: [**here**](https://arduino.github.io/arduino-cli/latest/library-specification)
+Enabled for superproject type: all
+Category: structure
+Subcategory: general + +##### Rule levels + +| `compliance` | Level | +|---------------|-------| +| permissive | ERROR | +| specification | ERROR | +| strict | ERROR | + +--- + + + +## .exe file (`LS007`) + +A file with `.exe` file extension was found under the library folder. Presence of this file blocks addition to the Library Manager index. + + +Enabled for superproject type: library
+Category: structure
+Subcategory: miscellaneous + +##### Rule levels + +| `compliance` | `library-manager` | Level | +|---------------|-------------------|----------| +| permissive | submit | ERROR | +| permissive | update | ERROR | +| permissive | false | disabled | +| specification | submit | ERROR | +| specification | update | ERROR | +| specification | false | disabled | +| strict | submit | ERROR | +| strict | update | ERROR | +| strict | false | disabled | diff --git a/ruledocsgen/testdata/golden/package-index.md b/ruledocsgen/testdata/golden/package-index.md new file mode 100644 index 00000000..88ff9b0e --- /dev/null +++ b/ruledocsgen/testdata/golden/package-index.md @@ -0,0 +1,22 @@ +Arduino Lint provides 1 rules for the [`package-index`](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/) project type: + +--- + + + +## missing (`IS001`) + +No package index file was found in the specified project path. + +More information: [**here**](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/)
+Enabled for superproject type: all
+Category: data
+Subcategory: general + +##### Rule levels + +| `compliance` | Level | +|---------------|-------| +| permissive | ERROR | +| specification | ERROR | +| strict | ERROR | diff --git a/ruledocsgen/testdata/golden/platform.md b/ruledocsgen/testdata/golden/platform.md new file mode 100644 index 00000000..e9153037 --- /dev/null +++ b/ruledocsgen/testdata/golden/platform.md @@ -0,0 +1,22 @@ +Arduino Lint provides 1 rules for the [`platform`](https://arduino.github.io/arduino-cli/latest/platform-specification/) project type: + +--- + + + +## boards.txt missing (`PF001`) + +The `boards.txt` configuration file was not found in the platform folder + +More information: [**here**](https://arduino.github.io/arduino-cli/latest/platform-specification/#boardstxt)
+Enabled for superproject type: all
+Category: configuration files
+Subcategory: boards.txt + +##### Rule levels + +| `compliance` | Level | +|---------------|-------| +| permissive | ERROR | +| specification | ERROR | +| strict | ERROR | diff --git a/ruledocsgen/testdata/golden/sketch.md b/ruledocsgen/testdata/golden/sketch.md new file mode 100644 index 00000000..e8653fe8 --- /dev/null +++ b/ruledocsgen/testdata/golden/sketch.md @@ -0,0 +1,22 @@ +Arduino Lint provides 1 rules for the [`sketch`](https://arduino.github.io/arduino-cli/latest/sketch-specification/) project type: + +--- + + + +## name mismatch (`SS001`) + +There is no `.ino` sketch file with name matching the sketch folder. The primary sketch file name must match the folder for the sketch to be valid. + +More information: [**here**](https://arduino.github.io/arduino-cli/latest/sketch-specification/#primary-sketch-file)
+Enabled for superproject type: all
+Category: structure
+Subcategory: root folder + +##### Rule levels + +| `compliance` | Level | +|---------------|---------| +| permissive | WARNING | +| specification | ERROR | +| strict | ERROR | diff --git a/ruledocsgen/tests/__init__.py b/ruledocsgen/tests/__init__.py new file mode 100644 index 00000000..c17f72d1 --- /dev/null +++ b/ruledocsgen/tests/__init__.py @@ -0,0 +1,13 @@ +# Source: +# https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-python/__init__.py +# Copyright 2021 ARDUINO SA (http://www.arduino.cc/) +# +# This software is released under the GNU General Public License version 3, +# The terms of this license can be found at: +# https://www.gnu.org/licenses/gpl-3.0.en.html +# +# You can be released from the requirements of the above licenses by purchasing +# a commercial license. Buying such a license is mandatory if you want to +# modify or otherwise use the software for commercial activities involving the +# Arduino software without disclosing the source code of your own applications. +# To purchase a commercial license, send an email to license@arduino.cc. diff --git a/ruledocsgen/tests/pytest.ini b/ruledocsgen/tests/pytest.ini new file mode 100644 index 00000000..b8beed3f --- /dev/null +++ b/ruledocsgen/tests/pytest.ini @@ -0,0 +1,10 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-python/pytest.ini +[pytest] +filterwarnings = + error + ignore::DeprecationWarning + ignore::ResourceWarning + +# --capture=no - disable per-test capture +# --tb=long sets the length of the traceback in case of failures +addopts = --capture=no --tb=long --verbose diff --git a/ruledocsgen/tests/test_all.py b/ruledocsgen/tests/test_all.py new file mode 100644 index 00000000..160ae99d --- /dev/null +++ b/ruledocsgen/tests/test_all.py @@ -0,0 +1,94 @@ +# Source: +# https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-integration/test_all.py +# Copyright 2021 ARDUINO SA (http://www.arduino.cc/) +# +# This software is released under the GNU General Public License version 3, +# The terms of this license can be found at: +# https://www.gnu.org/licenses/gpl-3.0.en.html +# +# You can be released from the requirements of the above licenses by purchasing +# a commercial license. Buying such a license is mandatory if you want to +# modify or otherwise use the software for commercial activities involving the +# Arduino software without disclosing the source code of your own applications. +# To purchase a commercial license, send an email to license@arduino.cc. +import os +import pathlib +import platform +import shutil +import typing + +import invoke.context +import pytest + +test_data_path = pathlib.Path(__file__).resolve().parent.joinpath("testdata") + + +def test_all(run_command, working_dir): + working_dir_path = pathlib.Path(working_dir) + output_path = working_dir_path.joinpath("rules") + result = run_command(cmd=[output_path]) + assert result.ok + + assert output_path.joinpath("sketch.md").exists + assert "SS001" in output_path.joinpath("sketch.md").read_text() + assert output_path.joinpath("library.md").exists + assert "LS001" in output_path.joinpath("library.md").read_text() + assert output_path.joinpath("platform.md").exists + assert "PD001" in output_path.joinpath("platform.md").read_text() + assert output_path.joinpath("package-index.md").exists + assert "IS001" in output_path.joinpath("package-index.md").read_text() + + +@pytest.fixture(scope="function") +def run_command(pytestconfig, working_dir) -> typing.Callable[..., invoke.runners.Result]: + """Provide a wrapper around invoke's `run` API so that every test will work in the same temporary folder. + + Useful reference: + http://docs.pyinvoke.org/en/1.4/api/runners.html#invoke.runners.Result + """ + + executable_path = pathlib.Path(pytestconfig.rootdir).parent / "ruledocsgen" + + def _run( + cmd: list, + custom_working_dir: typing.Optional[str] = None, + custom_env: typing.Optional[dict] = None, + ) -> invoke.runners.Result: + if cmd is None: + cmd = [] + if not custom_working_dir: + custom_working_dir = working_dir + quoted_cmd = [] + for token in cmd: + quoted_cmd.append(f'"{token}"') + cli_full_line = '"{}" {}'.format(executable_path, " ".join(quoted_cmd)) + run_context = invoke.context.Context() + # It might happen that we need to change directories between drives on Windows, + # in that case the "/d" flag must be used otherwise directory wouldn't change + cd_command = "cd" + if platform.system() == "Windows": + cd_command += " /d" + # Context.cd() is not used since it doesn't work correctly on Windows. + # It escapes spaces in the path using "\ " but it doesn't always work, + # wrapping the path in quotation marks is the safest approach + with run_context.prefix(f'{cd_command} "{custom_working_dir}"'): + return run_context.run( + command=cli_full_line, + echo=False, + hide=True, + warn=True, + env=custom_env, + encoding="utf-8", + ) + + return _run + + +@pytest.fixture(scope="function") +def working_dir(tmpdir_factory) -> str: + """Create a temporary folder for the test to run in. It will be created before running each test and deleted at the + end. This way all the tests work in isolation. + """ + work_dir = tmpdir_factory.mktemp(basename="IntegrationTestWorkingDir") + yield os.path.realpath(work_dir) + shutil.rmtree(work_dir, ignore_errors=True) From 5fc2ed4b1ae25a33e8c08151fef8105ca48e5be4 Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 26 Aug 2021 02:40:57 -0700 Subject: [PATCH 09/12] Use different syntax style for arbitrary array elements in rule descriptions Some of the rules must refer to data paths in configuration files such as the package index. In the case of arrays, it is necessary to indicate that the reference applies to an arbitrary element. Prefiously, the `[]` syntax was used for this purpose (e.g., `packages[].tools[]`). It is now changed to using `[*]` (e.g., `packages[*].tools[*]`). --- .../ruleconfiguration/ruleconfiguration.go | 470 +++++++++--------- 1 file changed, 235 insertions(+), 235 deletions(-) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index f72679b2..fa35da58 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -3124,7 +3124,7 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA001", - Brief: "packages[] missing", + Brief: "packages property missing", Description: "The package index is missing the `packages` property.", MessageTemplate: "Missing packages property.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", @@ -3175,9 +3175,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA004", - Brief: "packages[].name missing", + Brief: "packages[*].name missing", Description: "The package index has a package without a `name` property.", - MessageTemplate: "Missing packages[].name property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].name property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3192,9 +3192,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA005", - Brief: "Incorrect packages[].name type", + Brief: "Incorrect packages[*].name type", Description: "The package index has a package with a `name` property of incorrect type. The `name` value must be a string.", - MessageTemplate: "packages[].name property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].name property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3209,9 +3209,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA006", - Brief: "packages[].name < min length", + Brief: "packages[*].name < min length", Description: "The package index has a package with a `name` property shorter than the minimum length.", - MessageTemplate: "packages[].name value less than the minimum length in package(s): {{.}}", + MessageTemplate: "packages[*].name value less than the minimum length in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3226,9 +3226,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA007", - Brief: "packages[].name is arduino", + Brief: "packages[*].name is arduino", Description: "The package index has a package with a `name` property of `arduino` (case insensitive). This name is reserved for official packages.\n\nIf the package index is maintained by Arduino, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).", - MessageTemplate: "Use of packages[].name value \"arduino\" found. This name is reserved for official packages.", + MessageTemplate: "Use of packages[*].name value \"arduino\" found. This name is reserved for official packages.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3243,9 +3243,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA008", - Brief: "packages[].maintainer missing", + Brief: "packages[*].maintainer missing", Description: "The package index has a package without a `maintainer` property.", - MessageTemplate: "Missing packages[].maintainer property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].maintainer property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3260,9 +3260,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA009", - Brief: "Incorrect packages[].maintainer type", + Brief: "Incorrect packages[*].maintainer type", Description: "The package index has a package with a `maintainer` property of incorrect type. The `maintainer` value must be a string.", - MessageTemplate: "packages[].maintainer property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].maintainer property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3277,9 +3277,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA010", - Brief: "packages[].maintainer < min length", + Brief: "packages[*].maintainer < min length", Description: "The package index has a package with a `maintainer` property shorter than the minimum length.", - MessageTemplate: "packages[].maintainer value less than the minimum length in package(s): {{.}}", + MessageTemplate: "packages[*].maintainer value less than the minimum length in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3294,9 +3294,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA011", - Brief: "packages[].maintainer starts with \"arduino\"", + Brief: "packages[*].maintainer starts with \"arduino\"", Description: "The package index has a package with a `maintainer` value starting with \"Arduino\" (case insensitive). 3rd party packages are not maintained by Arduino.\n\nIf the package index is maintained by Arduino, configure Arduino Lint in [\"official\" mode](https://arduino.github.io/arduino-lint/latest/#environment-variables).", - MessageTemplate: "packages[].maintainer value starts with \"arduino\" in package(s): {{.}}. 3rd party packages are not maintained by Arduino.", + MessageTemplate: "packages[*].maintainer value starts with \"arduino\" in package(s): {{.}}. 3rd party packages are not maintained by Arduino.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3311,9 +3311,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA012", - Brief: "packages[].websiteURL missing", + Brief: "packages[*].websiteURL missing", Description: "The package index has a package without a `websiteURL` property.", - MessageTemplate: "Missing packages[].websiteURL property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].websiteURL property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3328,9 +3328,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA013", - Brief: "Incorrect packages[].websiteURL type", + Brief: "Incorrect packages[*].websiteURL type", Description: "The package index has a package with a `websiteURL` property of incorrect type.", - MessageTemplate: "packages[].websiteURL property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].websiteURL property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3345,9 +3345,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA014", - Brief: "Invalid packages[].websiteURL format", + Brief: "Invalid packages[*].websiteURL format", Description: "The package index has a package with a `websiteURL` property that is not a valid format for a URL.", - MessageTemplate: "packages[].websiteURL property does not have a valid URL format in package(s): {{.}}", + MessageTemplate: "packages[*].websiteURL property does not have a valid URL format in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3362,9 +3362,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA015", - Brief: "dead packages[].websiteURL", + Brief: "dead packages[*].websiteURL", Description: "The package index has a package with a `websiteURL` property that did not load from the Internet.", - MessageTemplate: "Unable to load the packages[].websiteURL URL for package(s): {{.}}", + MessageTemplate: "Unable to load the packages[*].websiteURL URL for package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3379,9 +3379,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA016", - Brief: "packages[].email missing", + Brief: "packages[*].email missing", Description: "The package index has a package without an `email` property.", - MessageTemplate: "Missing packages[].email property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].email property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3396,9 +3396,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA017", - Brief: "Incorrect packages[].email type", + Brief: "Incorrect packages[*].email type", Description: "The package index has a package with an `email` property of incorrect type.", - MessageTemplate: "packages[].email property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].email property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3413,9 +3413,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA018", - Brief: "Incorrect packages[].help type", + Brief: "Incorrect packages[*].help type", Description: "The package index has a package with a `help` property of incorrect type.", - MessageTemplate: "packages[].help property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].help property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3430,9 +3430,9 @@ var configurations = []Type{ Category: "data", Subcategory: "root", ID: "IA019", - Brief: "Additional properties in packages[].help", + Brief: "Additional properties in packages[*].help", Description: "The package index has a package with `help` property containing unknown data properties.", - MessageTemplate: "Unknown properties under packages[].help found in package(s): {{.}}", + MessageTemplate: "Unknown properties under packages[*].help found in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3447,9 +3447,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA020", - Brief: "packages[].help.online missing", + Brief: "packages[*].help.online missing", Description: "The package index has a package without a `help.online` property.", - MessageTemplate: "Missing packages[].help.online property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].help.online property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3464,9 +3464,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA021", - Brief: "Incorrect packages[].help.online type", + Brief: "Incorrect packages[*].help.online type", Description: "The package index has a package with a `help.online` property of incorrect type.", - MessageTemplate: "packages[].help.online property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].help.online property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3481,9 +3481,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA022", - Brief: "Invalid packages[].help.online format", + Brief: "Invalid packages[*].help.online format", Description: "The package index has a package with a `websiteURL` property that is not a valid format for a URL.", - MessageTemplate: "packages[].help.online property does not have a valid URL format in package(s): {{.}}", + MessageTemplate: "packages[*].help.online property does not have a valid URL format in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3498,9 +3498,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IA023", - Brief: "dead packages[].help.online", + Brief: "dead packages[*].help.online", Description: "The package index has a package with a `help.online` property that did not load from the Internet.", - MessageTemplate: "Unable to load the packages[].help.online URL for package(s): {{.}}", + MessageTemplate: "Unable to load the packages[*].help.online URL for package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3515,9 +3515,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL001", - Brief: "packages[].platforms missing", + Brief: "packages[*].platforms missing", Description: "The package index has a package without a `platforms` property.", - MessageTemplate: "Missing packages[].platforms property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].platforms property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3532,9 +3532,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL002", - Brief: "incorrect packages[].platforms type", + Brief: "incorrect packages[*].platforms type", Description: "The package index has a package with a `platforms` property of incorrect type.", - MessageTemplate: "packages[].platforms property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].platforms property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3549,9 +3549,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL003", - Brief: "additional properties in packages[].platforms[]", + Brief: "additional properties in packages[*].platforms[*]", Description: "The package index has a platform containing unknown data properties.", - MessageTemplate: "Unknown properties under packages[].platforms[] found in platform(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].platforms[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3566,9 +3566,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL004", - Brief: "packages[].platforms[].name missing", + Brief: "packages[*].platforms[*].name missing", Description: "The package index has a platform without a `name` property.", - MessageTemplate: "Missing packages[].platforms[].name property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3583,9 +3583,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL005", - Brief: "incorrect packages[].platforms[].name type", + Brief: "incorrect packages[*].platforms[*].name type", Description: "The package index has a platform with a `name` property of incorrect type.", - MessageTemplate: "packages[].platforms[].name property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3600,9 +3600,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL006", - Brief: "packages[].platforms[].name < min length", + Brief: "packages[*].platforms[*].name < min length", Description: "The package index has a platform with a `name` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].name value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3617,9 +3617,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL007", - Brief: "packages[].platforms[].architecture missing", + Brief: "packages[*].platforms[*].architecture missing", Description: "The package index has a platform without an `architecture` property.", - MessageTemplate: "Missing packages[].platforms[].architecture property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].architecture property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3634,9 +3634,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL008", - Brief: "incorrect packages[].platforms[].architecture type", + Brief: "incorrect packages[*].platforms[*].architecture type", Description: "The package index has a platform with an `architecture` property of incorrect type.", - MessageTemplate: "packages[].platforms[].architecture property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].architecture property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3651,9 +3651,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL009", - Brief: "packages[].platforms[].architecture < min length", + Brief: "packages[*].platforms[*].architecture < min length", Description: "The package index has a platform with an `architecture` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].architecture value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].architecture value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3668,9 +3668,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL010", - Brief: "packages[].platforms[].version missing", + Brief: "packages[*].platforms[*].version missing", Description: "The package index has a platform without a `version` property.", - MessageTemplate: "Missing packages[].platforms[].version property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3685,9 +3685,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL011", - Brief: "incorrect packages[].platforms[].version type", + Brief: "incorrect packages[*].platforms[*].version type", Description: "The package index has a platform with a `version` property of incorrect type.", - MessageTemplate: "packages[].platforms[].version property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].version property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3702,9 +3702,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL012", - Brief: "invalid packages[].platforms[].version", + Brief: "invalid packages[*].platforms[*].version", Description: "The package index has a platform with an invalid `version` property. It must be compliant with \"relaxed semver\".", - MessageTemplate: "Invalid packages[].platforms[].version property in platform(s):\n{{.}}", + MessageTemplate: "Invalid packages[*].platforms[*].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3719,9 +3719,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL013", - Brief: "non-semver packages[].platforms[].version", + Brief: "non-semver packages[*].platforms[*].version", Description: "The package index has a platform with a `version` property that is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", - MessageTemplate: "packages[].platforms[].version property in violation of semver specification found in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].version property in violation of semver specification found in platform(s):\n{{.}}", Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3736,9 +3736,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL058", - Brief: "incorrect packages[].platforms[].deprecated type", + Brief: "incorrect packages[*].platforms[*].deprecated type", Description: "The package index has a platform with a `deprecated` property of incorrect type.", - MessageTemplate: "packages[].platforms[].deprecated property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].deprecated property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3753,9 +3753,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL014", - Brief: "packages[].platforms[].category missing", + Brief: "packages[*].platforms[*].category missing", Description: "The package index has a platform without a `category` property.", - MessageTemplate: "Missing packages[].platforms[].category property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].category property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3770,9 +3770,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL015", - Brief: "incorrect packages[].platforms[].category type", + Brief: "incorrect packages[*].platforms[*].category type", Description: "The package index has a platform with a `category` property of incorrect type.", - MessageTemplate: "packages[].platforms[].category property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].category property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3787,9 +3787,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL016", - Brief: "invalid packages[].platforms[].category", + Brief: "invalid packages[*].platforms[*].category", Description: "The `category` property of a platform in the package index has an invalid value.", - MessageTemplate: "packages[].platforms[].category property invalid in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].category property invalid in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: []rulemode.Type{rulemode.Official}, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3804,9 +3804,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL017", - Brief: "packages[].platforms[].help missing", + Brief: "packages[*].platforms[*].help missing", Description: "The package index has a platform without a `help` property.", - MessageTemplate: "Missing packages[].platforms[].help property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].help property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3821,9 +3821,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL018", - Brief: "incorrect packages[].platforms[].help type", + Brief: "incorrect packages[*].platforms[*].help type", Description: "The package index has a platform with a `help` property of incorrect type.", - MessageTemplate: "packages[].platforms[].help property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].help property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3838,9 +3838,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL019", - Brief: "additional properties in packages[].platforms[].help", + Brief: "additional properties in packages[*].platforms[*].help", Description: "The `help` property of a platform in the package index contains unknown data properties.", - MessageTemplate: "Unknown properties under packages[].platforms[].help found in platform(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].platforms[*].help found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3855,9 +3855,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL020", - Brief: "packages[].platforms[].help.online missing", + Brief: "packages[*].platforms[*].help.online missing", Description: "The package index has a platform without a `help.online` property.", - MessageTemplate: "Missing packages[].platforms[].help.online property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].help.online property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3872,9 +3872,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL021", - Brief: "incorrect packages[].platforms[].help.online type", + Brief: "incorrect packages[*].platforms[*].help.online type", Description: "The package index has a platform with a `help.online` property of incorrect type.", - MessageTemplate: "packages[].platforms[].help.online property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].help.online property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3889,9 +3889,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL022", - Brief: "invalid packages[].platforms[].help.online format", + Brief: "invalid packages[*].platforms[*].help.online format", Description: "The package index has a platform with a `help.online` property that is not a valid format for a URL.", - MessageTemplate: "packages[].platforms[].help.online property does not have a valid URL format in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].help.online property does not have a valid URL format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3906,9 +3906,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL023", - Brief: "dead packages[].platforms[].help.online", + Brief: "dead packages[*].platforms[*].help.online", Description: "The package index has a platform with a `help.online` property that did not load from the Internet.", - MessageTemplate: "Unable to load the packages[].platforms[].help.online URL for platforms(s):\n{{.}}", + MessageTemplate: "Unable to load the packages[*].platforms[*].help.online URL for platforms(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3923,9 +3923,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL024", - Brief: "packages[].platforms[].url missing", + Brief: "packages[*].platforms[*].url missing", Description: "The package index has a platform without a `url` property.", - MessageTemplate: "Missing packages[].platforms[].url property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].url property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3940,9 +3940,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL025", - Brief: "incorrect packages[].platforms[].url type", + Brief: "incorrect packages[*].platforms[*].url type", Description: "The package index has a platform with a `url` property of incorrect type.", - MessageTemplate: "packages[].platforms[].url property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].url property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3957,9 +3957,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL026", - Brief: "invalid packages[].platforms[].url format", + Brief: "invalid packages[*].platforms[*].url format", Description: "The package index has a platform with a `url` property that is not a valid format for a URL.", - MessageTemplate: "packages[].platforms[].url property does not have a valid URL format in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].url property does not have a valid URL format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3974,9 +3974,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL027", - Brief: "dead packages[].platforms[].url", + Brief: "dead packages[*].platforms[*].url", Description: "The package index has a platform with a `url` property that did not load from the Internet.", - MessageTemplate: "Unable to load the packages[].platforms[].url URL for platforms(s):\n{{.}}", + MessageTemplate: "Unable to load the packages[*].platforms[*].url URL for platforms(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -3991,9 +3991,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL028", - Brief: "packages[].platforms[].archiveFileName missing", + Brief: "packages[*].platforms[*].archiveFileName missing", Description: "The package index has a platform without an `archiveFileName` property.", - MessageTemplate: "Missing packages[].platforms[].archiveFileName property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].archiveFileName property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4008,9 +4008,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL029", - Brief: "incorrect packages[].platforms[].archiveFileName type", + Brief: "incorrect packages[*].platforms[*].archiveFileName type", Description: "The package index has a platform with an `archiveFileName` property of incorrect type.", - MessageTemplate: "packages[].platforms[].archiveFileName property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].archiveFileName property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4025,9 +4025,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL030", - Brief: "packages[].platforms[].archiveFileName < min length", + Brief: "packages[*].platforms[*].archiveFileName < min length", Description: "The package index has a platform with an `archiveFileName` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].archiveFileName value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].archiveFileName value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4042,9 +4042,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL031", - Brief: "invalid packages[].platforms[].archiveFileName", + Brief: "invalid packages[*].platforms[*].archiveFileName", Description: "The package index has a platform with an `archiveFileName` property that uses an unsupported file extension.", - MessageTemplate: "packages[].platforms[].archiveFileName filename uses unsupported file extension in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].archiveFileName filename uses unsupported file extension in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4059,9 +4059,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL032", - Brief: "packages[].platforms[].checksum missing", + Brief: "packages[*].platforms[*].checksum missing", Description: "The package index has a platform without a `checksum` property.", - MessageTemplate: "Missing packages[].platforms[].checksum property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].checksum property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4076,9 +4076,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL033", - Brief: "incorrect packages[].platforms[].checksum type", + Brief: "incorrect packages[*].platforms[*].checksum type", Description: "The package index has a platform with a `checksum` property of incorrect type.", - MessageTemplate: "packages[].platforms[].checksum property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].checksum property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4093,9 +4093,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL034", - Brief: "invalid packages[].platforms[].checksum", + Brief: "invalid packages[*].platforms[*].checksum", Description: "The `checksum` property of a platform in the package index has an invalid format.", - MessageTemplate: "packages[].platforms[].checksum has an invalid format in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].checksum has an invalid format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4110,9 +4110,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL035", - Brief: "discouraged packages[].platforms[].checksum algorithm", + Brief: "discouraged packages[*].platforms[*].checksum algorithm", Description: "The `checksum` property of a platform in the package index uses a discouraged hash algorithm.", - MessageTemplate: "packages[].platforms[].checksum uses a discouraged hash algorithm in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].checksum uses a discouraged hash algorithm in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4127,9 +4127,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL036", - Brief: "packages[].platforms[].size missing", + Brief: "packages[*].platforms[*].size missing", Description: "The package index has a platform without a `size` property.", - MessageTemplate: "Missing packages[].platforms[].size property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].size property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4144,9 +4144,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL037", - Brief: "incorrect packages[].platforms[].size type", + Brief: "incorrect packages[*].platforms[*].size type", Description: "The package index has a platform with a `size` property of incorrect type.", - MessageTemplate: "packages[].platforms[].size property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].size property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4161,9 +4161,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IL038", - Brief: "invalid packages[].platforms[].size", + Brief: "invalid packages[*].platforms[*].size", Description: "The `size` property of a platform in the package index has an invalid value.", - MessageTemplate: "packages[].platforms[].size has an invalid format in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].size has an invalid format in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4178,9 +4178,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL039", - Brief: "packages[].platforms[].boards[] missing", + Brief: "packages[*].platforms[*].boards missing", Description: "The package index has a platform without a `boards` property.", - MessageTemplate: "Missing packages[].platforms[].boards[] property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].boards property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4195,9 +4195,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL040", - Brief: "incorrect packages[].platforms[].boards type", + Brief: "incorrect packages[*].platforms[*].boards type", Description: "The package index has a platform with a `boards` property of incorrect type.", - MessageTemplate: "packages[].platforms[].boards property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].boards property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4212,9 +4212,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL041", - Brief: "additional properties in packages[].platforms[].boards[]", + Brief: "additional properties in packages[*].platforms[*].boards[*]", Description: "A `boards` object for one of the package index's platforms contains unknown data properties.", - MessageTemplate: "Unknown properties under packages[].platforms[].boards[] found in platform(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].platforms[*].boards[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4229,9 +4229,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL042", - Brief: "packages[].platforms[].boards[].name missing", + Brief: "packages[*].platforms[*].boards[*].name missing", Description: "A `boards` object for one of the package index's platforms is missing a `name` property.", - MessageTemplate: "Missing packages[].platforms[].boards[].name property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].boards[*].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4246,9 +4246,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL043", - Brief: "incorrect packages[].platforms[].boards[].name type", + Brief: "incorrect packages[*].platforms[*].boards[*].name type", Description: "A `boards` object for one of the package index's platforms has a `name` property of incorrect type.", - MessageTemplate: "packages[].platforms[].boards[].name property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].boards[*].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4263,9 +4263,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL044", - Brief: "packages[].platforms[].boards[].name < min length", + Brief: "packages[*].platforms[*].boards[*].name < min length", Description: "A `boards` object for one of the package index's platforms has a `name` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].boards[].name value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].boards[*].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4280,9 +4280,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL045", - Brief: "packages[].platforms[].toolsDependencies[] missing", + Brief: "packages[*].platforms[*].toolsDependencies missing", Description: "The package index has a platform without a `toolsDependencies` property.", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[] property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].toolsDependencies property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4297,9 +4297,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL046", - Brief: "incorrect packages[].platforms[].toolsDependencies type", + Brief: "incorrect packages[*].platforms[*].toolsDependencies type", Description: "The package index has a platform with a `toolsDependencies` property of incorrect type.", - MessageTemplate: "packages[].platforms[].toolsDependencies property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4314,9 +4314,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL047", - Brief: "additional properties in packages[].platforms[].toolsDependencies[]", + Brief: "additional properties in packages[*].platforms[*].toolsDependencies[*]", Description: "The `toolsDependencies` property of a platform in the package index contains unknown data properties.", - MessageTemplate: "Unknown properties under packages[].platforms[].toolsDependencies[] found in platform(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].platforms[*].toolsDependencies[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4331,9 +4331,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL048", - Brief: "packages[].platforms[].toolsDependencies[].packager missing", + Brief: "packages[*].platforms[*].toolsDependencies[*].packager missing", Description: "A `toolsDependencies` object for one of the package index's platforms is missing a `packager` property.", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].packager property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].toolsDependencies[*].packager property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4348,9 +4348,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL049", - Brief: "incorrect packages[].platforms[].toolsDependencies[].packager type", + Brief: "incorrect packages[*].platforms[*].toolsDependencies[*].packager type", Description: "A `toolsDependencies` object for one of the package index's platforms has a `packager` property of incorrect type.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].packager property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies[*].packager property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4365,9 +4365,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL050", - Brief: "packages[].platforms[].toolsDependencies[].packager < min length", + Brief: "packages[*].platforms[*].toolsDependencies[*].packager < min length", Description: "A `toolsDependencies` object for one of the package index's platforms has a `packager` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies[*].packager value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4382,9 +4382,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL051", - Brief: "packages[].platforms[].toolsDependencies[].name missing", + Brief: "packages[*].platforms[*].toolsDependencies[*].name missing", Description: "A `toolsDependencies` object for one of the package index's platforms is missing a `name` property.", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].name property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].toolsDependencies[*].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4399,9 +4399,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL052", - Brief: "incorrect packages[].platforms[].toolsDependencies[].name type", + Brief: "incorrect packages[*].platforms[*].toolsDependencies[*].name type", Description: "A `toolsDependencies` object for one of the package index's platforms has a `name` property of incorrect type.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].name property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies[*].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4416,9 +4416,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL053", - Brief: "packages[].platforms[].toolsDependencies[].name < min length", + Brief: "packages[*].platforms[*].toolsDependencies[*].name < min length", Description: "A `toolsDependencies` object for one of the package index's platforms has a `name` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].name value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies[*].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4433,9 +4433,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL054", - Brief: "packages[].platforms[].toolsDependencies[].version missing", + Brief: "packages[*].platforms[*].toolsDependencies[*].version missing", Description: "A `toolsDependencies` object for one of the package index's platforms is missing a `version` property.", - MessageTemplate: "Missing packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].toolsDependencies[*].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4450,9 +4450,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL055", - Brief: "incorrect packages[].platforms[].toolsDependencies[].version type", + Brief: "incorrect packages[*].platforms[*].toolsDependencies[*].version type", Description: "A `toolsDependencies` object for one of the package index's platforms has a `version` property of incorrect type.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].version property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies[*].version property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4467,9 +4467,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL056", - Brief: "invalid packages[].platforms[].toolsDependencies[].version", + Brief: "invalid packages[*].platforms[*].toolsDependencies[*].version", Description: "A `toolsDependencies` object for one of the package index's platforms has an invalid `version` property. It must be compliant with \"relaxed semver\".", - MessageTemplate: "Invalid packages[].platforms[].toolsDependencies[].version property in platform(s):\n{{.}}", + MessageTemplate: "Invalid packages[*].platforms[*].toolsDependencies[*].version property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4484,9 +4484,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL057", - Brief: "non-semver packages[].platforms[].toolsDependencies[].version", + Brief: "non-semver packages[*].platforms[*].toolsDependencies[*].version", Description: "A `toolsDependencies` object for one of the package index's platforms has a `version` property that is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", - MessageTemplate: "packages[].platforms[].toolsDependencies[].version property in violation of semver specification found in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].toolsDependencies[*].version property in violation of semver specification found in platform(s):\n{{.}}", Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4501,9 +4501,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL059", - Brief: "incorrect packages[].platforms[].discoveryDependencies type", + Brief: "incorrect packages[*].platforms[*].discoveryDependencies type", Description: "The package index has a platform with a `discoveryDependencies` property of incorrect type.", - MessageTemplate: "packages[].platforms[].discoveryDependencies property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].discoveryDependencies property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4518,9 +4518,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL060", - Brief: "additional properties in packages[].platforms[].discoveryDependencies[]", + Brief: "additional properties in packages[*].platforms[*].discoveryDependencies[*]", Description: "A `discoveryDependencies` object for one of the package index's platforms contains unknown data properties.", - MessageTemplate: "Unknown properties under packages[].platforms[].discoveryDependencies[] found in platform(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].platforms[*].discoveryDependencies[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4535,9 +4535,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL061", - Brief: "packages[].platforms[].discoveryDependencies[].packager missing", + Brief: "packages[*].platforms[*].discoveryDependencies[*].packager missing", Description: "A `discoveryDependencies` object for one of the package index's platforms is missing a `packager` property.", - MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].packager property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].discoveryDependencies[*].packager property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4552,9 +4552,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL062", - Brief: "incorrect packages[].platforms[].discoveryDependencies[].packager type", + Brief: "incorrect packages[*].platforms[*].discoveryDependencies[*].packager type", Description: "A `discoveryDependencies` object for one of the package index's platforms has a `packager` property of incorrect type.", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].discoveryDependencies[*].packager property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4569,9 +4569,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL063", - Brief: "packages[].platforms[].discoveryDependencies[].packager < min length", + Brief: "packages[*].platforms[*].discoveryDependencies[*].packager < min length", Description: "A `discoveryDependencies` object for one of the package index's platforms has a `packager` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].packager value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].discoveryDependencies[*].packager value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4586,9 +4586,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL064", - Brief: "packages[].platforms[].discoveryDependencies[].name missing", + Brief: "packages[*].platforms[*].discoveryDependencies[*].name missing", Description: "A `discoveryDependencies` object for one of the package index's platforms is missing a `name` property.", - MessageTemplate: "Missing packages[].platforms[].discoveryDependencies[].name property in platform(s):\n{{.}}", + MessageTemplate: "Missing packages[*].platforms[*].discoveryDependencies[*].name property in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4603,9 +4603,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL065", - Brief: "incorrect packages[].platforms[].discoveryDependencies[].name type", + Brief: "incorrect packages[*].platforms[*].discoveryDependencies[*].name type", Description: "A `discoveryDependencies` object for one of the package index's platforms has a `name` property of incorrect type.", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].name property has incorrect type in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].discoveryDependencies[*].name property has incorrect type in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4620,9 +4620,9 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL066", - Brief: "packages[].platforms[].discoveryDependencies[].name < min length", + Brief: "packages[*].platforms[*].discoveryDependencies[*].name < min length", Description: "A `discoveryDependencies` object for one of the package index's platforms has a `name` property shorter than the minimum length.", - MessageTemplate: "packages[].platforms[].discoveryDependencies[].name value less than the minimum length in platform(s):\n{{.}}", + MessageTemplate: "packages[*].platforms[*].discoveryDependencies[*].name value less than the minimum length in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4637,9 +4637,9 @@ var configurations = []Type{ Category: "data", Subcategory: "package", ID: "IT001", - Brief: "packages[].tools[] missing", + Brief: "packages[*].tools missing", Description: "The package index has a package without a `tools` property.", - MessageTemplate: "Missing packages[].tools property in package(s): {{.}}", + MessageTemplate: "Missing packages[*].tools property in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4654,9 +4654,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT002", - Brief: "incorrect packages[].tools type", + Brief: "incorrect packages[*].tools type", Description: "The package index has a package with a `tools` property of incorrect type.", - MessageTemplate: "packages[].tools property has incorrect type in package(s): {{.}}", + MessageTemplate: "packages[*].tools property has incorrect type in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4671,9 +4671,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT003", - Brief: "additional properties in packages[].tools[]", + Brief: "additional properties in packages[*].tools[*]", Description: "The package index has a tool containing unknown data properties.", - MessageTemplate: "Unknown properties under packages[].tools[] found in tool(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].tools[*] found in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4688,9 +4688,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT004", - Brief: "packages[].tools[].name missing", + Brief: "packages[*].tools[*].name missing", Description: "The package index has a tool without a `name` property.", - MessageTemplate: "Missing packages[].tools[].name property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].name property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4705,9 +4705,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT005", - Brief: "incorrect packages[].tools[].name type", + Brief: "incorrect packages[*].tools[*].name type", Description: "The package index has a tool with a `name` property of incorrect type.", - MessageTemplate: "packages[].tools[].name property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].name property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4722,9 +4722,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT006", - Brief: "packages[].tools[].name < min length", + Brief: "packages[*].tools[*].name < min length", Description: "The package index has a tool with a `name` property shorter than the minimum length.", - MessageTemplate: "packages[].tools[].name value less than the minimum length in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].name value less than the minimum length in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4739,9 +4739,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT007", - Brief: "packages[].tools[].version missing", + Brief: "packages[*].tools[*].version missing", Description: "The package index has a tool without a `version` property.", - MessageTemplate: "Missing packages[].tools[].version property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].version property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4756,9 +4756,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT008", - Brief: "incorrect packages[].tools[].version type", + Brief: "incorrect packages[*].tools[*].version type", Description: "The package index has a tool with a `version` property of incorrect type.", - MessageTemplate: "packages[].tools[].version property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].version property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4773,9 +4773,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT009", - Brief: "invalid packages[].tools[].version", + Brief: "invalid packages[*].tools[*].version", Description: "The package index has a tool with an invalid `version` property. It must be compliant with \"relaxed semver\".", - MessageTemplate: "Invalid packages[].tools[].version property in tool(s):\n{{.}}", + MessageTemplate: "Invalid packages[*].tools[*].version property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4790,9 +4790,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT010", - Brief: "non-semver packages[].tools[].version", + Brief: "non-semver packages[*].tools[*].version", Description: "The package index has a tool with a `version` property that is not compliant with the \"semver\" specification. Although not required, use of the standard semver version format is recommended.", - MessageTemplate: "packages[].tools[].version property in violation of semver specification found in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].version property in violation of semver specification found in tool(s):\n{{.}}", Reference: "https://semver.org/", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4807,9 +4807,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT011", - Brief: "packages[].tools[].systems[] missing", + Brief: "packages[*].tools[*].systems missing", Description: "The package index has a tool without a `systems` property.", - MessageTemplate: "Missing packages[].tools[].systems[] property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].systems property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4824,9 +4824,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT012", - Brief: "incorrect packages[].tools[].systems type", + Brief: "incorrect packages[*].tools[*].systems type", Description: "The package index has a tool with a `systems` property of incorrect type.", - MessageTemplate: "packages[].tools[].systems property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4841,9 +4841,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT013", - Brief: "additional properties in packages[].tools[].systems[]", + Brief: "additional properties in packages[*].tools[*].systems[*]", Description: "A `systems` object for one of the package index's tools contains unknown data properties.", - MessageTemplate: "Unknown properties under packages[].tools[].systems[] found in tool(s):\n{{.}}", + MessageTemplate: "Unknown properties under packages[*].tools[*].systems[*] found in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4858,9 +4858,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT014", - Brief: "packages[].tools[].systems[].host missing", + Brief: "packages[*].tools[*].systems[*].host missing", Description: "A `systems` object for one of the package index's tools is missing a `host` property.", - MessageTemplate: "Missing packages[].tools[].systems[].host property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].systems[*].host property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4875,9 +4875,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT015", - Brief: "incorrect packages[].tools[].systems[].host type", + Brief: "incorrect packages[*].tools[*].systems[*].host type", Description: "A `systems` object for one of the package index's tools has a `host` property of incorrect type.", - MessageTemplate: "packages[].tools[].systems[].host property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].host property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4892,9 +4892,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT0016", - Brief: "invalid packages[].tools[].systems[].host", + Brief: "invalid packages[*].tools[*].systems[*].host", Description: "A `systems` object for one of the package index's tools has an invalid `host` property.", - MessageTemplate: "packages[].tools[].systems[].host has an invalid format in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].host has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4909,9 +4909,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT017", - Brief: "packages[].tools[].systems[].url missing", + Brief: "packages[*].tools[*].systems[*].url missing", Description: "A `systems` object for one of the package index's tools is missing a `url` property.", - MessageTemplate: "Missing packages[].tools[].systems[].url property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].systems[*].url property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4926,9 +4926,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT018", - Brief: "incorrect packages[].tools[].systems[].url type", + Brief: "incorrect packages[*].tools[*].systems[*].url type", Description: "A `systems` object for one of the package index's tools has a `url` property of incorrect type.", - MessageTemplate: "packages[].tools[].systems[].url property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].url property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4943,9 +4943,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT019", - Brief: "invalid packages[].tools[].systems[].url format", + Brief: "invalid packages[*].tools[*].systems[*].url format", Description: "A `systems` object for one of the package index's tools has a `url` property that is not a valid format for a URL.", - MessageTemplate: "packages[].tools[].systems[].url property does not have a valid URL format in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].url property does not have a valid URL format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4960,9 +4960,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT020", - Brief: "dead packages[].tools[].systems[].url", + Brief: "dead packages[*].tools[*].systems[*].url", Description: "A `systems` object for one of the package index's tools has a `url` property that did not load from the Internet.", - MessageTemplate: "Unable to load the packages[].tools[].systems[].url URL for tools(s):\n{{.}}", + MessageTemplate: "Unable to load the packages[*].tools[*].systems[*].url URL for tools(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4977,9 +4977,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT021", - Brief: "packages[].tools[].systems[].archiveFileName missing", + Brief: "packages[*].tools[*].systems[*].archiveFileName missing", Description: "A `systems` object for one of the package index's tools is missing an `archiveFileName` property.", - MessageTemplate: "Missing packages[].tools[].systems[].archiveFileName property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].systems[*].archiveFileName property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -4994,9 +4994,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT022", - Brief: "incorrect packages[].tools[].systems[].archiveFileName type", + Brief: "incorrect packages[*].tools[*].systems[*].archiveFileName type", Description: "A `systems` object for one of the package index's tools has an `archiveFileName` property of incorrect type.", - MessageTemplate: "packages[].tools[].systems[].archiveFileName property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].archiveFileName property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5011,9 +5011,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT023", - Brief: "packages[].tools[].systems[].archiveFileName < min length", + Brief: "packages[*].tools[*].systems[*].archiveFileName < min length", Description: "A `systems` object for one of the package index's tools has an `archiveFileName` property shorter than the minimum length.", - MessageTemplate: "packages[].tools[].systems[].archiveFileName value less than the minimum length in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].archiveFileName value less than the minimum length in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5028,9 +5028,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT0024", - Brief: "invalid packages[].tools[].systems[].archiveFileName", + Brief: "invalid packages[*].tools[*].systems[*].archiveFileName", Description: "A `systems` object for one of the package index's tools has an invalid `archiveFileName` value.", - MessageTemplate: "packages[].tools[].systems[].archiveFileName has an invalid format in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].archiveFileName has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5045,9 +5045,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT025 ", - Brief: "packages[].tools[].systems[].checksum missing", + Brief: "packages[*].tools[*].systems[*].checksum missing", Description: "A `systems` object for one of the package index's tools is missing a `checksum` property.", - MessageTemplate: "Missing packages[].tools[].systems[].checksum property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].systems[*].checksum property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5062,9 +5062,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT026", - Brief: "incorrect packages[].tools[].systems[].checksum type", + Brief: "incorrect packages[*].tools[*].systems[*].checksum type", Description: "A `systems` object for one of the package index's tools has a `checksum` property of incorrect type.", - MessageTemplate: "packages[].tools[].systems[].checksum property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].checksum property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5079,9 +5079,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT027", - Brief: "invalid packages[].tools[].systems[].checksum", + Brief: "invalid packages[*].tools[*].systems[*].checksum", Description: "A `systems` object for one of the package index's tools has a `checksum` property with an invalid format.", - MessageTemplate: "packages[].tools[].systems[].checksum has an invalid format in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].checksum has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5096,9 +5096,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT028", - Brief: "discouraged packages[].tools[].systems[].checksum algorithm", + Brief: "discouraged packages[*].tools[*].systems[*].checksum algorithm", Description: "A `systems` object for one of the package index's tools has a `checksum` property using a discouraged hash algorithm.", - MessageTemplate: "packages[].tools[].systems[].checksum uses a discouraged hash algorithm in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].checksum uses a discouraged hash algorithm in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5113,9 +5113,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT029", - Brief: "packages[].tools[].systems[].size missing", + Brief: "packages[*].tools[*].systems[*].size missing", Description: "A `systems` object for one of the package index's tools is missing a `size` property.", - MessageTemplate: "Missing packages[].tools[].systems[].size property in tool(s):\n{{.}}", + MessageTemplate: "Missing packages[*].tools[*].systems[*].size property in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5130,9 +5130,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT030", - Brief: "incorrect packages[].tools[].systems[].size type", + Brief: "incorrect packages[*].tools[*].systems[*].size type", Description: "A `systems` object for one of the package index's tools has a `size` property of incorrect type.", - MessageTemplate: "packages[].tools[].systems[].size property has incorrect type in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].size property has incorrect type in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, @@ -5147,9 +5147,9 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT031", - Brief: "invalid packages[].tools[].systems[].size", + Brief: "invalid packages[*].tools[*].systems[*].size", Description: "A `systems` object for one of the package index's tools has an invalid `size` property.", - MessageTemplate: "packages[].tools[].systems[].size has an invalid format in tool(s):\n{{.}}", + MessageTemplate: "packages[*].tools[*].systems[*].size has an invalid format in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, From f62a372afffd82dc31ce1e8bf8bd9f06aa6b51a1 Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 26 Aug 2021 00:49:54 -0700 Subject: [PATCH 10/12] Escape Markdown markup in rule reference Brief text The primary purpose of text of the rule configuration's `Description` field is for display in the rule reference section of the documentation website. For this reason, it is written in Markdown, and thus can be output as is. The situation is different with the rule configuration's `Brief` field, since it is displayed prominently in the tool output. For this reason, the use of Markdown would not be appropriate. This text may contain incidental markup characters that would result in unwanted formatting and thus the `Brief` field text must be escaped for display on the website. --- ruledocsgen/go.mod | 1 + ruledocsgen/go.sum | 8 ++++++++ ruledocsgen/main.go | 11 +++++++++-- ruledocsgen/main_test.go | 14 +++++++------- ruledocsgen/testdata/golden/package-index.md | 10 +++++----- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/ruledocsgen/go.mod b/ruledocsgen/go.mod index 137da5a6..6934bf1e 100644 --- a/ruledocsgen/go.mod +++ b/ruledocsgen/go.mod @@ -5,6 +5,7 @@ go 1.16 replace github.com/arduino/arduino-lint => ../ require ( + github.com/JohannesKaufmann/html-to-markdown v1.3.0 github.com/arduino/arduino-lint v0.0.0 github.com/arduino/go-paths-helper v1.6.1 github.com/olekukonko/tablewriter v0.0.5 diff --git a/ruledocsgen/go.sum b/ruledocsgen/go.sum index 1615fd69..15a644c8 100644 --- a/ruledocsgen/go.sum +++ b/ruledocsgen/go.sum @@ -46,6 +46,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v4.0.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0= +github.com/JohannesKaufmann/html-to-markdown v1.3.0 h1:K/p4cq8Ib13hcSVcKQNfKCSWw93CYW5pAjY0fl85has= +github.com/JohannesKaufmann/html-to-markdown v1.3.0/go.mod h1:JNSClIRYICFDiFhw6RBhBeWGnMSSKVZ6sPQA+TK4tyM= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= @@ -58,6 +60,7 @@ github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8 github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= @@ -72,6 +75,7 @@ github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBb github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= @@ -1079,6 +1083,7 @@ github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtm github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c h1:jwWrlqKHQeSRjTskQaHBtCOWbaMsd54NBAnofYbEHGs= github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210219220335-367fa274be2c/go.mod h1:/THDZYi7F/BsVEcYzYPqdcWFQ+1C2InkawTKfLOAnzg= +github.com/sebdah/goldie/v2 v2.5.1/go.mod h1:oZ9fp0+se1eapSRjfYbsV/0Hqhbuu3bJVvKI/NNtssI= github.com/segmentio/analytics-go v3.0.1+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= github.com/segmentio/analytics-go v3.1.0+incompatible/go.mod h1:C7CYBtQWk4vRk2RyLu0qOcbHJ18E3F1HV2C/8JvKN48= github.com/segmentio/backo-go v0.0.0-20160424052352-204274ad699c/go.mod h1:kJ9mm9YmoWSkk+oQ+5Cj8DEoRCX2JT6As4kEtIIOp1M= @@ -1221,6 +1226,7 @@ github.com/xtgo/uuid v0.0.0-20140804021211-a0b114877d4c/go.mod h1:UrdRz5enIKZ63M github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.0/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= @@ -1364,6 +1370,7 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180816102801-aaf60122140d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1405,6 +1412,7 @@ golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200320220750-118fecf932d8/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= diff --git a/ruledocsgen/main.go b/ruledocsgen/main.go index 399fa0b5..a3c9538e 100644 --- a/ruledocsgen/main.go +++ b/ruledocsgen/main.go @@ -6,6 +6,7 @@ import ( "os" "text/template" + "github.com/JohannesKaufmann/html-to-markdown/escape" "github.com/arduino/arduino-lint/internal/cli" "github.com/arduino/arduino-lint/internal/configuration" "github.com/arduino/arduino-lint/internal/configuration/rulemode" @@ -37,15 +38,21 @@ func generateRulesDocumentation(ruleConfigurations []ruleconfiguration.Type, out projecttype.PackageIndex: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", } + templateFunctions := template.FuncMap{ + // Some the rule config text is intended for use in both tool output and in the reference, so can't be formatted at + // the source as Markdown. Incidental markup characters in that text must be escaped. + "escape": escape.MarkdownCharacters, + } + projectRulesIntroTemplate := template.Must(template.New("messageTemplate").Parse( "Arduino Lint provides {{.RuleCount}} rules for the [`{{.ProjectType}}`]({{.ProjectTypeReference}}) project type:\n", )) - ruleDocumentationTemplate := template.Must(template.New("messageTemplate").Parse(` + ruleDocumentationTemplate := template.Must(template.New("messageTemplate").Funcs(templateFunctions).Parse(` --- -## {{.Brief}} (` + "`" + `{{.ID}}` + "`" + `) +## {{escape .Brief}} (` + "`" + `{{.ID}}` + "`" + `) {{.Description}} diff --git a/ruledocsgen/main_test.go b/ruledocsgen/main_test.go index 89f3787a..934da92b 100644 --- a/ruledocsgen/main_test.go +++ b/ruledocsgen/main_test.go @@ -111,18 +111,18 @@ func TestAll(t *testing.T) { ProjectType: projecttype.PackageIndex, SuperprojectType: projecttype.All, Category: "data", - Subcategory: "general", - ID: "IS001", - Brief: "missing", - Description: "No package index file was found in the specified project path.", - MessageTemplate: "No package index was found in specified project path.", - Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", + Subcategory: "package", + ID: "IA004", + Brief: "packages[*].name missing", + Description: "The package index has a package without a `name` property.", + MessageTemplate: "Missing packages[*].name property in package(s): {{.}}", + Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", DisableModes: nil, EnableModes: []rulemode.Type{rulemode.Default}, InfoModes: nil, WarningModes: nil, ErrorModes: []rulemode.Type{rulemode.Default}, - RuleFunction: rulefunction.PackageIndexMissing, + RuleFunction: rulefunction.PackageIndexPackagesNameMissing, }, } diff --git a/ruledocsgen/testdata/golden/package-index.md b/ruledocsgen/testdata/golden/package-index.md index 88ff9b0e..022bde52 100644 --- a/ruledocsgen/testdata/golden/package-index.md +++ b/ruledocsgen/testdata/golden/package-index.md @@ -2,16 +2,16 @@ Arduino Lint provides 1 rules for the [`package-index`](https://arduino.github.i --- - + -## missing (`IS001`) +## packages[\*].name missing (`IA004`) -No package index file was found in the specified project path. +The package index has a package without a `name` property. -More information: [**here**](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/)
+More information: [**here**](https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents)
Enabled for superproject type: all
Category: data
-Subcategory: general +Subcategory: package ##### Rule levels From fbda05ebf198ec5d6649609f52f95f77725b57ee Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 26 Aug 2021 03:05:22 -0700 Subject: [PATCH 11/12] Refer to the platform "extra_flags" properties in a less confusing manner There is a convention of configuring Arduino boards platforms to provide a user interface for configuring the build process through the addition of references and fallback empty definitions of a series of properties that follow the format of `compiler..extra_flags`, where "" corresponds to the compilation pattern that references them: - `c` - `cpp` - `S` - `ar` - `c.elf` Previously, `x` was used as a placeholder for the component of the property name that varies in order to allow a single rule to refer to the entire set. "" is a little bit more clear than "x". --- internal/rule/ruleconfiguration/ruleconfiguration.go | 4 ++-- internal/rule/rulefunction/platform.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index fa35da58..dae6bed4 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -1696,8 +1696,8 @@ var configurations = []Type{ Category: "configuration files", Subcategory: "boards.txt", ID: "PF009", - Brief: "use of compiler.x.extra_flags", - MessageTemplate: "Board ID(s) {{.}} use compiler.x.extra_flags properties. These are intended to be left for use by the user.", + Brief: "use of compiler..extra_flags", + MessageTemplate: "Board ID(s) {{.}} use compiler..extra_flags properties. These are intended to be left for use by the user.", Description: "A board definition in the platform's `boards.txt` configuration file is using one of the `compiler..extra_flags` properties (e.g., `compiler.cpp.extra_flags`). These are intended to be left for use by the user as a standardized interface for customizing the compilation commands. The platform author can define as many arbitrary properties as they like, so there is no need for them to take the user's properties.", Reference: "", DisableModes: nil, diff --git a/internal/rule/rulefunction/platform.go b/internal/rule/rulefunction/platform.go index 0803d1a3..63aec64f 100644 --- a/internal/rule/rulefunction/platform.go +++ b/internal/rule/rulefunction/platform.go @@ -169,7 +169,7 @@ func BoardsTxtBoardIDBuildCoreLTMinLength() (result ruleresult.Type, output stri return ruleresult.Pass, "" } -// BoardsTxtUserExtraFlagsUsage checks if the user's compiler.x.extra_flags properties are used in boards.txt. +// BoardsTxtUserExtraFlagsUsage checks if the user's compiler..extra_flags properties are used in boards.txt. func BoardsTxtUserExtraFlagsUsage() (result ruleresult.Type, output string) { if projectdata.BoardsTxtLoadError() != nil { return ruleresult.NotRun, "Couldn't load boards.txt" From ff3b56ae71ba98c39c44ccf3bd1f1dffdc2f0618 Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 26 Aug 2021 03:10:54 -0700 Subject: [PATCH 12/12] Use a different term when referring to additional data properties in rule messages Feedback was provided that the previous "additional" term was not very clear. "Unrecognized" was determined to be better. --- .../ruleconfiguration/ruleconfiguration.go | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/rule/ruleconfiguration/ruleconfiguration.go b/internal/rule/ruleconfiguration/ruleconfiguration.go index dae6bed4..bed0553c 100644 --- a/internal/rule/ruleconfiguration/ruleconfiguration.go +++ b/internal/rule/ruleconfiguration/ruleconfiguration.go @@ -3107,7 +3107,7 @@ var configurations = []Type{ Category: "data", Subcategory: "root", ID: "ID003", - Brief: "Additional properties in root", + Brief: "unrecognized properties in root", Description: "Unknown data properties were found in the package index root.", MessageTemplate: "Unknown properties found in package index root.", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/", @@ -3158,7 +3158,7 @@ var configurations = []Type{ Category: "data", Subcategory: "root", ID: "IA003", - Brief: "Additional properties in packages", + Brief: "unrecognized properties in packages", Description: "The package index has a package containing unknown data properties.", MessageTemplate: "Unknown properties found in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", @@ -3430,7 +3430,7 @@ var configurations = []Type{ Category: "data", Subcategory: "root", ID: "IA019", - Brief: "Additional properties in packages[*].help", + Brief: "unrecognized properties in packages[*].help", Description: "The package index has a package with `help` property containing unknown data properties.", MessageTemplate: "Unknown properties under packages[*].help found in package(s): {{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#json-index-file-contents", @@ -3549,7 +3549,7 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL003", - Brief: "additional properties in packages[*].platforms[*]", + Brief: "unrecognized properties in packages[*].platforms[*]", Description: "The package index has a platform containing unknown data properties.", MessageTemplate: "Unknown properties under packages[*].platforms[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", @@ -3838,7 +3838,7 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL019", - Brief: "additional properties in packages[*].platforms[*].help", + Brief: "unrecognized properties in packages[*].platforms[*].help", Description: "The `help` property of a platform in the package index contains unknown data properties.", MessageTemplate: "Unknown properties under packages[*].platforms[*].help found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", @@ -4212,7 +4212,7 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL041", - Brief: "additional properties in packages[*].platforms[*].boards[*]", + Brief: "unrecognized properties in packages[*].platforms[*].boards[*]", Description: "A `boards` object for one of the package index's platforms contains unknown data properties.", MessageTemplate: "Unknown properties under packages[*].platforms[*].boards[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", @@ -4314,7 +4314,7 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL047", - Brief: "additional properties in packages[*].platforms[*].toolsDependencies[*]", + Brief: "unrecognized properties in packages[*].platforms[*].toolsDependencies[*]", Description: "The `toolsDependencies` property of a platform in the package index contains unknown data properties.", MessageTemplate: "Unknown properties under packages[*].platforms[*].toolsDependencies[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", @@ -4518,7 +4518,7 @@ var configurations = []Type{ Category: "data", Subcategory: "platform", ID: "IL060", - Brief: "additional properties in packages[*].platforms[*].discoveryDependencies[*]", + Brief: "unrecognized properties in packages[*].platforms[*].discoveryDependencies[*]", Description: "A `discoveryDependencies` object for one of the package index's platforms contains unknown data properties.", MessageTemplate: "Unknown properties under packages[*].platforms[*].discoveryDependencies[*] found in platform(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#platforms-definitions", @@ -4671,7 +4671,7 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT003", - Brief: "additional properties in packages[*].tools[*]", + Brief: "unrecognized properties in packages[*].tools[*]", Description: "The package index has a tool containing unknown data properties.", MessageTemplate: "Unknown properties under packages[*].tools[*] found in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions", @@ -4841,7 +4841,7 @@ var configurations = []Type{ Category: "data", Subcategory: "tool", ID: "IT013", - Brief: "additional properties in packages[*].tools[*].systems[*]", + Brief: "unrecognized properties in packages[*].tools[*].systems[*]", Description: "A `systems` object for one of the package index's tools contains unknown data properties.", MessageTemplate: "Unknown properties under packages[*].tools[*].systems[*] found in tool(s):\n{{.}}", Reference: "https://arduino.github.io/arduino-cli/latest/package_index_json-specification/#tools-definitions",