Unverified Commit 8c5a8b28 authored by Cristian Maglie's avatar Cristian Maglie Committed by GitHub

Fixed wrong IDE bundle-detection result caching (#606)

parent f6901230
......@@ -142,13 +142,13 @@ func IsBundledInDesktopIDE() bool {
executable, err := os.Executable()
if err != nil {
feedback.Errorf("Cannot get executable path: %v", err)
return viper.GetBool("IDE.Bundled")
return false
}
executablePath, err := filepath.EvalSymlinks(executable)
if err != nil {
feedback.Errorf("Cannot get executable path: %v", err)
return viper.GetBool("IDE.Bundled")
return false
}
ideDir := filepath.Dir(executablePath)
......@@ -163,17 +163,20 @@ func IsBundledInDesktopIDE() bool {
for _, test := range tests {
if _, err := os.Stat(filepath.Join(ideDir, test)); err != nil {
// the test folder doesn't exist or is not accessible
return viper.GetBool("IDE.Bundled")
return false
}
}
// the CLI is bundled in the Arduino IDE
// Persist IDE-related config settings
viper.Set("IDE.Bundled", true)
viper.Set("IDE.Directory", ideDir)
// Check whether this is a portable install
if _, err := os.Stat(filepath.Join(ideDir, "portable")); err != nil {
viper.Set("IDE.Portable", true)
}
// Persist IDE-related config settings and return true
viper.Set("IDE.Bundled", false)
viper.Set("IDE.Directory", ideDir)
return true
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment