apache / apache/maven-changes-plugin
[MCHANGES-378] Github report does not use maven proxy settings
- Dominant language
- Java
- Stars
- 15
- Forks
- 22
- Avg merge
- 8h 1m
- Merged PRs (30d)
- 3
Description
**[Luc Maisonobe](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=luc)** opened **[MCHANGES-378](https://issues.apache.org/jira/browse/MCHANGES-378?redirect=false)** and commented
When attempting to run mvn:site on a project that uses GitHub as its SCM, maven-changes-plugin gets called to create reports, and it always attempts to generate github-report (even despite reportSet contains only changes-report and there is are changes.xml files in the various project modules.
An attempt to connect directly to api.github.com on port 443 is then done, which is forbidden by an authenticating proxy. This happens despite the proxy settings are correct in settings.xml (and are used by other plugins).
This looks similar to MCHANGES-231, but affects Github instead of JIRA.
When using the -X switch to get some debug info, it seems the lowest level exception is a java.net.SocketException (Connection Reset). The stack trace is:
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:209)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at org.eclipse.egit.github.core.client.GitHubClient.get(GitHubClient.java:733)
at org.eclipse.egit.github.core.client.PageIterator.next(PageIterator.java:173)
at org.eclipse.egit.github.core.service.GitHubService.getAll(GitHubService.java:151)
at org.eclipse.egit.github.core.service.IssueService.getIssues(IssueService.java:454)
at org.apache.maven.plugin.github.GitHubDownloader.getIssueList(GitHubDownloader.java:191)
at org.apache.maven.plugin.github.GitHubMojo.executeReport(GitHubMojo.java:184)
So the connections is attempted by some code from egit. I was not able to find if the problem is a wrong usage of egit from maven changes plugin or a bug in egit itself.
---
**Affects:** 2.12.1
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with org.apache.maven.plugin.github.GitHubDownloader.getIssueList and GitHubMojo.executeReport, then inspect how the plugin passes settings.xml proxy configuration to the EGit GitHub client. Reproduce mvn:site for a GitHub SCM project behind an authenticating proxy; done means the GitHub report uses the configured proxy instead of connecting directly to api.github.com.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100