You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/09/11 13:27:00 UTC

[jira] [Commented] (MENFORCER-281) RequirePluginVersions broken with "CI Friendly versions"

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

ASF GitHub Bot commented on MENFORCER-281:
------------------------------------------

GitHub user jtnord opened a pull request:

    https://github.com/apache/maven-enforcer/pull/28

    [MENFORCER-281] added IT to show the issue.

    Added an IT to demonstrate [MENFORCER-281](https://issues.apache.org/jira/browse/MENFORCER-281)
    
    Fails with the following which is slightly different to what is observed in the real project, but is at least a starter for 10
    
    ```
    [ERROR] /org/apache/maven/its/enforcer/menforcer281-parent/$%7Brevision%7D/menforcer281-parent-$%7Brevision%7D.pom
    java.lang.IllegalArgumentException: Illegal character in path at index 110: https://XXXXX/org/apache/maven/its/enforcer/m
    enforcer281-parent/${revision}/maven-metadata.xml
            at java.net.URI.create(URI.java:852)
            at org.apache.maven.wagon.providers.http.httpclient.client.methods.HttpGet.<init>(HttpGet.java:69)
            at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:972)
            at org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:962)
            at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:126)
            at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
            at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
            at org.apache.maven.repository.legacy.DefaultWagonManager.getRemoteFile(DefaultWagonManager.java:413)
            at org.apache.maven.repository.legacy.DefaultWagonManager.getArtifactMetadata(DefaultWagonManager.java:233)
            at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.resolve(DefaultRepositoryMetadataManager.java:132)
            at org.apache.maven.artifact.repository.metadata.DefaultRepositoryMetadataManager.resolve(DefaultRepositoryMetadataManager.java:71)
            at org.codehaus.mojo.mrm.maven.ProxyArtifactStore.getMetadata(ProxyArtifactStore.java:480)
            at org.codehaus.mojo.mrm.maven.ProxyArtifactStore.getMetadataLastModified(ProxyArtifactStore.java:536)
            at org.codehaus.mojo.mrm.impl.maven.CompositeArtifactStore.getMetadataLastModified(CompositeArtifactStore.java:339)
            at org.codehaus.mojo.mrm.impl.maven.ArtifactStoreFileSystem.listEntries(ArtifactStoreFileSystem.java:147)
            at org.codehaus.mojo.mrm.impl.digest.AutoDigestFileSystem.listEntries(AutoDigestFileSystem.java:100)
            at org.codehaus.mojo.mrm.api.BaseFileSystem.get(BaseFileSystem.java:89)
            at org.codehaus.mojo.mrm.impl.digest.AutoDigestFileSystem.get(AutoDigestFileSystem.java:185)
            at org.codehaus.mojo.mrm.servlet.FileSystemServlet.doGet(FileSystemServlet.java:157)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
            at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
            at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
            at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
            at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
            at org.mortbay.jetty.Server.handle(Server.java:313)
            at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
            at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
            at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
            at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
            at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
            at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)
            at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
    Caused by: java.net.URISyntaxException: Illegal character in path at index 110: https://XXXXXX/org/apache/maven/its/enforc
    er/menforcer281-parent/${revision}/maven-metadata.xml
            at java.net.URI$Parser.fail(URI.java:2848)
            at java.net.URI$Parser.checkChars(URI.java:3021)
            at java.net.URI$Parser.parseHierarchical(URI.java:3105)
            at java.net.URI$Parser.parse(URI.java:3053)
            at java.net.URI.<init>(URI.java:588)
            at java.net.URI.create(URI.java:850)
            ... 33 more
    [INFO] ..FAILED (5.7 s)
    ```

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jtnord/maven-enforcer MENFORCER-281

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/maven-enforcer/pull/28.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #28
    
----
commit f68f7412278e3a2740445732323db31ef4c3ceaa
Author: James Nord <jn...@cloudbees.com>
Date:   2017-09-11T13:20:18Z

    [MENFORCER-281] added IT to show the issue.

----


> RequirePluginVersions broken with "CI Friendly versions"
> --------------------------------------------------------
>
>                 Key: MENFORCER-281
>                 URL: https://issues.apache.org/jira/browse/MENFORCER-281
>             Project: Maven Enforcer Plugin
>          Issue Type: Bug
>          Components: Standard Rules
>    Affects Versions: 1.4.1, 3.0.0-M1
>            Reporter: James Nord
>            Priority: Critical
>
> Maven [3.5.0|https://maven.apache.org/docs/3.5.0/release-notes.html#Overview_about_the_changes] [introduced CI friendly versions|https://maven.apache.org/maven-ci-friendly.html].
> However when used with [multi module project|https://maven.apache.org/maven-ci-friendly.html#Multi_Module_Setup] the enforcer fails the build as it can not resolve the parent.
> The bug is that the parent resolution of a module in the reactor is attempting to use the untransposed version.
> e.g.
> {noformat}
> INFO] --- maven-enforcer-plugin:3.0.0-M1:enforce (display-info) @ sub-module ---
> [WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequirePluginVersions failed with message:
> Failure to find com.acme.product:parent:pom:0.9.8-${revision}SNAPSHOT in https://repo.acme.com/content/groups/all was cached in the local repository, resolution will not be reattempted until the update interval of acme-internal has elapsed or updates are forced
>   com.acme.product:parent:pom:0.9.8-${revision}SNAPSHOT
> from the specified remote repositories:
>   acme-internal (https://repo.acme.com/content/groups/all, releases=true, snapshots=true)
> {noformat}
> to reproduce create a new multi module project as per the linked page above.  Add the enforcer plugin and rule to the build
> run {{mvn -Drevision=1.2.3-SNAPSHOT}}  and watch the build fail.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)