From ec995882cbeac46ebe5e21609f786c9025afd75e Mon Sep 17 00:00:00 2001 From: prafull01 Date: Tue, 20 Oct 2020 09:00:19 +0530 Subject: [PATCH] :bug Add validation for the main.go file present in root directory --- pkg/plugin/v3/api.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/plugin/v3/api.go b/pkg/plugin/v3/api.go index e80e73921ee..879992443be 100644 --- a/pkg/plugin/v3/api.go +++ b/pkg/plugin/v3/api.go @@ -43,6 +43,9 @@ import ( // TODO: remove this when a better solution for using addons is implemented. const KbDeclarativePatternVersion = "v0.0.0-20200522144838-848d48e5b073" +// DefaultMainPath is default file path of main.go +const DefaultMainPath = "main.go" + type createAPIPlugin struct { config *config.Config @@ -141,6 +144,11 @@ func (p *createAPIPlugin) Validate() error { return fmt.Errorf("can not have group and domain both empty") } + // check if main.go is present in the root directory + if _, err := os.Stat(DefaultMainPath); os.IsNotExist(err) { + return fmt.Errorf("%s file should present in the root directory", DefaultMainPath) + } + // TODO: re-evaluate whether y/n input still makes sense. We should probably always // scaffold the resource and controller. reader := bufio.NewReader(os.Stdin)