Skip to content

Consolidate combined releases into the original plugin for 2.4.0 - #9

Merged
perNyfelt merged 2 commits into
mainfrom
feature/single-plugin-combined-release
Oct 11, 2026
Merged

perNyfelt merged 2 commits into
mainfrom
feature/single-plugin-combined-release

Conversation

@perNyfelt

Copy link
Copy Markdown
Member

Combined-only roots currently need a second plugin ID to avoid registering single-publication release tasks. Consolidate that workflow into se.alipsa.nexus-release-plugin through nexusReleasePlugin { combinedRelease { } }, with shared path, credential and endpoint conventions. The root-only nexusReleasePlugin.rootSinglePublicationTasks=false property preserves unqualified subproject bundle/release selectors and custom root tasks; existing single-publication behavior remains the default.

Shared properties are created before task registration, so eager convention rules work. The registrar is constructor-supplied and private, and combined task providers are read-only. Remove the separate plugin declaration/marker and ReleaseAllSupportPlugin class, document Groovy/Kotlin migration and unchanged timeout behavior, and set the development version to 2.4.0-SNAPSHOT.

Validation:

  • Full build with -PrequireShellHarness=true, including charset and shell checks.
  • Gradle 8.13 / 9.8.1 × JDK 17 / 21: 56 selected tests passed per cell, no skips. CI now includes the combined DSL, integration and root-selector fixtures.
  • Strict configuration-cache reuse for combined tasks and subproject release selectors; changing the root opt-out invalidates the cache. Status-only resume schedules only releaseAll.
  • JAR and publication inspection confirms one plugin descriptor, the original implementation coordinates and marker, and no retired class.
  • publishPlugins --validate-only -Pversion=2.4.0 passed without upload. The version override is required because the Portal rejects SNAPSHOT validation.

See req/verification/v2.4.0-single-plugin.md for the commands and results. Matrix's external build and guide need the documented consumer migration separately; no external repository or real Portal deployment was changed.

@perNyfelt
perNyfelt merged commit e2e5a6d into main Oct 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant