You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (Jira)" <ji...@apache.org> on 2020/12/02 21:16:00 UTC

[jira] [Commented] (MNG-5639) Support resolution of Import Scope POMs from Repo that contains a ${parameter}

    [ https://issues.apache.org/jira/browse/MNG-5639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242726#comment-17242726 ] 

Robert Scholte commented on MNG-5639:
-------------------------------------

To me repositories in the pom should not contain a property. Properties are inherited from parent, but the parent might need the repository to be resolved. Current behavior might imply that a version could have different values, depending on the step of effective model resolution, that doesn't make sense to me. And repositories are not something dynamic, you should be able to define the repository upfront. 
In conclusion I guess we should mark this as fixed for the range of versions, but also revert it for Maven 4 with a new ticket.

> Support resolution of Import Scope POMs from Repo that contains a ${parameter}
> ------------------------------------------------------------------------------
>
>                 Key: MNG-5639
>                 URL: https://issues.apache.org/jira/browse/MNG-5639
>             Project: Maven
>          Issue Type: Improvement
>          Components: Dependencies
>    Affects Versions: 3.2.1
>            Reporter: Mark Ingram
>            Priority: Minor
>             Fix For: 4.0.x-candidate
>
>         Attachments: pom.xml
>
>
> Running mvn help:effective-pom on the attached POM:
> {noformat}[ERROR]   The project com.ming:maven-failing-import-pom-example:1.0.0-SNAPSHOT (C:\wip\scratch-dev\maven-import-dependency-management\pom.xml) has 1 error
> [ERROR]     Non-resolvable import POM: Could not transfer artifact org.springframework:spring-framework-bom:pom:4.0.0.R2 from/to spring-milestones (${spring.url}): No connector available to access repository spring-milestones (${spring.url}) of type default using the available factories WagonRepositoryConnectorFactory @ line 20, column 25 -> Help 2]{noformat}
> mvn help:effective-pom -Prepo-will-succeed works as expected.
> Note that prior to attempting the failing resolution, the full project POM model has successfully been resolved. So the correct value for the property is known and could in theory be substituted into the repository URL before the failing import pom resolve attempt.
> Will create a Github pull request with one possible solution to this - it includes a JUnit test case.
> Note: agreed this is a contrived example. To try and give an idea of the actual use case - several development streams are setup with individual sandboxed Nexus repository holding specific version of several shared components. The repository configuration uses the pattern $\{nexus.baseurl}/content/groups/$\{stream.name} with the properties set in settings.xml file. 
> One workaround would be to create profiles for every work stream that explicitly list the full repository URL, even then the above feature would be nice to allow the $\{nexus.baseurl} to avoid repeating that part.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)