Skip to content

[#325] Fix Maven Central release: pin Maven 3.9.16, bump central-publishing to 0.11.0 - #324

Merged
vharseko merged 1 commit into
OpenIdentityPlatform:masterfrom
vharseko:release-pin-maven-3.9
Oct 11, 2026
Merged

vharseko merged 1 commit into
OpenIdentityPlatform:masterfrom
vharseko:release-pin-maven-3.9

Conversation

@vharseko

@vharseko vharseko commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Refs #325 (workaround only, the issue stays open)

Problem

The Release Maven run 38121296549 for 3.2.1 built and tested all modules, then failed in central-publishing-maven-plugin:0.8.0:publish. Maven Central rejected the deployment:

Deployment 06c4acea-ee1b-4ad3-bcba-f16d17430877 failed
 - Bundle has content that does NOT have a .pom file: org/openidentityplatform/commons/json-ref/core, ...

All 103 artifact directories and org/openidentityplatform/commons were listed.

Root cause

The 3.2.0 release (36534373230) staged exactly the same file list with the same plugin and JDK. The only change is the runner image: ubuntu-24.04 20261004 replaced the system Maven 3.9.x with 3.10.0.

Under Maven 3.10, the plugin's staging directory also gets local-repository files, and they end up in central-bundle.zip:

  • maven-metadata-local.xml in every artifact directory
  • _remote.repositories (+ .md5/.sha*) in every version directory

Central then sees an artifact directory with content but no .pom.

I reproduced this locally with version 3.2.1, deploy -pl i18n-framework/core -am, and the upload blocked:

Maven Plugin Bundle files Extra files
3.9.16 0.8.0 42 none
3.10.0 0.8.0 66 yes
3.10.0 0.11.0 66 yes
3.9.16 0.11.0 42 none

Changes

  • release.yml: before the release, install Maven 3.9.16 from archive.apache.org with a pinned sha512 and put it first on PATH. release:perform runs its nested build with the same Maven.
  • pom.xml: bump central-publishing-maven-plugin from 0.8.0 to 0.11.0. On its own, 0.11.0 does not fix the Maven 3.10 issue.

Not verified: deploy.yml (snapshot publishing) still uses the runner's Maven 3.10. Snapshots do not go through the bundle.

…to 0.11.0

Maven 3.10 on the runner leaves maven-metadata-local.xml and
_remote.repositories files in the central-publishing staging
directory. They end up in central-bundle.zip, and Maven Central
rejects the 3.2.1 deployment with "Bundle has content that does NOT
have a .pom file". Install Maven 3.9.16 (sha512-verified) before the
release so the bundle stays clean.

Also bump central-publishing-maven-plugin from 0.8.0 to 0.11.0.
0.11.0 alone does not fix the Maven 3.10 issue.
@vharseko vharseko added dependencies Pull requests that update a dependency file ci Build, CI/CD, JDK matrix and workflow changes labels Oct 11, 2026
@vharseko
vharseko requested a review from maximthomas October 11, 2026 10:08
@vharseko
vharseko merged commit dcd5fc4 into OpenIdentityPlatform:master Oct 11, 2026
14 checks passed
@vharseko
vharseko deleted the release-pin-maven-3.9 branch October 11, 2026 12:16
@vharseko vharseko changed the title Fix Maven Central release: pin Maven 3.9.16, bump central-publishing to 0.11.0 [#325] Fix Maven Central release: pin Maven 3.9.16, bump central-publishing to 0.11.0 Oct 11, 2026
vharseko added a commit to OpenIdentityPlatform/OpenAM that referenced this pull request Oct 11, 2026
…to 0.11.0 (#1165)

Refs OpenIdentityPlatform/commons#325 (workaround only, the issue stays
open)

## Problem

Since the `ubuntu-24.04` runner image 20261004 replaced the system Maven
3.9.x with 3.10.0, releases to Maven Central fail in validation:

```
Bundle has content that does NOT have a .pom file: <every artifact directory>
```

Under Maven 3.10, `central-publishing-maven-plugin` leaves
local-repository files in its staging directory, and they end up in
`central-bundle.zip`:

- `maven-metadata-local.xml` in every artifact directory
- `_remote.repositories` (+ checksums) in every version directory

This first hit OpenIdentityPlatform/commons in release run
[38121296549](https://github.com/OpenIdentityPlatform/commons/actions/runs/38121296549).
The commons issue has the local reproduction and the upstream links.
Plugin 0.8.0 and 0.11.0 behave the same.

## Changes

Same workaround as OpenIdentityPlatform/commons#324:

- `release.yml`: before the release, install Maven 3.9.16 from
`archive.apache.org` with a pinned sha512 and put it first on `PATH`.
`release:perform` runs its nested build with the same Maven.
- `pom.xml`: bump `central-publishing-maven-plugin` from 0.8.0 to
0.11.0. On its own, 0.11.0 does not fix the Maven 3.10 issue.
vharseko added a commit to OpenIdentityPlatform/OpenDJ that referenced this pull request Oct 11, 2026
…to 0.11.0 (#1187)

Refs OpenIdentityPlatform/commons#325 (workaround only, the issue stays
open)

## Problem

Since the `ubuntu-24.04` runner image 20261004 replaced the system Maven
3.9.x with 3.10.0, releases to Maven Central fail in validation:

```
Bundle has content that does NOT have a .pom file: <every artifact directory>
```

Under Maven 3.10, `central-publishing-maven-plugin` leaves
local-repository files in its staging directory, and they end up in
`central-bundle.zip`:

- `maven-metadata-local.xml` in every artifact directory
- `_remote.repositories` (+ checksums) in every version directory

This first hit OpenIdentityPlatform/commons in release run
[38121296549](https://github.com/OpenIdentityPlatform/commons/actions/runs/38121296549).
The commons issue has the local reproduction and the upstream links.
Plugin 0.8.0 and 0.11.0 behave the same.

## Changes

Same workaround as OpenIdentityPlatform/commons#324:

- `release.yml`: before the release, install Maven 3.9.16 from
`archive.apache.org` with a pinned sha512 and put it first on `PATH`.
`release:perform` runs its nested build with the same Maven.
- `pom.xml`: bump `central-publishing-maven-plugin` from 0.8.0 to
0.11.0. On its own, 0.11.0 does not fix the Maven 3.10 issue.
vharseko added a commit to OpenIdentityPlatform/OpenICF that referenced this pull request Oct 11, 2026
…to 0.11.0 (#179)

Refs OpenIdentityPlatform/commons#325 (workaround only, the issue stays
open)

## Problem

Since the `ubuntu-24.04` runner image 20261004 replaced the system Maven
3.9.x with 3.10.0, releases to Maven Central fail in validation:

```
Bundle has content that does NOT have a .pom file: <every artifact directory>
```

Under Maven 3.10, `central-publishing-maven-plugin` leaves
local-repository files in its staging directory, and they end up in
`central-bundle.zip`:

- `maven-metadata-local.xml` in every artifact directory
- `_remote.repositories` (+ checksums) in every version directory

This first hit OpenIdentityPlatform/commons in release run
[38121296549](https://github.com/OpenIdentityPlatform/commons/actions/runs/38121296549).
The commons issue has the local reproduction and the upstream links.
Plugin 0.8.0 and 0.11.0 behave the same.

## Changes

Same workaround as OpenIdentityPlatform/commons#324:

- `release.yml`: before the release, install Maven 3.9.16 from
`archive.apache.org` with a pinned sha512 and put it first on `PATH`.
`release:perform` runs its nested build with the same Maven.
- `pom.xml`: bump `central-publishing-maven-plugin` from 0.8.0 to
0.11.0. On its own, 0.11.0 does not fix the Maven 3.10 issue.
vharseko added a commit to OpenIdentityPlatform/OpenIG that referenced this pull request Oct 11, 2026
…to 0.11.0 (#185)

Refs OpenIdentityPlatform/commons#325 (workaround only, the issue stays
open)

## Problem

Since the `ubuntu-24.04` runner image 20261004 replaced the system Maven
3.9.x with 3.10.0, releases to Maven Central fail in validation:

```
Bundle has content that does NOT have a .pom file: <every artifact directory>
```

Under Maven 3.10, `central-publishing-maven-plugin` leaves
local-repository files in its staging directory, and they end up in
`central-bundle.zip`:

- `maven-metadata-local.xml` in every artifact directory
- `_remote.repositories` (+ checksums) in every version directory

This first hit OpenIdentityPlatform/commons in release run
[38121296549](https://github.com/OpenIdentityPlatform/commons/actions/runs/38121296549).
The commons issue has the local reproduction and the upstream links.
Plugin 0.8.0 and 0.11.0 behave the same.

## Changes

Same workaround as OpenIdentityPlatform/commons#324:

- `release.yml`: before the release, install Maven 3.9.16 from
`archive.apache.org` with a pinned sha512 and put it first on `PATH`.
`release:perform` runs its nested build with the same Maven.
- `pom.xml`: bump `central-publishing-maven-plugin` from 0.8.0 to
0.11.0. On its own, 0.11.0 does not fix the Maven 3.10 issue.
vharseko added a commit to OpenIdentityPlatform/OpenIDM that referenced this pull request Oct 12, 2026
…to 0.11.0 (#254)

Refs OpenIdentityPlatform/commons#325 (workaround only, the issue stays
open)

## Problem

Since the `ubuntu-24.04` runner image 20261004 replaced the system Maven
3.9.x with 3.10.0, releases to Maven Central fail in validation:

```
Bundle has content that does NOT have a .pom file: <every artifact directory>
```

Under Maven 3.10, `central-publishing-maven-plugin` leaves
local-repository files in its staging directory, and they end up in
`central-bundle.zip`:

- `maven-metadata-local.xml` in every artifact directory
- `_remote.repositories` (+ checksums) in every version directory

This first hit OpenIdentityPlatform/commons in release run
[38121296549](https://github.com/OpenIdentityPlatform/commons/actions/runs/38121296549).
The commons issue has the local reproduction and the upstream links.
Plugin 0.8.0 and 0.11.0 behave the same.

## Changes

Same workaround as OpenIdentityPlatform/commons#324:

- `release.yml`: before the release, install Maven 3.9.16 from
`archive.apache.org` with a pinned sha512 and put it first on `PATH`.
`release:perform` runs its nested build with the same Maven.
- `pom.xml`: bump `central-publishing-maven-plugin` from 0.8.0 to
0.11.0. On its own, 0.11.0 does not fix the Maven 3.10 issue.
vharseko added a commit that referenced this pull request Nov 6, 2026
Fixes #325

Upgrade `org.sonatype.central:central-publishing-maven-plugin` from
0.11.0 to 0.12.0, the latest release published to Maven Central. Version
0.12.0 removes the Maven 3.10 local-repository metadata, tracking files,
and locks before bundling, fixing Central's “Bundle has content that
does NOT have a .pom file” rejection. Remove the Maven 3.9.16
installation step introduced by #324 so releases use the runner's Maven
again.

The fix is documented in the [official 0.12.0 release
notes](https://central.sonatype.org/publish/publish-portal-maven/#0120-13-oct-2026)
and [upstream PR
#3](sonatype-nexus-community/central-publishing-maven-plugin#3).

Validation on Maven 3.10.0 / JDK 11:
- Reproduced the issue with 0.11.0: the parent POM bundle contains six
unwanted repository files. With 0.12.0, it contains only the POM and its
four checksums.
- Built and tested the four-module `i18n-framework/core` reactor through
`deploy`, including sources and Javadoc: 45 tests passed; the bundle
contains 50 files and no repository metadata, tracking files, or locks.
Used a release-version copy and `-DskipUpload=true`; nothing was
uploaded to Central.
- Checked workflow YAML, POM XML, and `git diff --check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Build, CI/CD, JDK matrix and workflow changes dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant