apache / apache/maven-changes-plugin

[MCHANGES-378] Github report does not use maven proxy settings

Open
#248 10 comments 0 reactions 0 assignees View on GitHub
bug priority:major
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.