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
|
||||||
install-go-tools:
|
install-go-tools:
|
||||||
@echo Installing 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
|
$(GO) install gotest.tools/gotestsum@v1.7.0
|
||||||
|
|
||||||
## Runs eslint and golangci-lint
|
## 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
|
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 {
|
func ValidateAndUpdateVersion(pluginPath string) error {
|
||||||
// Load the manifest
|
// Load the manifest
|
||||||
manifest, err := LoadPluginManifestFromPath(pluginPath)
|
manifest, err := LoadPluginManifestFromPath(pluginPath)
|
||||||
|
@ -135,15 +135,33 @@ func ValidateAndUpdateVersion(pluginPath string) error {
|
||||||
config.Version, currentVersion)
|
config.Version, currentVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update version if different
|
return nil
|
||||||
if config.Version != currentVersion {
|
}
|
||||||
config.Version = currentVersion
|
|
||||||
SavePluginCtlConfig(manifest, config)
|
|
||||||
|
|
||||||
// Save the updated manifest
|
// UpdatePluginCtlVersion updates the pluginctl version in the manifest.
|
||||||
if err := WritePluginManifest(manifest, pluginPath); err != nil {
|
func UpdatePluginCtlVersion(pluginPath string) error {
|
||||||
return fmt.Errorf("failed to update version in manifest: %w", err)
|
// 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
|
return nil
|
||||||
|
|
|
@ -87,6 +87,11 @@ Examples:
|
||||||
|
|
||||||
Logger.Info("Assets updated successfully!", "files_updated", updatedCount)
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue