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)