Compare commits
2 commits
353cc9efc7
...
f8e3266029
Author | SHA1 | Date | |
---|---|---|---|
f8e3266029 | |||
3b412a0a6b |
3 changed files with 33 additions and 10 deletions
|
@ -5,7 +5,7 @@
|
|||
## Install go tools
|
||||
install-go-tools:
|
||||
@echo Installing go tools
|
||||
$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.61.0
|
||||
$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8
|
||||
$(GO) install gotest.tools/gotestsum@v1.7.0
|
||||
|
||||
## Runs eslint and golangci-lint
|
||||
|
|
36
pluginctl.go
36
pluginctl.go
|
@ -108,7 +108,7 @@ func SavePluginCtlConfig(manifest *model.Manifest, config *PluginCtlConfig) {
|
|||
manifest.Props["pluginctl"] = config
|
||||
}
|
||||
|
||||
// ValidateAndUpdateVersion checks the plugin version and updates it if necessary.
|
||||
// ValidateAndUpdateVersion checks the plugin version for compatibility.
|
||||
func ValidateAndUpdateVersion(pluginPath string) error {
|
||||
// Load the manifest
|
||||
manifest, err := LoadPluginManifestFromPath(pluginPath)
|
||||
|
@ -135,15 +135,33 @@ func ValidateAndUpdateVersion(pluginPath string) error {
|
|||
config.Version, currentVersion)
|
||||
}
|
||||
|
||||
// Update version if different
|
||||
if config.Version != currentVersion {
|
||||
config.Version = currentVersion
|
||||
SavePluginCtlConfig(manifest, config)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Save the updated manifest
|
||||
if err := WritePluginManifest(manifest, pluginPath); err != nil {
|
||||
return fmt.Errorf("failed to update version in manifest: %w", err)
|
||||
}
|
||||
// UpdatePluginCtlVersion updates the pluginctl version in the manifest.
|
||||
func UpdatePluginCtlVersion(pluginPath string) error {
|
||||
// Load the manifest
|
||||
manifest, err := LoadPluginManifestFromPath(pluginPath)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to load plugin manifest: %w", err)
|
||||
}
|
||||
|
||||
// Get current pluginctl version
|
||||
currentVersion := GetVersion()
|
||||
|
||||
// Parse existing pluginctl config
|
||||
config, err := ParsePluginCtlConfig(manifest)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to parse pluginctl config: %w", err)
|
||||
}
|
||||
|
||||
// Update version
|
||||
config.Version = currentVersion
|
||||
SavePluginCtlConfig(manifest, config)
|
||||
|
||||
// Save the updated manifest
|
||||
if err := WritePluginManifest(manifest, pluginPath); err != nil {
|
||||
return fmt.Errorf("failed to update version in manifest: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -87,6 +87,11 @@ Examples:
|
|||
|
||||
Logger.Info("Assets updated successfully!", "files_updated", updatedCount)
|
||||
|
||||
// Store the current pluginctl version in the manifest after successful update
|
||||
if err := UpdatePluginCtlVersion(pluginPath); err != nil {
|
||||
return fmt.Errorf("failed to save version to manifest: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue