Compare commits

...

2 commits

Author SHA1 Message Date
f8e3266029
chore: updated golangci-lint 2025-08-01 16:22:48 +02:00
3b412a0a6b
Refactor version tracking to separate validation and update logic
- Split ValidateAndUpdateVersion into validation-only function
- Add dedicated UpdatePluginCtlVersion function for version updates
- Update updateassets command to use new version update function
- Improve separation of concerns and code maintainability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-31 12:14:45 +02:00
3 changed files with 33 additions and 10 deletions

View file

@ -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

View file

@ -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

View file

@ -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
}