From 27c09ebe68797485e336990996a06002677e143a Mon Sep 17 00:00:00 2001 From: itchyny Date: Fri, 19 Jan 2018 15:44:03 +0900 Subject: [PATCH 1/2] ignore archives on installing plugins --- plugin/install.go | 3 ++- plugin/install_test.go | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugin/install.go b/plugin/install.go index f7492f9b..f19b6893 100644 --- a/plugin/install.go +++ b/plugin/install.go @@ -197,7 +197,8 @@ func installByArtifact(artifactFile, bindir, workdir string, overwrite bool) err } func looksLikePlugin(name string) bool { - return strings.HasPrefix(name, "check-") || strings.HasPrefix(name, "mackerel-plugin-") + return (strings.HasPrefix(name, "check-") || strings.HasPrefix(name, "mackerel-plugin-")) && + (!strings.HasSuffix(name, ".zip") && !strings.HasSuffix(name, ".tar.gz")) } func placePlugin(src, dest string, overwrite bool) error { diff --git a/plugin/install_test.go b/plugin/install_test.go index 251c48bc..405e78c9 100644 --- a/plugin/install_test.go +++ b/plugin/install_test.go @@ -289,6 +289,8 @@ func TestLooksLikePlugin(t *testing.T) { {"hoge-mackerel-plugin-sample", false}, {"hoge-check-sample", false}, {"wrong-sample", false}, + {"mackerel-plugin-sample.zip", false}, + {"check-sample.tar.gz", false}, } for _, tc := range testCases { From 46292bf6de92a874c160514c9c709a684b046c52 Mon Sep 17 00:00:00 2001 From: itchyny Date: Fri, 19 Jan 2018 15:57:21 +0900 Subject: [PATCH 2/2] fix looksLikePlugin in plugin subcommand: recognize .tgz as an archive --- plugin/install.go | 6 ++++-- plugin/install_test.go | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugin/install.go b/plugin/install.go index f19b6893..69224509 100644 --- a/plugin/install.go +++ b/plugin/install.go @@ -197,8 +197,10 @@ func installByArtifact(artifactFile, bindir, workdir string, overwrite bool) err } func looksLikePlugin(name string) bool { - return (strings.HasPrefix(name, "check-") || strings.HasPrefix(name, "mackerel-plugin-")) && - (!strings.HasSuffix(name, ".zip") && !strings.HasSuffix(name, ".tar.gz")) + if strings.HasSuffix(name, ".zip") || strings.HasSuffix(name, ".tar.gz") || strings.HasSuffix(name, ".tgz") { + return false + } + return strings.HasPrefix(name, "check-") || strings.HasPrefix(name, "mackerel-plugin-") } func placePlugin(src, dest string, overwrite bool) error { diff --git a/plugin/install_test.go b/plugin/install_test.go index 405e78c9..c1468aa7 100644 --- a/plugin/install_test.go +++ b/plugin/install_test.go @@ -290,6 +290,7 @@ func TestLooksLikePlugin(t *testing.T) { {"hoge-check-sample", false}, {"wrong-sample", false}, {"mackerel-plugin-sample.zip", false}, + {"mackerel-plugin-sample.tgz", false}, {"check-sample.tar.gz", false}, }