[ 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 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! :) 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 > 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! :) > -- This message was sent by Atlassian Jira (v8.20.7#820007)