Add use-latest-plugin-releases goal for automated plugin version updates#1300
Add use-latest-plugin-releases goal for automated plugin version updates#1300
Conversation
|
Please do not merge anything until my PR #1284 is merged in. Otherwise I will need to do another costly conflict resolution. I'm also abstracting out a thin version of VersionsHelper which is a single responsibility thin wrapper over Resolver. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Co-authored-by: slachiewicz <6705942+slachiewicz@users.noreply.github.com>
66f4754 to
322124d
Compare
|
@copilot create unit and integration tests for UseLatestPluginReleasesMojo |
Co-authored-by: slachiewicz <6705942+slachiewicz@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Co-authored-by: slachiewicz <6705942+slachiewicz@users.noreply.github.com>
Refactored to use a generic base class pattern in commit 8198446. Created
The refactored Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Implementation
Created a generic
UsePluginVersionsMojoBasebase class (following the pattern ofUseLatestVersionsMojoBasefor dependency updates) that enables:use-next-plugin-releases)Added
UseLatestPluginReleasesMojothat extends the base class and:<build><plugins>and<build><pluginManagement><plugins>sectionsallowMajorUpdates,allowMinorUpdates,allowIncrementalUpdatesparameters${compiler.version})PomHelper.setPluginVersion,ArtifactVersions.getNewerVersions,createMavenPluginArtifact)Architecture
The generic base class
UsePluginVersionsMojoBaseprovides:processPluginsandprocessPluginManagementparametersTesting
Unit Tests (5 tests)
processPlugins,processPluginManagement, andallowMajorUpdatesparametersIntegration Tests (3 tests)
it-use-latest-plugin-releases-001: Tests basic plugin update functionalityit-use-latest-plugin-releases-002: Tests version constraints withallowMajorUpdates=falseit-use-latest-plugin-releases-003: TestsprocessPlugins=falseparameterUsage
Example
Before:
After running goal:
Addresses enhancement request from issue #8.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.