From 1b932eb0b09de5f53c33b0e21746b35796cb60ea Mon Sep 17 00:00:00 2001
From: Bensong Liu <bensl@microsoft.com>
Date: Tue, 2 Mar 2021 16:16:21 +0800
Subject: [PATCH] bug fix: allow auto-pick correct lib version for target
 NetVer. Successfully building first CoreXT project!

---
 csproj.go         |  2 +-
 go.mod            |  8 ++++++++
 go.sum            | 18 ++++++++++++++++++
 main.go           |  2 +-
 packageManager.go |  2 +-
 5 files changed, 29 insertions(+), 3 deletions(-)
 create mode 100644 go.mod
 create mode 100644 go.sum

diff --git a/csproj.go b/csproj.go
index f76bc72..5f42804 100644
--- a/csproj.go
+++ b/csproj.go
@@ -119,7 +119,7 @@ func GenerateCorextEnvvar(localRepoPath, buildOutputPath string, deps []dependen
 
 	for _, dep := range deps {
 		if dep.envName != "" {
-			pkgPath, err := GetPackagePathFromName(localRepoPath, dep.pkgName)
+			pkgPath, err := GetPackagePathFromName(localRepoPath, dep.pkgName, dep.targetNetVer)
 			logErrorIfAny(err, "GetPackagePathFromName: ")
 			result[dep.envName] = pkgPath
 		}
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..870d304
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,8 @@
+module openxt
+
+go 1.16
+
+require (
+	github.com/antchfx/xmlquery v1.3.5
+	github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..6bee661
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,18 @@
+github.com/antchfx/xmlquery v1.3.5 h1:I7TuBRqsnfFuL11ruavGm911Awx9IqSdiU6W/ztSmVw=
+github.com/antchfx/xmlquery v1.3.5/go.mod h1:64w0Xesg2sTaawIdNqMB+7qaW/bSqkQm+ssPaCMWNnc=
+github.com/antchfx/xpath v1.1.10 h1:cJ0pOvEdN/WvYXxvRrzQH9x5QWKpzHacYO8qzCcDYAg=
+github.com/antchfx/xpath v1.1.10/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2 h1:YocNLcTBdEdvY3iDK6jfWXvEaM5OCKkjxPKoJRdB3Gg=
+github.com/mcuadros/go-version v0.0.0-20190830083331-035f6764e8d2/go.mod h1:76rfSfYPWj01Z85hUf/ituArm797mNKcvINh1OlsZKo=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc h1:zK/HqS5bZxDptfPJNq8v7vJfXtkU7r9TLIoSr1bXaP4=
+golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
diff --git a/main.go b/main.go
index 8eeeb46..78e2515 100644
--- a/main.go
+++ b/main.go
@@ -10,7 +10,7 @@ import (
 // Some options here. Would be improved in beta release.
 const DEDUCT_PKGNAME_FROM_VARNAME = true
 const USE_PROJECT_NETVER_INSTEAD_OF_HINTPATH_NETVER = false
-const OPENXT_VERSION = "0.1.2a"
+const OPENXT_VERSION = "0.1.3a"
 
 func main() {
 	log.Println("OpenXT version " + OPENXT_VERSION)
diff --git a/packageManager.go b/packageManager.go
index 07d1615..ba54eaa 100644
--- a/packageManager.go
+++ b/packageManager.go
@@ -64,7 +64,7 @@ func GetPackagePathFromName(localRepoPath, pkgName, targetNetVer string) (pkgPat
 
 	maxVersion := ""
 	for _, f := range files {
-		if f.IsDir() && pathIsDir(f.Name() + string(os.PathSeparator) + "lib" + string(os.PathSeparator) + targetNetVer) {
+		if f.IsDir() && pathIsDir(guessBase + string(os.PathSeparator) + f.Name() + string(os.PathSeparator) + "lib" + string(os.PathSeparator) + targetNetVer) {
 			if version.CompareSimple(f.Name(), maxVersion) >= 0 {
 				maxVersion = f.Name()
 			}
-- 
GitLab