Skip to content

[MNG-8728] Bump Eclipse Sisu from 0.9.0.M3 to 0.9.0.M4#2359

Merged
cstamas merged 2 commits intoapache:maven-3.9.xfrom
cstamas:maven-3.9.x-MNG-8728
May 20, 2025
Merged

[MNG-8728] Bump Eclipse Sisu from 0.9.0.M3 to 0.9.0.M4#2359
cstamas merged 2 commits intoapache:maven-3.9.xfrom
cstamas:maven-3.9.x-MNG-8728

Conversation

@cstamas
Copy link
Copy Markdown
Member

@cstamas cstamas commented May 20, 2025

This ports the master changes to 3.9.x branch.


https://issues.apache.org/jira/browse/MNG-8728

@cstamas cstamas added this to the 3.9.10 milestone May 20, 2025
@cstamas cstamas requested a review from slawekjaranowski May 20, 2025 13:48
@cstamas cstamas self-assigned this May 20, 2025
@cstamas cstamas marked this pull request as ready for review May 20, 2025 14:03
@cstamas cstamas merged commit dee00c1 into apache:maven-3.9.x May 20, 2025
12 checks passed
@cstamas cstamas deleted the maven-3.9.x-MNG-8728 branch May 20, 2025 14:15
@pzygielo
Copy link
Copy Markdown
Contributor

pzygielo commented Jun 6, 2025

Not sure about details yet, but with this change, my plugin that does extends AbstractMavenReport, when built with 3.9.10 dependencies, and executed with maven 3.9.10 breaks with:

Error injecting: org.apache.maven.doxia.tools.DefaultSiteTool
java.lang.NoClassDefFoundError: org/codehaus/plexus/util/xml/XmlStreamReader
    at java.lang.Class.getDeclaredConstructors0 (Native Method)
    at java.lang.Class.privateGetDeclaredConstructors (Class.java:3549)
    at java.lang.Class.getDeclaredConstructors (Class.java:2727)
    at com.google.inject.spi.InjectionPoint.forConstructorOf (InjectionPoint.java:299)
    at com.google.inject.internal.ConstructorBindingImpl.create (ConstructorBindingImpl.java:121)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding (InjectorImpl.java:715)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding (InjectorImpl.java:941)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive (InjectorImpl.java:863)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding (InjectorImpl.java:300)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow (InjectorImpl.java:223)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow (InjectorImpl.java:1093)
    at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1122)
    at com.google.inject.internal.InjectorImpl.getProvider (InjectorImpl.java:1087)
    at com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1139)
    at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:50)
    at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:86)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:57)
    at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:67)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:109)
    at org.eclipse.sisu.bean.BeanScheduler$CycleActivator.onProvision (BeanScheduler.java:232)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:117)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:66)
    at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:62)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:47)
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get (ProviderToInternalFactoryAdapter.java:40)
    at com.google.inject.internal.SingletonScope$1.get (SingletonScope.java:169)
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get (InternalFactoryToProviderAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1101)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:83)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:53)
    at org.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get (PlexusRequirements.java:252)
    at org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty (ProvidedPropertyBinding.java:50)
    at org.eclipse.sisu.bean.BeanInjector.injectMembers (BeanInjector.java:54)
    at com.google.inject.internal.MembersInjectorImpl.injectMembers (MembersInjectorImpl.java:159)
    at com.google.inject.internal.ConstructorInjector.provision (ConstructorInjector.java:124)
    at com.google.inject.internal.ConstructorInjector.access$000 (ConstructorInjector.java:33)
    at com.google.inject.internal.ConstructorInjector$1.call (ConstructorInjector.java:98)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:109)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:124)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:66)
    at com.google.inject.internal.ConstructorInjector.construct (ConstructorInjector.java:93)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get (ConstructorBindingImpl.java:300)
    at com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1101)
    at com.google.inject.internal.InjectorImpl.getInstance (InjectorImpl.java:1139)
    at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:50)
    at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:86)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:57)
    at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:67)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:109)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:124)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:66)
    at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:62)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:47)
    at com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1101)
    at org.eclipse.sisu.inject.Guice4$2.get (Guice4.java:235)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:83)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:53)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:267)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:259)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:491)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:114)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)

while it works fine built with 3.9.9 and executed with 3.9.9.

@slawekjaranowski
Copy link
Copy Markdown
Member

@pzygielo please create a new issue with it

I think that plexus-xml is missing in your plugin ...
I need a investigate it

@pzygielo
Copy link
Copy Markdown
Contributor

pzygielo commented Jun 6, 2025

Indeed, here is tree diff:

< [INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M3:provided
< [INFO] |  |  \- org.codehaus.plexus:plexus-xml:jar:4.1.0:provided
< [INFO] |  |     \- org.apache.maven:maven-xml:jar:4.0.0-rc-3:provided
< [INFO] |  |        +- org.apache.maven:maven-api-xml:jar:4.0.0-rc-3:provided
< [INFO] |  |        |  \- org.apache.maven:maven-api-annotations:jar:4.0.0-rc-3:provided
< [INFO] |  |        +- com.fasterxml.woodstox:woodstox-core:jar:7.1.0:provided
< [INFO] |  |        \- org.codehaus.woodstox:stax2-api:jar:4.2.2:provided
> [INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.9.0.M4:provided
< [INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M3:provided
< [INFO] |  +- com.google.inject:guice:jar:5.1.0:provided
> [INFO] |  +- org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.9.0.M4:provided
> [INFO] |  +- org.ow2.asm:asm:jar:9.8:provided
> [INFO] |  +- com.google.inject:guice:jar:classes:5.1.0:provided

@pzygielo
Copy link
Copy Markdown
Contributor

pzygielo commented Jun 6, 2025

Unclear - my plugin is not using plexus-xml directly. Should I be bothered to add it as dependency? I see maven-surefire-report-plugin, maven-pmd-plugin, maven-site-plugin - they all explicitly do. Can't see anything about that in https://maven.apache.org/guides/plugin/guide-java-report-plugin-development.html.

@cstamas
Copy link
Copy Markdown
Member Author

cstamas commented Jun 6, 2025

Sisu M3 (by mistake) did include plexus-xml, so if you depended on it, you ended up with it. Sisu M4 does NOT bring it in.

Also, plexus-utils:

  • 3.x (latest 3.6.0) does NOT need plexus-xml
  • 4.x must have plexus-xml, 3.x if you want Maven 3 compat, or 4.x if you want Maven 4 compat.

@pzygielo
Copy link
Copy Markdown
Contributor

pzygielo commented Jun 6, 2025

Also, plexus-utils:

* 3.x (latest 3.6.0) does NOT need plexus-xml

That one.

Thank you all for checking and advices. I fixed my fault of using newer PU (it just happened to work previously). Downgraded and all is fine now.

@jira-importer
Copy link
Copy Markdown

Resolve #9570

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants