fix(plugin install): copy executable by renaming instead of create file #123
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements
Fix #121
Discussion
During refactoring on commit change plugin build mechanism the new
flogo
executable is created instead of renamed.Linux system not allows to update a running executable resulting in error
text file busy
.The PR insert a
SwapFile
function to allow replacement of running executable (Thanks to @fenollp and his gist)Code references
Old renaming implementation on commits before change plugin build mechanism :
cli/commands/plugin.go
Line 267 in 22cf3e3
Actual implementation on master:
Executable copy:
cli/commands/pluginhelper.go
Line 108 in 5c3e1e3
copyFile function
cli/util/file.go
Lines 131 to 143 in 5c3e1e3