From 02c0c2692ff792112c4498dab4cb22db464efad3 Mon Sep 17 00:00:00 2001 From: jregan Date: Sun, 10 Nov 2019 10:42:54 -0800 Subject: [PATCH] Make repo more relocatable on developer's workstation. --- api/internal/plugins/compiler/compiler.go | 24 +++++++++++++++++-- .../plugins/compiler/compiler_test.go | 2 +- api/testutils/kusttest/plugintestenv.go | 2 +- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/api/internal/plugins/compiler/compiler.go b/api/internal/plugins/compiler/compiler.go index 81a740ce8..3b54d338c 100644 --- a/api/internal/plugins/compiler/compiler.go +++ b/api/internal/plugins/compiler/compiler.go @@ -30,11 +30,31 @@ type Compiler struct { objRoot string } -// DefaultSrcRoot guesses where the user +// DeterminePluginSrcRoot guesses where the user // has her ${g}/${v}/$lower(${k})/${k}.go files. -func DefaultSrcRoot(fSys filesys.FileSystem) (string, error) { +func DeterminePluginSrcRoot(fSys filesys.FileSystem) (string, error) { return konfig.FirstDirThatExistsElseError( "source directory", fSys, []konfig.NotedFunc{ + { + Note: "relative to unit test", + F: func() string { + return filepath.Clean( + filepath.Join( + os.Getenv("PWD"), + "..", "..", "..", "..", + konfig.RelPluginHome)) + }, + }, + { + Note: "relative to api package", + F: func() string { + return filepath.Clean( + filepath.Join( + os.Getenv("PWD"), + "..", "..", "..", + konfig.RelPluginHome)) + }, + }, { Note: "old style $GOPATH", F: func() string { diff --git a/api/internal/plugins/compiler/compiler_test.go b/api/internal/plugins/compiler/compiler_test.go index 3cd3a91ba..28eee0ede 100644 --- a/api/internal/plugins/compiler/compiler_test.go +++ b/api/internal/plugins/compiler/compiler_test.go @@ -19,7 +19,7 @@ func TestCompiler(t *testing.T) { if err != nil { t.Errorf("failed to make temp dir: %v", err) } - srcRoot, err := DefaultSrcRoot(filesys.MakeFsOnDisk()) + srcRoot, err := DeterminePluginSrcRoot(filesys.MakeFsOnDisk()) if err != nil { t.Error(err) } diff --git a/api/testutils/kusttest/plugintestenv.go b/api/testutils/kusttest/plugintestenv.go index 1fcd6bcba..d7d2d8434 100644 --- a/api/testutils/kusttest/plugintestenv.go +++ b/api/testutils/kusttest/plugintestenv.go @@ -76,7 +76,7 @@ func (x *PluginTestEnv) makeCompiler() *compiler.Compiler { if err != nil { x.t.Error(err) } - srcRoot, err := compiler.DefaultSrcRoot(filesys.MakeFsOnDisk()) + srcRoot, err := compiler.DeterminePluginSrcRoot(filesys.MakeFsOnDisk()) if err != nil { x.t.Error(err) }