From f2b957218dc90e97ce25c6d503f1969dd0114504 Mon Sep 17 00:00:00 2001 From: Robert-André Mauchin Date: Mar 22 2019 14:27:52 +0000 Subject: Initialize load.Mod* variables in ListPackage... and return nil in CollectPackageInfos if the module does not exist Fix #7. Signed-off-by: Robert-André Mauchin --- diff --git a/pkg/util/util.go b/pkg/util/util.go index d22111c..2559da2 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -183,6 +183,9 @@ func (p *PackageInfoCollector) CollectPackageInfos(packagePath string) error { if strings.Contains(err.Error(), "no Go files in") { return nil } + if strings.Contains(err.Error(), "cannot find module providing package") { + return nil + } // TODO(jchaloup): remove later if strings.Contains(err.Error(), "build constraints exclude all Go files in") { return nil @@ -417,6 +420,13 @@ func ListPackage(path string) (*load.PackagePublic, error) { // TODO(jchaloup): more things need to be init most likely work.BuildInit() load.ModInit = modload.Init + load.ModImportPaths = modload.ImportPaths + load.ModBinDir = modload.BinDir + load.ModLookup = modload.Lookup + load.ModDirImportPath = modload.DirImportPath + load.ModPackageModuleInfo = modload.PackageModuleInfo + load.ModPackageBuildInfo = modload.PackageBuildInfo + load.ModImportFromFiles = modload.ImportFromFiles d := load.PackagesAndErrors([]string{path}) if d == nil { return nil, fmt.Errorf("No package listing found for %v", path)