Skip to content

enable build with Maven 4 - #1091

Merged
ascheman merged 2 commits into
maven-plugin-tools-3.xfrom
maven4-enabled
Aug 10, 2026
Merged

enable build with Maven 4#1091
ascheman merged 2 commits into
maven-plugin-tools-3.xfrom
maven4-enabled

Conversation

@hboutemy

Copy link
Copy Markdown
Member

build with Maven 4 in CI, to check if maven-plugin-tools 3.x works with Maven 4

and complete the table on https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=406620656#Maven4.0.0GAchecklist-Maven4API

@hboutemy

hboutemy commented Mar 27, 2026

Copy link
Copy Markdown
Member Author
[INFO] Maven Plugin Report Plugin ......................... FAILURE [01:11 min]

only reporting is failing for now, everything else is ok

ITs results:

[INFO] -------------------------------------------------
[INFO] Build Summary:
[INFO]   Passed: 1, Failed: 12, Errors: 0, Skipped: 0
[INFO] -------------------------------------------------
[ERROR] The following builds failed:
[ERROR] *  mplugin-191/pom.xml
[ERROR] *  mplugin-319_report-since/pom.xml
[ERROR] *  plugin-report-annotations/pom.xml
[ERROR] *  plugin-info-jdk/pom.xml
[ERROR] *  plugin-report-detect-requirements-history/pom.xml
[ERROR] *  plugin-info-jdk-default-version/pom.xml
[ERROR] *  fix-maven-since-3.x/pom.xml
[ERROR] *  mplugin-394_report-encoding/pom.xml
[ERROR] *  plugin-no-fork-report/pom.xml
[ERROR] *  plugin-report-with-javadoc-links/pom.xml
[ERROR] *  plugin-report/pom.xml
[ERROR] *  plugin-report-requirements-history/pom.xml
[INFO] -------------------------------------------------

11 first failing reporting ITs fail due to file: support in resolver

[DEBUG] Could not obtain transporter factory for local.central (file:///home/herve/.m2/repository, default, releases+snapshots)
org.eclipse.aether.transfer.NoTransporterException: Unsupported transport protocol file
    at org.eclipse.aether.transport.jdk.JdkTransporterFactory.newInstance(JdkTransporterFactory.java:72)
    at org.eclipse.aether.transport.jdk.JdkTransporterFactory.newInstance(JdkTransporterFactory.java:39)
    at org.eclipse.aether.internal.impl.DefaultTransporterProvider.newTransporter(DefaultTransporterProvider.java:70)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector.<init>(BasicRepositoryConnector.java:135)
[DEBUG] Replacing repositories from org.ow2.asm:asm-util:jar:9.9.1
    local.central (file:///home/herve/.m2/repository, default, releases+snapshots)
    central (https://repo.maven.apache.org/maven2, default, releases)
    ow2-snapshot (https://repository.ow2.org/nexus/content/repositories/snapshots, default, snapshots)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory.newInstance(BasicRepositoryConnectorFactory.java:101)
    at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:82)
    at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:521)
    at org.eclipse.aether.util.concurrency.RunnableErrorForwarder.lambda$wrap$0(RunnableErrorForwarder.java:66)
    at org.eclipse.aether.util.concurrency.SmartExecutor$Direct.submit(SmartExecutor.java:56)
    at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolve(DefaultMetadataResolver.java:320)
    at org.eclipse.aether.internal.impl.DefaultMetadataResolver.resolveMetadata(DefaultMetadataResolver.java:149)
    at org.apache.maven.impl.resolver.DefaultVersionResolver.resolveVersion(DefaultVersionResolver.java:165)
    at org.apache.maven.impl.resolver.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:134)
    at org.apache.maven.impl.resolver.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:105)
    at org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate.resolveCachedArtifactDescriptor(DependencyCollectorDelegate.java:484)
    at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.resolveDescriptorForVersion(BfDependencyCollector.java:482)
    at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.lambda$resolveArtifactDescriptorAsync$1(BfDependencyCollector.java:456)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1716)
    at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:803)
    at org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector.lambda$resolveArtifactDescriptorAsync$4(BfDependencyCollector.java:455)
    at org.eclipse.aether.util.concurrency.SmartExecutor$Pooled.lambda$submit$1(SmartExecutor.java:106)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
    at java.util.concurrent.FutureTask.run(FutureTask.java:328)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
    at java.lang.Thread.run(Thread.java:1474)
[DEBUG] Could not obtain transporter factory for local.central (file:///home/herve/.m2/repository, default, releases+snapshots)
org.eclipse.aether.transfer.NoTransporterException: Unsupported transport protocol file
    at org.eclipse.aether.transport.apache.ApacheTransporterFactory.newInstance(ApacheTransporterFactory.java:77)
    at org.eclipse.aether.transport.apache.ApacheTransporterFactory.newInstance(ApacheTransporterFactory.java:38)
    at org.eclipse.aether.internal.impl.DefaultTransporterProvider.newTransporter(DefaultTransporterProvider.java:70)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnector.<init>(BasicRepositoryConnector.java:135)
    at org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory.newInstance(BasicRepositoryConnectorFactory.java:101)
    at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:82)
    at org.eclipse.aether.internal.impl.DefaultMetadataResolver$ResolveTask.run(DefaultMetadataResolver.java:521)

last plugin-report-requirements-history IT fails because of:

Caused by: java.lang.NullPointerException: Cannot invoke "org.codehaus.plexus.configuration.PlexusConfiguration.getChild(String)" because "this.configuration" is null
    at org.apache.maven.plugins.plugin.descriptor.EnhancedPluginDescriptorBuilder.build(EnhancedPluginDescriptorBuilder.java:74)
    at org.apache.maven.plugin.descriptor.PluginDescriptorBuilder.build(PluginDescriptorBuilder.java:66)

@ascheman ascheman left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebased onto current master to resolve the shared-workflow @v4@v5 conflict, then pushed. CI is green against Maven 4.0.0-rc-6 (maven-gh-actions-shared@v5 defaults maven4-version to rc-6, so maven4-enabled: true alone verifies against rc-6). +1

@slachiewicz

Copy link
Copy Markdown
Member

Please add maven version so we can avoid troubles in future with shared action update

Requested by @slachiewicz: pin the Maven 4 version instead of relying on
the maven-gh-actions-shared default, so a future change to the shared
action default maven4-version does not silently change which Maven 4
release this workflow verifies against.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ascheman

Copy link
Copy Markdown

Please add maven version so we can avoid troubles in future with shared action update

Done, @slachiewicz — pinned maven4-version: 4.0.0-rc-6 explicitly in 1a903ed, so a future bump of the shared action's default won't silently change what the 3.x line is verified against. Thanks for the nudge.

@slachiewicz slachiewicz added the github_actions Pull requests that update GitHub Actions code label Aug 10, 2026
@ascheman
ascheman merged commit 78eaed4 into maven-plugin-tools-3.x Aug 10, 2026
21 checks passed
@ascheman
ascheman deleted the maven4-enabled branch August 10, 2026 20:47
@github-actions github-actions Bot added this to the 3.16.0 milestone Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants