[ https://issues.apache.org/jira/browse/MNG-7475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17536543#comment-17536543 ]
Andreas Loew commented on MNG-7475: ----------------------------------- [~cstamas] (1) Regarding the Citrus Framework sample - sorry, I hadn't tried this myself before - I was just trying to point you to a project setup that on a first glance looked similar to me. The fact that this project also does no longer work, unfortunately show the flakiness of the Arquillian dependencies setup just one more time... My recommendation would be that you don't try to invest any more time into this, but rather wait for the results of my investigation over the weekend in our real-life scenario... ;) (2) While I will be doing extensive research over the weekend (sorry, my current job workload does not allow me to do it during the week,,,), I would like to ask you two questions to better understand which kind of Maven dependency is relevant. We are using Arquillian Chameleon to run either embedded or managed JBoss 7.4 instances (getting one of them to run fine is sufficient) from the maven-failsafe plugin. With regards to Maven dependencies, we don't set any explicit dependency to Maven 3.8.5 in any of our POMs, so either this is a result of importing another POM, or the maven-failsafe-plugin uses the maven-model-builder classes from the Maven version that is used to run the whole build. So my questions are: (2a) Which Maven (including dependencies such as maven-model-builder) version is used by the *maven-failsafe-plugin* "by {*}default{*}"? How is this version determined if nothing else is specified, and can we specify/override this version by making the plugin explicitly depend on a particular version of maven-model-builder? (2b) When we use the "managed" instead of the "embedded" type, then Arquillian itself starts the JBoss instance in a separate JVM, but the packaging of the WAR file containing Arquillian tests with ShrinkWrap is AFAICT - in this scenario as well - still done {*}in the original JVM running the failsafe plugin{*}. Am I therefore correctly assuming that I need to concentrate on getting the maven-failsafe-plugin use a custom 3.8.4 version of Maven, and not make Arquillian container JBoss dependencies for the separate JVM use this custom version? Many thanks for clarification - and as stated, stay tuned, I will be trying to find my way through Arquillian's "dependency hell" over the weekend... And of course have a great weekend everybody! :) > [REGRESSION] 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 > Assignee: Tamás Cservenák > Priority: Major > Fix For: 3.8.6 > > > Maven 3.8.5 breaks [Arquillian > ShrinkWrap|https://arquillian.org/modules/shrinkwrap-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)