Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] Misleading Maven "Settings Reference" documentation when using Tycho plugin

Hello,

I have questions concerning the Proxies section of the Maven "Settings
Reference" documentation, in conjunction with the use of the Tycho
plugin.

I use the proxy element of the settings.xml file to be able to
download from P2 repositories.

The Proxies section of "Settings Reference" documentation
(https://maven.apache.org/settings.html) currently states the
following:

    active: true if this proxy is active. This is useful for declaring
a set of proxies, but only one may be active at a time.
    protocol, host, port: The protocol://host:port of the proxy,
separated into discrete elements.

So my first understanding was that I should set one proxy element to
connect to both "http" and "https" remote locations through one proxy
(since "only one may be active at a time").
So, I configured as stated ("protocol, host, port: The
protocol://host:port of the proxy, separated into discrete elements")
my proxy XML element like this:
<proxies>
  <proxy>
    <id>proxy-id</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxy-hostname</host>
    <port>8080</port>
    <nonProxyHost>localhost|127.0.0.1</nonProxyHost>
  </proxy>
</proxies>

But, using this configuration I wasn't able to download from locations
using the "https" protocol.

Then, I switched to this configuration :
<proxies>
  <proxy>
    <id>http-proxy-id</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxy-hostname</host>
    <port>8080</port>
    <nonProxyHost>localhost|127.0.0.1</nonProxyHost>
  </proxy>
  <proxy>
    <id>https-proxy-id</id>
    <active>true</active>
    <protocol>https</protocol>
    <host>proxy-hostname</host>
    <port>8080</port>
    <nonProxyHost>localhost|127.0.0.1</nonProxyHost>
  </proxy>
</proxies>

But, following what says the documentation, it should not work since:
1. I have two active proxy configurations.
2. Maven could try to connect to the same proxy host / port using two
different protocols.

Nevertheless, I am now able to download from "http" and "https" remote
P2 repositories.

>From what, I deducted the following, at least when using the Tycho
Maven plugin contradicting the official Maven documentation:
1. The protocol XML tag seems to not be intended to specify the
protocol of the proxy, but the protocol part of the remote location
URI (i.e. http://www.example.com/ vs. https://www.example.com/) and
select the adequate proxy configuration. (Which is the default
behavior of the http_proxy/https_proxy/no_proxy environment variables
on many OSes.)
2. Two proxy elements can be active at a time: one with an "http"
protocol and another with an "https" protocol.

If I’m not wrong, here are my questions:
1. Why doesn't Tycho follow the "Setting Reference" Maven
documentation explanations?
2. Then, is there a page on eclipse.org explaining the behavior of the
Tycho plugin regarding the proxy configuration of the Maven
settings.xml file?
3. Finally, how to configure proxies, if one uses one Maven
settings.xml file both for classic Maven builds and for Tycho builds?

Kind Regards,

Damien Garrido


Back to the top