From cedce5f9fb5fc868148e3f9ebb3759193389e550 Mon Sep 17 00:00:00 2001 From: "notzippy@gmail.com" Date: Tue, 12 Apr 2022 15:48:53 -0700 Subject: [PATCH] Removed duplicate package requests --- .vscode/tasks.json | 2 +- harness/build.go | 21 ++++++++++++++++++--- version.go | 4 ++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index c1b7d3e..5b7e0a2 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,7 +6,7 @@ { "label": "Clean-Test-Project", "type": "shell", - "command": "rm -rf ${workspaceRoot}/.temp/revel/testproject" + "command": "rm -rf ${workspaceRoot}/.temp/revel/reveltest" }, { "label": "Update Go Mod", diff --git a/harness/build.go b/harness/build.go index 2d9f564..0e2580f 100644 --- a/harness/build.go +++ b/harness/build.go @@ -224,10 +224,25 @@ func Build(c *model.CommandConfig, paths *model.RevelContainer) (_ *App, err err utils.Logger.Info("Build failed no missing imports", "message", stOutput) return nil, newCompileError(paths, output) } - utils.Logger.Warn("Detected missing packages, importing them", "packages", len(matches)) + // Reduce the matches down to unique ones + missedPkgs := []string{} for _, match := range matches { + found := false + for _, pkgName := range missedPkgs { + if match[1] == pkgName { + found = true + break + } + } + if !found { + missedPkgs = append(missedPkgs, match[1]) + } + } + + utils.Logger.Warn("Detected missing packages, importing them", "packages", len(matches)) + for _, pkgName := range missedPkgs { // Ensure we haven't already tried to go get it. - pkgName := match[1] + utils.Logger.Info("Trying to import ", "package", pkgName) if _, alreadyTried := gotten[pkgName]; alreadyTried { utils.Logger.Error("Failed to import ", "package", pkgName) @@ -235,7 +250,7 @@ func Build(c *model.CommandConfig, paths *model.RevelContainer) (_ *App, err err } gotten[pkgName] = struct{}{} if err := c.PackageResolver(pkgName); err != nil { - panic("failed to resolve") + // panic("failed to resolve") utils.Logger.Error("Unable to resolve package", "package", pkgName, "error", err) return nil, newCompileError(paths, []byte(err.Error())) } diff --git a/version.go b/version.go index 88f38d5..1939489 100644 --- a/version.go +++ b/version.go @@ -6,10 +6,10 @@ package cmd const ( // Version current Revel version - Version = "1.1.0" + Version = "1.1.2" // BuildDate latest commit/release date - BuildDate = "2022-04-11" + BuildDate = "2022-04-12" // MinimumGoVersion minimum required Go version for Revel MinimumGoVersion = ">= go1.17"