Andreas Loew created MNG-7475:
---------------------------------

             Summary: 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


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)

Reply via email to