diff --git a/README.md b/README.md index 96f6dbe0c932d36b41b3a6cd1f22a7ed647770ab..b66c209751e7c90d4fc51122e288d7dace4ee86d 100644 --- a/README.md +++ b/README.md @@ -85,3 +85,5 @@ dotnet build 2. deps de-duplicate +3. Parallelize `openxt sync` with multiple fake environment. + diff --git a/main.go b/main.go index 2366d305b97698afc3a3cf95eeb85ef3473bb571..c253038b5bae54b73438fc96b4e91f655362a4b5 100644 --- a/main.go +++ b/main.go @@ -3,13 +3,17 @@ package main import ( "flag" "fmt" + "log" "os" ) -// Some options here +// Some options here. Would be improved in beta release. const DeductPkgNameFromVarName = true +const OPENXT_VERSION = "0.1.2a" func main() { + log.Println("OpenXT version " + OPENXT_VERSION) + nugetConfigPath := "/home/recolic/tmp/test.nuget.config" // warning: not supported yet projectDir := flag.String("project-dir", "", "Path to the CoreXT/OpenXT project. ") localRepoDir := flag.String("local-repo-dir", "", "Path to local nuget repo. (known as CxCache in CoreXT)") diff --git a/packageManager.go b/packageManager.go index b7ebc2086f42578f273a825e3a6d5ee3e608403a..e509a8abae4ac9f80b60baa39ab28d65abc6aa16 100644 --- a/packageManager.go +++ b/packageManager.go @@ -45,7 +45,10 @@ func SyncPackages(nugetConfigPath, localRepoPath string, allDeps []dependencyIte targetNetVer = "net472" // Default dotnet version } if DeductPkgNameFromVarName { - pkgName = varNameToPkgName(dep.envName) // PkgCis_SdkV2 requires this to work. + guessedName := guessPkgNameFromVarName(dep.envName) // PkgCis_SdkV2 requires this to work. + if guessedName != "" { + pkgName = guessedName + } } log.Println("DEBUG: Downloading pkg: " + pkgName + ":" + targetNetVer + " as var " + dep.envName) diff --git a/util.go b/util.go index 2b5ae850e647c423ea36d07d836d5560078c0103..b8642334686b808be0b7da49bf00cce859eb935e 100644 --- a/util.go +++ b/util.go @@ -55,9 +55,11 @@ func assertStringNotEmpty(s, msg string) { } } -func varNameToPkgName(varName string) string { - if varName[:3] != "Pkg" { - return "InvalidVarName_" + varName +// PkgCis_SdkV2 => Cis.SdkV2 +// On error, returns empty string. +func guessPkgNameFromVarName(varName string) string { + if len(varName) <= 3 || varName[:3] != "Pkg" { + return "" } return strings.ReplaceAll(varName[3:], "_", ".") }