[
https://issues.apache.org/jira/browse/MNG-7475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andreas Loew updated MNG-7475:
------------------------------
Description:
Maven 3.8.5 breaks Arquillian ShrinkWrap (and thereby, most if not all use of
Red Hat/JBoss Arquillian) by changing the published public API of class
org.apache.maven.model.profile.activation.FileProfileActivator:
{code:java}
[ERROR]
com.dbenergie.ndm.bnb.business.NutzungsinformationenCreateOrtungsinfoTest Time
elapsed: 0.127 s <<< ERROR!
java.lang.NoSuchMethodError:
'org.apache.maven.model.profile.activation.FileProfileActivator
org.apache.maven.model.profile.activation.FileProfileActivator.setPathTranslator(org.apache.maven.model.path.PathTranslator)'
at
org.jboss.shrinkwrap.resolver.impl.maven.internal.SettingsXmlProfileSelector.<init>(SettingsXmlProfileSelector.java:50)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.getRemoteRepositories(MavenWorkingSessionImpl.java:327)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.resolveDependencies(MavenWorkingSessionImpl.java:199)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.using(MavenStrategyStageBaseImpl.java:71)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:53)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:40)
at
org.arquillian.container.chameleon.controller.Resolver.resolve(Resolver.java:45)
at
org.arquillian.container.chameleon.ContainerLoader.load(ContainerLoader.java:36)
at
org.arquillian.container.chameleon.ChameleonConfiguration.getConfiguredAdapter(ChameleonConfiguration.java:116)
at
org.arquillian.container.chameleon.ChameleonContainer.init(ChameleonContainer.java:81)
at
org.arquillian.container.chameleon.InitiateContainer.initiateChameleon(InitiateContainer.java:69)
at
org.arquillian.container.chameleon.InitiateContainer.setup(InitiateContainer.java:38)
{code}
It seems that method
{code:java}
public FileProfileActivator setPathTranslator( PathTranslator pathTranslator )
{code}
as well as the class of its argument - has been refactored/renamed to
{code:java}
public FileProfileActivator setProfileActivationFilePathInterpolator(
ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator )
{code}
While the new name might be regarded as more stylish and/or even more
appropriate, unfortunately, this results in an incompatible change of a
publicly documented API:
[https://maven.apache.org/ref/3.8.4/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
[https://maven.apache.org/ref/3.8.5/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
Therefore, please revert this change - it clearly breaks some valuable
dependent software (which unfortunately is no longer maintained by RedHat)...
Many thanks in advance! :)
was:
Maven 3.8.5 breaks Arquillian ShrinkWrap (and thereby, most if not all use of
Arquillian) by changing public API of class
org.apache.maven.model.profile.activation.FileProfileActivator:
{code:java}
[ERROR]
com.dbenergie.ndm.bnb.business.NutzungsinformationenCreateOrtungsinfoTest Time
elapsed: 0.127 s <<< ERROR!
java.lang.NoSuchMethodError:
'org.apache.maven.model.profile.activation.FileProfileActivator
org.apache.maven.model.profile.activation.FileProfileActivator.setPathTranslator(org.apache.maven.model.path.PathTranslator)'
at
org.jboss.shrinkwrap.resolver.impl.maven.internal.SettingsXmlProfileSelector.<init>(SettingsXmlProfileSelector.java:50)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.getRemoteRepositories(MavenWorkingSessionImpl.java:327)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.resolveDependencies(MavenWorkingSessionImpl.java:199)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.using(MavenStrategyStageBaseImpl.java:71)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:53)
at
org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:40)
at
org.arquillian.container.chameleon.controller.Resolver.resolve(Resolver.java:45)
at
org.arquillian.container.chameleon.ContainerLoader.load(ContainerLoader.java:36)
at
org.arquillian.container.chameleon.ChameleonConfiguration.getConfiguredAdapter(ChameleonConfiguration.java:116)
at
org.arquillian.container.chameleon.ChameleonContainer.init(ChameleonContainer.java:81)
at
org.arquillian.container.chameleon.InitiateContainer.initiateChameleon(InitiateContainer.java:69)
at
org.arquillian.container.chameleon.InitiateContainer.setup(InitiateContainer.java:38)
{code}
It seems that method
{code:java}
public FileProfileActivator setPathTranslator( PathTranslator pathTranslator )
{code}
as well as the class of its argument - has been refactored/renamed to
{code:java}
public FileProfileActivator setProfileActivationFilePathInterpolator(
ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator )
{code}
While the new name might be regarded as more stylish and/or even more
appropriate, unfortunately, this is an incompatible change of a publicly
documented API:
[https://maven.apache.org/ref/3.8.4/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
[https://maven.apache.org/ref/3.8.5/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
Therefore, please revert this change - it clearly breaks some valuable
dependent software (which unfortunately is no longer maintained by RedHat)...
Many thanks in advance! :)
> ModelBuilder API Change breaks ShrinkWrap: NoSuchMethodError in
> FileProfileActivator.setPathTranslator()
> --------------------------------------------------------------------------------------------------------
>
> Key: MNG-7475
> URL: https://issues.apache.org/jira/browse/MNG-7475
> Project: Maven
> Issue Type: Bug
> Components: General
> Affects Versions: 3.8.5
> Environment: any & deterministically reproducible / proven by public
> API docs
> Reporter: Andreas Loew
> Priority: Major
>
> Maven 3.8.5 breaks Arquillian ShrinkWrap (and thereby, most if not all use of
> Red Hat/JBoss Arquillian) by changing the published public API of class
> org.apache.maven.model.profile.activation.FileProfileActivator:
> {code:java}
> [ERROR]
> com.dbenergie.ndm.bnb.business.NutzungsinformationenCreateOrtungsinfoTest
> Time elapsed: 0.127 s <<< ERROR!
> java.lang.NoSuchMethodError:
> 'org.apache.maven.model.profile.activation.FileProfileActivator
> org.apache.maven.model.profile.activation.FileProfileActivator.setPathTranslator(org.apache.maven.model.path.PathTranslator)'
> at
> org.jboss.shrinkwrap.resolver.impl.maven.internal.SettingsXmlProfileSelector.<init>(SettingsXmlProfileSelector.java:50)
> at
> org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.getRemoteRepositories(MavenWorkingSessionImpl.java:327)
> at
> org.jboss.shrinkwrap.resolver.impl.maven.MavenWorkingSessionImpl.resolveDependencies(MavenWorkingSessionImpl.java:199)
> at
> org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.using(MavenStrategyStageBaseImpl.java:71)
> at
> org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:53)
> at
> org.jboss.shrinkwrap.resolver.impl.maven.MavenStrategyStageBaseImpl.withTransitivity(MavenStrategyStageBaseImpl.java:40)
> at
> org.arquillian.container.chameleon.controller.Resolver.resolve(Resolver.java:45)
> at
> org.arquillian.container.chameleon.ContainerLoader.load(ContainerLoader.java:36)
> at
> org.arquillian.container.chameleon.ChameleonConfiguration.getConfiguredAdapter(ChameleonConfiguration.java:116)
> at
> org.arquillian.container.chameleon.ChameleonContainer.init(ChameleonContainer.java:81)
> at
> org.arquillian.container.chameleon.InitiateContainer.initiateChameleon(InitiateContainer.java:69)
> at
> org.arquillian.container.chameleon.InitiateContainer.setup(InitiateContainer.java:38)
> {code}
> It seems that method
> {code:java}
> public FileProfileActivator setPathTranslator( PathTranslator pathTranslator
> ) {code}
> as well as the class of its argument - has been refactored/renamed to
> {code:java}
> public FileProfileActivator setProfileActivationFilePathInterpolator(
> ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator )
> {code}
> While the new name might be regarded as more stylish and/or even more
> appropriate, unfortunately, this results in an incompatible change of a
> publicly documented API:
> [https://maven.apache.org/ref/3.8.4/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
> [https://maven.apache.org/ref/3.8.5/maven-model-builder/apidocs/org/apache/maven/model/profile/activation/FileProfileActivator.html]
> Therefore, please revert this change - it clearly breaks some valuable
> dependent software (which unfortunately is no longer maintained by RedHat)...
> Many thanks in advance! :)
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)