From 94ee04aeb7748e11f965185c41ea4492eceb5845 Mon Sep 17 00:00:00 2001 From: Joshua Powers Date: Mon, 18 Mar 2024 15:06:28 -0600 Subject: [PATCH] chore(readme_linter): Update plugin type guess logic (#15010) --- tools/readme_linter/plugin.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/readme_linter/plugin.go b/tools/readme_linter/plugin.go index 641268092..a96d2bbcf 100644 --- a/tools/readme_linter/plugin.go +++ b/tools/readme_linter/plugin.go @@ -1,7 +1,7 @@ package main import ( - "strings" + "path/filepath" ) type plugin int @@ -16,16 +16,19 @@ const ( ) func guessPluginType(filename string) plugin { - switch { - case strings.Contains(filename, "plugins/inputs/"): + // Switch takes `plugins/inputs/amd_rocm_smi/README.md` and converts it to + // `plugins/inputs`. This avoids parsing READMEs that are under a plugin + // like those found in test folders as actual plugin readmes. + switch filepath.Dir(filepath.Dir(filename)) { + case "plugins/inputs": return pluginInput - case strings.Contains(filename, "plugins/outputs/"): + case "plugins/outputs": return pluginOutput - case strings.Contains(filename, "plugins/processors/"): + case "plugins/processors": return pluginProcessor - case strings.Contains(filename, "plugins/aggregators/"): + case "plugins/aggregators": return pluginAggregator - case strings.Contains(filename, "plugins/parsers/"): + case "plugins/parsers": return pluginParser default: return pluginNone